Difference between revisions of "FadedProto:Navmesh"
Jump to navigation
Jump to search
(Created page with "Навмеш даёт информацию для поиска пути персонажам, а также позволяет пометить разные зоны мира...") |
(→Типы зон) |
||
(21 intermediate revisions by the same user not shown) | |||
Line 4: | Line 4: | ||
=== Как сгенерировать === | === Как сгенерировать === | ||
+ | [[File:Navmeshexample.jpg|thumb|Визуализация корректного навмеша]] | ||
* Пометить объекты, по которым можно ходить как static. | * Пометить объекты, по которым можно ходить как static. | ||
* (только в первый раз) CritterAI->Create Nav Asset->Baked Navmesh | * (только в первый раз) CritterAI->Create Nav Asset->Baked Navmesh | ||
Line 11: | Line 12: | ||
* Нажать Build & Bake | * Нажать Build & Bake | ||
* Убедиться, что он выглядит как надо, нажав Show Mesh и оценив. | * Убедиться, что он выглядит как надо, нажав Show Mesh и оценив. | ||
+ | |||
+ | === Типы зон === | ||
+ | [[File:Navmeshexample2.jpg|thumb|Визуализация зон разным цветом]] | ||
+ | Разным частям навмеша можно назначать разные логические пометки. Если в Navmesh Build включить Show Mesh и Color by area, то разные типы зон будут визуализированы разными цветами. Зоны можно задавать двумя способами: | ||
+ | * С помощью тэгов на статических объектах (навмеш на этом объекте будет целиком указанной зоной). | ||
+ | * С помощью '''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: игнорировать этот объект при построении навмеша.