Unity 6.3
0 онлайн 72 гостей 3 в системе
Вход
Физика Шаг 34 из 99

Введение в коллайдеры Terrain

Территориальные коллайдеры соответствуют форме Территория точно, для очень точной симуляции столкновения Территории. Территориальный коллайдер является наиболее точным типом коллайдера для Территорий.

Территория GameObject. Справа: Коллайдер Территории, который точно соответствует геометрии Территории GameObject.
Территория GameObject. Справа: Коллайдер Территории, который точно соответствует геометрии Территории GameObject.
Территориальный коллайдер, который точно соответствует геометрии Территории GameObject.
Территориальный коллайдер, который точно соответствует геометрии Территории GameObject.

Строительство коллайдера Terrain

В отличие от примитивные коллайдеры и Сеточные коллайдеры, Коллайдеры на местности основаны на картах высот. PhysX генерирует коллайдеры местности из данных карт высот соответствующей местности, а не из заранее определенной формы или сетки.

Подробную информацию о коллайдерах на основе heightmap в PhysX см. в документации Nvidia PhysX Геометрия: поля высот.

Коллайдер Территория строит свою геометрию столкновения, чтобы соответствовать данным heightmap назначенного объекта TerrainData, включая его форму, положение и масштаб. Преимущество этого в том, что вы можете сделать форму коллайдера точно такой же, как форма видимой Территории, что создает более точные и реалистичные столкновения.

Коллайдеры для деревьев и деталей местности

Территория имеет два типа кистей, которые добавляют Префабы к Территории: Деревья и Детали. Эти кисти позволяют быстро добавлять деревья, кустарники, камни и другие детали местности. Более подробную информацию см. в документации по Территории по Кистям, Деревьяи Трава и другие детали.

Когда вы создаете Префаб, вы добавляете любые коллайдеры, которые хотите, к этому Префаб. Когда вы используете Деревянную кисть, чтобы применить Префаб к местности, вам нужно использовать коллайдер местности, чтобы включить или отключить эти коллайдеры. На коллайдере местности используйте Enable Tree Colliders для переключения коллайдеров дерева Префаб.

Территория и четыре дерева.
Территория и четыре дерева.
Геометрия столкновения в Территории. Обратите внимание на прямоугольные коллайдеры вокруг основания каждого ствола дерева. Они присутствуют, потому что оригинальная модель дерева Префаб содержит коллайдер Box.
Геометрия столкновения в Территории. Обратите внимание на прямоугольные коллайдеры вокруг основания каждого ствола дерева. Они присутствуют, потому что оригинальная модель дерева Префаб содержит коллайдер Box.

Коллайдер Территории генерирует коллайдеры только для Префабы, которые вы добавляете с помощью кисти Дерево. Он не генерирует коллайдеры для Префабы, которые вы добавляете с помощью кисти Детали, потому что киста Детали отображает только сетку Префаб, а не ее коллайдеры. Если вы хотите, чтобы что-то на Территории GameObject имело коллайдер, используйте кисть Деревья, чтобы добавить его.

Unity только генерирует Дерево Префаб коллайдеров во время выполнения, так что они появляются только в Отладка физики collider Вид геометрии во время выполнения.

Оптимизация коллайдеров

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

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

Использование коллайдера с более низким разрешением

Вы можете создать TerrainData с более низким разрешением и применить его к коллайдеру Terrain.

Дублируйте существующее поле TerrainData и уменьшите разрешение. Установите поле TerrainData коллайдера TerrainData на уменьшенное разрешение.

Обратите внимание, что Unity отображает предупреждение на Территории Inspector, что коллайдер и территории имеют разные TerrainDatas, но вы можете проигнорировать это, если вы сделали это намеренно.

Создание коллайдера из местности:

Вы можете экспортировать карту высот Территории и использовать внешнюю программу, чтобы превратить ее в упрощенный коллайдер Сетка.

Установите пакет Инструменты для местности. Используйте инструмент Export Heightmap для экспорта Terrain heightmap. Используйте программу моделирования 3D для создания сетки из heightmap. Используйте программу моделирования 3D для выполнения процедуры упрощения сетки на сетке. Импортируйте сетку обратно в Unity для использования в качестве источника для коллайдера сеток.