Unity3DInRus

NavMeshSurface

NavMesh Surface

 

Компонент NavMesh Surface представляет из себя проходимую область для определённого типа агентов NavMesh, и определяет часть Сцены, где должен быть построен NavMesh.

Компонент NavMesh Surface отсутствует в стандартной установке Unity; чтобы получить к нему доступ смотри документацию по высокоуровневым компонентам сборки NavMesh.

Чтобы использовать компонент NavMesh Surface выберите меню GameObject > AI > NavMesh Surface. В результате создаётся пустой игровой объект с прикреплённым к нему компонентом NavMesh Surface. Сцена может содержать множество компонентов NavMesh Surface.

Вы можете добавить компонент NavMesh Surface к любому игровому объекту. Это полезно когда вы хотите использовать родительскую иерархию GameObject чтобы определить какие игровые объекты воздействуют на NavMesh.

A NavMesh Surface component open in the Inspector window
Компонент NavMesh Surface, открытый в окне инспектора
Свойство Назначение
Agent Type Тип агента NavMesh, использующего поверхность NavMesh Surface. Используется для настройках запекания и сопоставления агента NavMesh с соответствующими поверхностями во время поиска пути.
- Humanoid
- Ogre
Collect Objects Определяет, какие игровые объекты используются для запекания.
All – Используются все активные GameObjects (эта опция по умолчанию).
Volume – Используются все активные GameObject, пересекающие границы объёма.
Children – Используется все активные GameObject, дочерние к компоненту NavMesh Surface.
Include Layers Определяет слои, GameObject'ы из которых учавствуют в запекании. В добавок к Collect Objects, эта настройка позволяет дополнительно исключить определенные GameObjects из запекания (например, эффекты или анимированные персонажи).
По умолчанию здесь стоит Everything, но вы можете включить или выключить следующие опции по отдельности:
Nothing (автоматически отключает все опции)
Everything (автоматически включает все опции)
Default 
TransparentFX 
Ignore Raycast
Water 
UI
Use Geometry Выбирает, какую геометрию использовать для запекания.
Render Meshes – Использует геометрию отображаемых мешей и местности.
Physics Colliders – Использует геометрию коллайдеров и местности. Агенты могут двигаться ближе к краю физических границ среды с помощью этой опции, чем они могут с помощью опции Render Meshes.

Используйте основные настройки компонента NavMesh Surface для фильтрации входной геометрии в широком диапазоне. Точно настройте, как Unity обрабатывает входную геометрию на основе каждого объекта GameObject, используя компонент NavMesh Modifier.

Процесс запекания автоматически исключает GameObjects с присоединенными NavMesh Agent или NavMesh Obstracle. Они являются динамическими пользователями NavMesh и поэтому не вносят вклад в сборку NavMesh.

Расширенные настройки

The NavMesh Surface Advanced settings panel
Панель настроек NavMesh Surface Advanced

В разделе расширенных настроек вы можете настроить следующие дополнительные параметры:

Свойство Назначение
Default Area Определяет тип области, генерируемый при сборке NavMesh.
Walkable (эта опция по умолчанию)
Not Walkable
Jump 
Используйте компонент NavMesh Modifier для более детального изменения типа области.
Override Voxel Size Контролирует, насколько точно Unity обрабатывает входную геометрию для выпечки NavMesh (это компромисс между скоростью и точностью). Установите флажок, чтобы включить. Значение по умолчанию не отмечено (отключено).
3 вокселя на радиус Агента (6 на диаметр) позволяют захватывать узкие проходы, такие как двери, при сохранении быстрого времени выпекания. Для больших открытых зон использование 1 или 2 вокселей на радиус ускоряет выпечку. Плотные внутренние пятна лучше подходят для небольших вокселов, например от 4 до 6 вокселей на радиус. Более 8 вокселей на радиус обычно не приносят много дополнительного преимущества.
Override Tile Size Чтобы сделать процесс выпекания параллельным и эффективным для памяти, Сцена разделена на плитки для выпечки. Белые линии, видимые на NavMesh, являются границами плитки. 
Размер плитки по умолчанию - 256 вокселей, что обеспечивает хороший компромисс между использованием памяти и фрагментацией NavMesh. 
Чтобы изменить размер плитки по умолчанию, отметьте этот флажок и в поле Tile Size введите количество вокселей, которые вы хотите, чтобы размер плитки был. 
Чем меньше плитка, тем более фрагментирован NavMesh. Иногда это может привести к неоптимальным путям. Резьба NavMesh также работает на плитки. Если у вас много препятствий, вы можете часто ускорять резку, уменьшая размер плитки (например, от 64 до 128 вокселей). Если вы планируете выпекать NavMesh во время выполнения, используйте меньший размер плитки, чтобы поддерживать максимальное использование памяти.
Build Height Mesh Не поддерживается.

Расширенная отладка визуализации

Input Geometry, Regions, Polygonal Mesh Detail and Raw Contours shown after building the NavMesh with debug options
Входная геометрия, области, детали полигональной сетки и необработанные контуры, показанные после сборки NawMesh с параметрами отладки.
Nav Mesh Surface Inspector with Debug Visualization options
Инспектор NavMesh Surface с параметрами Debug Visualization.

Используйте параметры в разделе Debug Visualization для диагностики любых проблем, возникающих в процессе построения NavMesh. Различные тикбоксы показывают каждый шаг процесса построения NavMesh, включая входную геометрию ввода (Input Geometry), разбиение областей (Regions), формирование контуров (Contours) и полигонов NavMesh (Polygon Meshes).

Сегодня были уже 9 посетителей (12 хитов) здесь!
Этот сайт был создан бесплатно с помощью homepage-konstruktor.ru. Хотите тоже свой сайт?
Зарегистрироваться бесплатно