Задать вопрос
@fridriekh
Фулл-тайм эникей

Почему не всегда срабатывают OnTriggerEnter(), OnTriggerStay() и OnTriggerExit()?

Я не могу добиться стабильного срабатывания триггеров

Пожалуйста, подскажите, что я делаю не так

*тут была ссылка на гугло-диск* (zip-архив с проектом 4 мб, 25 мб распакованный)
  • Вопрос задан
  • 1290 просмотров
Подписаться 1 Оценить 2 комментария
Помогут разобраться в теме Все курсы
  • OTUS
    C# Developer. Professional
    6 месяцев
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 1
    1 неделя
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 2
    1 неделя
    Далее
Решения вопроса 1
BasmanovDaniil
@BasmanovDaniil
Геймдизайнер-телепат
Подозреваю, что прежде всего проблема в огромных размерах игрового мира, ваш радар еле-еле в экран влезает, юнити на таком масштабе плохо работает. Во-вторых имеет смысл в настройках Rigidbody поменять Collision Detection на Continuous или Continuous Dynamic, но учтите, что MeshCollider с такими настройками работать не умеет, так что его придётся заменить на сборный коллайдер из боксов и капсул. На худой конец можете триггеры заменить на ручной вызов Rigidbody.SweepTestAll, возможно, результат будет лучше.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
GavriKos
@GavriKos Куратор тега Unity
Микропетпроджект - домашнее облако homeCloud
Качать архив с неизвестным содержимым? No.

А так, вангану. У вас сильно большая скорость объектов. Физика работает в FixedUpdate, и может банально не успеть детекнуть коллизию. Или уменьшайте скорость, или увеличьте частоту FixedUpdate, или не используйте физику.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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