Difference between revisions of "FadedProto:Navmesh"

From Bakery GPU Lightmapper: Wiki
Jump to navigation Jump to search
(Типы зон)
(Типы зон)
 
(14 intermediate revisions by the same user not shown)
Line 14: Line 14:
  
 
=== Типы зон ===
 
=== Типы зон ===
Разным частям навмеша можно назначать разные логические пометки. Основной способ - с помощью тэгов на статических объектах. Если в Navmesh Build включить Show Mesh и Color by area, то разные типы зон будут визуализированы разными цветами. Доступные тэги:
+
[[File:Navmeshexample2.jpg|thumb|Визуализация зон разным цветом]]
* '''sectorRestricted''': места, где могут находиться только персонажи с '''Behaviour'''='''staff''' или '''guard'''. Остальные считаются нарушителями
+
Разным частям навмеша можно назначать разные логические пометки. Если в Navmesh Build включить Show Mesh и Color by area, то разные типы зон будут визуализированы разными цветами. Зоны можно задавать двумя способами:
* '''sectorPass''': помечает территорию как guarded. Если [[FadedProto:Person|NPC]] имеет '''Behaviour'''='''guard''' и галочку '''Notice Guarded Tresspassers''', то любой увиденный им, кто проник на эту территорию (и не был там изначально), считается нарушителем. Пример: место, куда надо получить пропуск.
+
* С помощью тэгов на статических объектах (навмеш на этом объекте будет целиком указанной зоной).
* '''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: игнорировать этот объект при построении навмеша.