FadedProto:Navmesh
Jump to navigation
Jump to search
Навмеш даёт информацию для поиска пути персонажам, а также позволяет пометить разные зоны мира разными флажками по смыслу. Используется особый допиленный плагин для навмеша, не встроенный. При любом изменении статичной части сцены, стоит его пересчитывать.
Как сгенерировать
- Пометить объекты, по которым можно ходить как static.
- (только в первый раз) CritterAI->Create Nav Asset->Baked Navmesh
- (только в первый раз) Созданный файл положить в папку Resources и назвать имяcценыCAIBakedNavmesh
- Найти и выделить ассет NavmeshBuild
- Сунуть в Bake Target ему новый созданный ассет
- Нажать Build & Bake
- Убедиться, что он выглядит как надо, нажав Show Mesh и оценив.
Типы зон
Разным частям навмеша можно назначать разные логические пометки. Если в Navmesh Build включить Show Mesh и Color by area, то разные типы зон будут визуализированы разными цветами. Зоны можно задавать двумя способами:
- С помощью тэгов на статических объектах (навмеш на этом объекте будет целиком указанной зоной).
- С помощью Box Area Marker. Маркеры в виде невидимых боксов можно создать через CritterAI -> Create NMGen -> Area Marker: Box. Маркеру можно задать тип зоны. Боксы вырезают прямоугольные куски в навмеше.
Доступные тэги/типы зон:
- Нет тэга/Default: свободная для всех территория.
- sectorRestricted/Restricted: места, где могут находиться только персонажи с Behaviour=staff или guard. Остальные считаются нарушителями. NPC с Behaviour=civil будут избегать поиска пути через такие места. Пример: подсобные помещения заведений.
- sectorPass/Guarded: помечает территорию как guarded. Если NPC имеет Behaviour=guard и галочку Notice Guarded Tresspassers, то любой увиденный им, кто на их глазах проник на эту территорию (не был там изначально и не пришёл незаметно), считается нарушителем. NPC с Behaviour=civil будут избегать поиска пути через такие места. Пример: место, куда надо получить пропуск.
- navPrivate/Private: чья-то приватная территория. NPC будут избегать поиска пути сквозь такие места по возможности (если есть обход). Пример: квартира.
- notNav/Not Walkable: игнорировать этот объект при построении навмеша.