Unity 3D. Как исправить проблему? Куб просто проходит сквозь препятствия на небольшой скорости (коллайдеры настроены, слои дефолт). - вопрос №5446392

Уже пару недель не могу решить проблему. Куб просто проходит сквозь препятствия, при чём он не на такой огромной скорости, чтобы за кадр просто пролететь сквозь препятствие, он просто вдавливается и просачивается. Это стало происходить после изменения скрипта PlayerMovement, видимо, что куб просто слишком сильно давит в препятствие, и проходит насквозь. Я пробовал делать скрипт, который выталкивает куб из стены, который обнуляет force, изменял материал, его упругость, но ничего из этого не помогло, не давало даже малейшего результата.
24.03.24
1 ответ

Ответы

Эксперт месяца

Возможно, проблема связана с тем, что вы используете Discrete Collision Detection вместо Continuous. Discrete Collision Detection может пропустить столкновения при высоких скоростях или с маленькими объектами. Попробуйте следующее:

  1. Переключите Collision Detection на Rigidbody вашего куба на Continuous или Continuous Dynamic. Continuous Dynamic используется для объектов, которые активно двигаются, в то время как Continuous используется для статических объектов, которые могут взаимодействовать с активно двигающимися объектами.

  2. Если это не помогает, попробуйте увеличить Fixed Timestep в настройках Time Manager. Это увеличит частоту физических обновлений и может помочь предотвратить пропуск столкновений. Однако будьте осторожны, поскольку это также может повлиять на производительность.

  3. Если ни один из этих методов не работает, возможно, вам придется рассмотреть использование Raycasting для обнаружения столкновений вместо стандартных коллайдеров. Это может быть более сложным решением, но оно дает больше контроля над обнаружением столкновений.

Надеюсь, это поможет! 

25.03.24

Глеб Черняк

Сейчас на сайте
Читать ответы

Регина

Сейчас на сайте
Читать ответы

Олег Николаевич

Читать ответы
Посмотреть всех экспертов из раздела Технологии
Пользуйтесь нашим приложением Доступно на Google Play Загрузите в App Store