OnTriggerEnter: он называется в обоих объектах коллайдера?

У меня есть 2 объекта: игрок и бонусный объект.

В обоих сценариях есть сценарий «OnTriggerEnter».

В Player OnTrigger I:   Возьмите бонус и добавьте его моему игроку (здоровье, очки, боеприпасы)

В бонусе OnTrigger I:   Воспроизведение звука (при его использовании), Play Particle System и т. Д.

Но, похоже, это называется только Player OnTriggerEnter ... Почему?

В Unity, если у меня OnCollision /OnTrigger введите оба объекта, какое событие вызывается? И то и другое ?

Спасибо

4 голоса | спросил stighy 12 TueEurope/Moscow2017-12-12T00:12:26+03:00Europe/Moscow12bEurope/MoscowTue, 12 Dec 2017 00:12:26 +0300 2017, 00:12:26

1 ответ


1

Чтобы запустить onTrigger, вам нужно иметь коллайдеры в обоих игровых объектах, по крайней мере с одним из них с жестким корпусом и по крайней мере с одним из них с isTrigger, установленным в true.

Если это так, OnTriggerEnter вызывается для всех игровых объектов, если у вас есть функция OnTriggerEnter(), написанная в сценариях, прикрепленных к их.

Это не имеет значения, если у одного есть твердое тело, или у которого есть isTrigger, установленный в true. Вы можете смешивать и сопоставлять настройки любым способом.

У вас также может быть оба объекта с isTrigger se равными true. Если у вас возникли проблемы, у вас может возникнуть ошибка в вызове функции на бонусный объект.

ответил Fabio S. 13 Jpm1000000pmSat, 13 Jan 2018 14:28:47 +030018 2018, 14:28:47

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132