Unity 6.3
0 онлайн 85 гостей 3 в системе
Вход

Настройка коллайдеров Rigidbody

Коллайдеры определяют физические границы Rigidbody. Чтобы позволить столкновения, вы должны добавить Коллайдеры к GameObject вместе с Rigidbody.

Если один Rigidbody столкнется с другим, движок физики рассчитывает столкновение только в том случае, если к обоим GameObjects прикреплен Collider. Если у одного GameObject есть Rigidbody, но нет Collider, он проходит через другой GameObjects, и Unity не включает его в расчеты столкновения.

Коллайдеры определяют физические границы Rigidbody
Коллайдеры определяют физические границы Rigidbody

Относительная масса каждого Rigidbody в столкновении определяет, как они реагируют, когда они сталкиваются друг с другом.

См. Столкновение для дополнительной информации.

Геометрия выпуклого и вогнутого коллайдера

Физическая система PhysX требует, чтобы любой коллайдер на некинематическом Rigidbody был выпуклым, а не вогнутым. Все примитивные формы в Unity выпуклые. Однако Mesh Collider по умолчанию считается вогнутым.

Если вы применяете сетку по умолчанию Collider к некинематической Rigidbody, Unity вызовет ошибку во время выполнения. Чтобы убедиться, что ваша некинематическая Rigidbody получает силы, основанные на физике, вам нужно дать указание Unity сделать сетку Collider выпуклой. Для этого включите свойство Выпуклость в сетке Collider. Когда включено свойство Выпуклость, Unity автоматически рассчитывает выпуклую форму коллайдера (называемую корпусом) на основе ассоциированной сетки. Однако, поскольку выпуклый корпус сетки является только приближением первоначальной формы, это может привести к неточной симуляции.

Для более точного моделирования столкновения можно использовать один из следующих подходов:

  • Используйте инструмент DCC для разделения сетки на несколько частей, так что когда Unity рассчитывает их выпуклые корпуса, они лучше представляют общую форму.
  • Используйте несколько примитивных коллайдеров, чтобы вручную построить Соединение Collider, имеющее ту же форму, что и сетка.
  • Используйте автоматические инструменты, вычисляющие выпуклое приближение любого меша, например V-HACD в Unity.

Если Rigidbody является кинематическим (то есть, он не получает никаких сил, основанных на физике), вы можете применить к нему любой коллайдер.