Излучение постоянной силы от объекта (Механик воздуходувки) C # - PullRequest
0 голосов
/ 17 сентября 2018

Я как раз собираюсь заняться новым проектом, в котором основной игровой механик покрывает мертвые тела, убитые мафией, листьями, используя воздуходувку.

Вам нужно покрывать их достаточно хорошо, чтобы не привлекать внимание, когдаполиция допрашивает вас.

Единственная проблема, которую я вижу в этом проекте, - это как создать механику для удаления листьев.Вдобавок ко всему, я могу подумать о прикреплении пустого объекта к воздуходувке с листом, который имеет константу [rigibody.AddExplosiveForce], которая обрабатывает щелчок мыши, но это так.

Что я должен смотреть и на чтобыло бы логичным способом создать это?Вам не нужно писать весь код для меня, я просто не хочу знать, какие инструменты или API сценариев мне нужно учитывать.

Спасибо:)

1 Ответ

0 голосов
/ 17 сентября 2018

Вы можете попробовать непрерывное добавление силы, используя Rigidbody.AddForceAtPosition(). Или рассчитайте маршрут и попробуйте Rigidbody.AddForce().

В основном Rigidbody.AddExplosionForce работает как Rigidbody.AddForce, но использует сферу для вычисления Vector3. Если вам нужно излучать его непрерывно, вы должны просто использовать его в FixedUpdate() и список объектов, которые вы можете получить, используя Raycasts или простой Trigger Collider, например Capsule Collider.

Leaf Blower

Вы можете использовать коллайдерную капсулу следующим образом ↑↑↑. А в OnTriggerEnter или OnCollisionEnter:

 private void OnCollisionEnter(Collider other) {
     if (other.gameobject.tag != "leaf") return;
     // Your AddForce here. 
     // Also you can get exact point of collsion by using
     // other.contacts and use this as AddForce argument.
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...