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

Создание сложного коллайдера

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

Комплексный коллайдер состоит из родительского GameObject, который имеет компонент Rigidbody, и дочернего GameObjects, который имеет коллайдеры.

Планирование сложного коллайдера

Перед тем, как построить свой коллайдер, подумайте о том, для чего вы хотите использовать коллайдер и как вы хотите расположить коллайдеры.

  • Если вам нужен коллайдер только для обеспечения столкновений, а не каких-либо столкновений или событий триггера, вы можете расположить коллайдеры в любом порядке, включая перекрытия, если вы покрываете все пространство, которое должно действовать как коллайдер во время выполнения.
  • Если вам нужно, чтобы коллайдер вызвал столкновение или триггерные события, вам нужно расположить свой сложный коллайдер таким образом, чтобы обеспечить отсутствие пересечений. Вы также можете запланировать внедрение Метки и Layers(Layers) для обеспечения того, чтобы только конкретные коллайдеры вызывают столкновение и инициируют события.
  • Если вам нужно точно определить, какая часть предмета участвует в столкновении, разделите области предмета коллайдерами. Например, на скрижали сокровищ, которая открывается, когда игрок прикасается к ее передней части, вы можете иметь один коллайдер спереди и один сзади.
  • Если другой коллайдер должен скользить вдоль вашего сложного коллайдера (например, персонаж, скользящий по льду), постарайтесь иметь только один коллайдер вдоль этой поверхности, чтобы уменьшить тремор во время перехода от одного контакта коллайдера к другому.

Нет одного идеального способа разместить сложный коллайдер; эффективность всегда зависит от формы, желаемого поведения и других элементов в вашем проекте. По этой причине вы всегда должны запускать тесты на вашем сложном коллайдере, чтобы проверить, что он ведет себя как ожидалось, и вы должны использовать Physics Profiler для тестирования различных расположений и конфигураций для вычислительной эффективности.

Построить сложный коллайдер

  1. Создайте или выберите родительскую GameObject. В большинстве случаев это GameObject, которая содержит Mesh и Mesh Renderer.
  2. Добавьте Rigidbody к родительскому GameObject и настройте его по мере необходимости для вашего проекта (см. Введение в физику жестких тел).
  3. Создайте пустую GameObject в качестве дочерней GameObject.
    1. Щелкните правой кнопкой мыши родительское GameObject и выберите Create Empty GameObject.
  4. Добавить коллайдер в новый пустой GameObject.
    1. В окне Inspector выберите Добавить компонент.
    2. Выберите форму коллайдера. Вы можете использовать любую форму коллайдера на сложном коллайдере. В большинстве случаев вы должны стремиться выбрать простейшую форму, которая может наиболее точно представить коллайдер, который вы строите.
  5. Позиционирование нового коллайдера.
    1. Используйте Transform или позиционные комбинации для позиционирования коллайдера.
  6. Проверьте и наблюдайте за поведением Rigidbody. Изменения в конфигурации коллайдера могут изменить центр массы Rigidbody, что может привести к некоторому неожиданному поведению.
  7. Повторите шаги 4-6 для столько коллайдеров, сколько вам нужно.

Если вам нужно применить один и тот же сложный коллайдер к нескольким GameObjects, вы можете дублировать родительский GameObject или использовать Префабы.

Автоматическое генерирование сложных коллайдеров

Несколько сторонних инструментов доступны на Asset Store, которые могут автоматически генерировать сложный коллайдер на основе Mesh GameObject. Эти инструменты полезны и могут сэкономить время, но их выход все еще требует тестирования и может потребовать некоторой настройки, чтобы быть полностью эффективным. Вы должны применять к ним такой же уровень тестирования, как и к коллайдеру, который вы построили вручную.