Взаимодействие между типами коллайдеров
Следующая таблица матрицы столкновений описывает, какие сообщения событий генерирует Unity на основе конфигурации каждого коллайдера в паре столкновений:
| Collider типы | Статический коллайдер | Динамический коллайдер | Кинематический коллайдер | Статический коллайдер | Динамический триггерный коллайдер | Кинематический триггерный коллайдер |
|---|---|---|---|---|---|---|
| Статический коллайдер | Сообщение о событии столкновения не отправлено | Выявление столкновений и отправка сообщений о столкновениях | Сообщение о событии столкновения не отправлено | Сообщение о событии столкновения не отправлено | Триггерные сообщения, отправленные при столкновении | Триггерные сообщения, отправленные при столкновении |
| Динамический коллайдер | Выявление столкновений и отправка сообщений о столкновениях | Выявление столкновений и отправка сообщений о столкновениях | Выявление столкновений и отправка сообщений о столкновениях | Триггерные сообщения, отправленные при столкновении | Триггерные сообщения, отправленные при столкновении | Триггерные сообщения, отправленные при столкновении |
| Кинематический коллайдер | Сообщение о событии столкновения не отправлено | Выявление столкновений и отправка сообщений о столкновениях | Сообщение о событии столкновения не отправлено | Триггерные сообщения, отправленные при столкновении | Триггерные сообщения, отправленные при столкновении | Триггерные сообщения, отправленные при столкновении |
| Статический коллайдер | Сообщение о событии столкновения не отправлено | Триггерные сообщения, отправленные при столкновении | Триггерные сообщения, отправленные при столкновении | Сообщение о событии столкновения не отправлено | Триггерные сообщения, отправленные при столкновении | Триггерные сообщения, отправленные при столкновении |
| Динамический триггерный коллайдер | Триггерные сообщения, отправленные при столкновении | Триггерные сообщения, отправленные при столкновении | Триггерные сообщения, отправленные при столкновении | Триггерные сообщения, отправленные при столкновении | Триггерные сообщения, отправленные при столкновении | Триггерные сообщения, отправленные при столкновении |
| Кинематический триггерный коллайдер | Триггерные сообщения, отправленные при столкновении | Триггерные сообщения, отправленные при столкновении | Триггерные сообщения, отправленные при столкновении | Триггерные сообщения, отправленные при столкновении | Триггерные сообщения, отправленные при столкновении | Триггерные сообщения, отправленные при столкновении |
Столкновение генерирует сообщения об обнаружении столкновения
Когда пара коллайдеров вступает в контакт, они генерируют сообщения об обнаружении столкновения, если выполнены оба следующих условия:
- Существует по крайней мере один динамический коллайдер.
- Другой коллайдер — статический, кинематический или ещё один динамический.
Триггерные коллайдеры не генерируют сообщения об обнаружении столкновений.
Unity прикладывает физические силы только к тем GameObject-коллайдерам, у которых есть физическое тело (Rigidbody или ArticulationBody). Когда коллайдер с физическим телом сталкивается со статическим коллайдером, в результате столкновения меняется поведение только первого — например, он может отскочить или замедлиться.
Коллизия генерирует триггерные сообщения
Сообщения триггера появляются в следующих случаях:
- Динамический или кинематический коллайдер с триггером сталкивается с коллайдером любого типа.
- Статический триггерный коллайдер сталкивается с любым динамическим или кинематическим коллайдером.