Создание сложных коллайдеров
Коллайдер в Unity — это компонент, который представляет собой невидимые физические «границы» объекта. Они могут не совпадать с визуальным отображение объекта.
Коллайдеры задают границы объектов, которые используются при расчёте физики. Например, если кубик лежит на столе, то и куб, и стол имеют физические границы, поэтому не проходят сквозь друг друга.
Unity поддерживает разнообразные формы коллайдеров:
- BoxCollider — форма прямоугольного параллелепипеда;
- SphereCollider — сфера;
- CapsuleCollider — капсула (математически, сфероид или эллипсоид вращения);
- MeshCollider — индивидуальная форма 3Д-меша, соответствующая форме самого меша;
Подробнее о типах коллайдеров и их настройке вы можете прочитать в документации Unity
Сложность коллайдера напрямую влияет на производительность вашего проекта при расчете физических столкновений.
В целях оптимизации проекта можно заменять коллайдеры образованные треугольниками (Mesh Collider) на коллайдеры созданные примитивами.
Добавление компонентов на один GameObject
Вы можете добавить несколько компонентов типа Collider на один объект.
- Выберите нужный объект в иерархии проекта
- В окне инспектора нажмите кнопку Add Component
- В строке поиска введите Collider и выберите форму, подходящую под вашу модель.
- В панели инструментов выберите Edit bounding volume
- Скорректируйте параметры коллайдеров, изменяя их форму с помощью управляющих точек
Добавление коллайдера на пустой объект
В случаях, когда требуется закрыть коллайдером часть модели, расположенную под углом, можно применить следующий метод:
- Добавьте на сцену пустой объект, нажав в иерархии ПКМ - Create Empty
- Сделайте созданный пустой объект дочерним по отношению к вашему объекту
- Добавьте коллайдер на созданный пустой объект с помощью кнопки Add Component в окне инспектора.
- С помощью инструмента Rotate Tool поверните пустой объект на необходимый вам угол
- Скорректируйте параметры коллайдера с помощью инструмента Edit bounding volume
Вы можете использовать несколько пустых объектов для добавления коллайдеров на объекты более сложных форм