Difference between revisions of "FadedProto:Navmesh"
Jump to navigation
Jump to search
(→Типы зон) |
(→Типы зон) |
||
(16 intermediate revisions by the same user not shown) | |||
Line 14: | Line 14: | ||
=== Типы зон === | === Типы зон === | ||
− | Разным частям навмеша можно назначать разные логические пометки | + | [[File:Navmeshexample2.jpg|thumb|Визуализация зон разным цветом]] |
− | * '''sectorPass''': помечает территорию как guarded. Если [[FadedProto:Person|NPC]] имеет '''Behaviour'''='''guard''' и галочку '''Notice Guarded Tresspassers''', то любой увиденный им, кто проник на эту территорию ( | + | Разным частям навмеша можно назначать разные логические пометки. Если в Navmesh Build включить Show Mesh и Color by area, то разные типы зон будут визуализированы разными цветами. Зоны можно задавать двумя способами: |
− | * '''notNav''': игнорировать этот объект при построении навмеша. | + | * С помощью тэгов на статических объектах (навмеш на этом объекте будет целиком указанной зоной). |
+ | * С помощью '''Box Area Marker'''. Маркеры в виде невидимых боксов можно создать через CritterAI -> Create NMGen -> Area Marker: Box. Маркеру можно задать тип зоны. Боксы вырезают прямоугольные куски в навмеше. Маркеры должны быть помечены как Static. | ||
+ | Доступные тэги/типы зон: | ||
+ | * '''Нет тэга/Default''': свободная для всех территория. | ||
+ | * '''sectorRestricted/Restricted''': места, где могут находиться только [[FadedProto:Person|персонажи]] с '''Behaviour'''='''staff''' или '''guard'''. Остальные считаются нарушителями. NPC с '''Behaviour'''='''civil''' будут избегать поиска пути через такие места. Пример: подсобные помещения заведений. | ||
+ | * '''sectorPass/Guarded''': помечает территорию как guarded. Если [[FadedProto:Person|NPC]] имеет '''Behaviour'''='''guard''' и галочку '''Notice Guarded Tresspassers''', то любой увиденный им, кто на их глазах проник на эту территорию (не был там изначально и не пришёл незаметно), считается нарушителем. NPC с '''Behaviour'''='''civil''' будут избегать поиска пути через такие места. Пример: место, куда надо получить пропуск. | ||
+ | * '''navPrivate/Private''': чья-то приватная территория. На практике используется только при поиске потерянного нарушителя - сначала охранник будет искать вокруг таких мест, а потом уже в них самих. Пример: квартира. | ||
+ | * '''navDoor/Door''': проём открывающейся [[FadedProto:Door|двери]]. | ||
+ | * '''notNav/Not Walkable''': игнорировать этот объект при построении навмеша. |
Latest revision as of 19:04, 27 January 2020
Навмеш даёт информацию для поиска пути персонажам, а также позволяет пометить разные зоны мира разными флажками по смыслу. Используется особый допиленный плагин для навмеша, не встроенный. При любом изменении статичной части сцены, стоит его пересчитывать.
Как сгенерировать
- Пометить объекты, по которым можно ходить как 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. Маркеру можно задать тип зоны. Боксы вырезают прямоугольные куски в навмеше. Маркеры должны быть помечены как Static.
Доступные тэги/типы зон:
- Нет тэга/Default: свободная для всех территория.
- sectorRestricted/Restricted: места, где могут находиться только персонажи с Behaviour=staff или guard. Остальные считаются нарушителями. NPC с Behaviour=civil будут избегать поиска пути через такие места. Пример: подсобные помещения заведений.
- sectorPass/Guarded: помечает территорию как guarded. Если NPC имеет Behaviour=guard и галочку Notice Guarded Tresspassers, то любой увиденный им, кто на их глазах проник на эту территорию (не был там изначально и не пришёл незаметно), считается нарушителем. NPC с Behaviour=civil будут избегать поиска пути через такие места. Пример: место, куда надо получить пропуск.
- navPrivate/Private: чья-то приватная территория. На практике используется только при поиске потерянного нарушителя - сначала охранник будет искать вокруг таких мест, а потом уже в них самих. Пример: квартира.
- navDoor/Door: проём открывающейся двери.
- notNav/Not Walkable: игнорировать этот объект при построении навмеша.