Голосование

Какой функционал Discord вам интересен?














Оформление



Пользователей
  • Всего: 29100
  • Последний: Marteleur
Сейчас на форуме
Пользователи: 1
Гостей: 488
Всего: 489

0 Пользователей и 1 Гость просматривают эту тему.

Тема: Редактор сцен. Навигационный меш  (Прочитано 1849 раз)

  • Сообщений: 26028
  • За победу в конкурсе "Знамя кальрадийца" И создали они сайт... За регистрацию на форуме не позже сентября 2008 года
  • Сервер Discord
    • Просмотр профиля
    • Всадники Кальрадии
0
« : 03 Декабря, 2020, 12:48 »
Автор: Дима Гончар

Что такое навигационный меш?


Navigation Mesh - это компиляция моделей, созданных сценоделом для ИИ, чтобы убедиться, что боты будут перемещаться, не сталкиваясь с физическими объектами в сцене.

Какие есть важные правила для навигационного меша?


а. Правило 1,5 метра: сценоделы должны расположить навигационную сетку диаметром 1,5 метра при её создании на местности или других объектах, по которым можно ходить или на которых можно стоять (крыши, стены замков и т.д.). Диаметр должен составлять 1,5 метра по вертикальной оси. Если правило 1.5 м. не применяется, ИИ не сможет найти дорогу при ходьбе.

b. Точки поворота для точки спауна: у каждой точки появления в сцене есть точки поворота. Грани многоугольника Navmesh должны включать эти точки поворота. В противном случае точки спауна не будут работать.

c. Существующие деревья: каждое дерево в сцене имеет физический объект, который мы называем «капсулами» (capsules). ИИ увидит эти капсулы во время боя, и из-за этого ИИ не заходит в деревья. Navmesh можно применять под деревьями.

d. Угол местности: есть участки, по которым невозможно будет пройти из-за крутого угла. Эти области можно включить с помощью: Затенение (Shaded) > Отладка (Debug) - Угол местности (Terrain Angle). В открывшемся окне Angle Limit (макс. угол) можно ввести ввести «50», чтобы включить их. Тогда появятся две области: зеленая и красная. Зеленые области проходимы, а красные - нет.

е. Где применять Navmesh: Навигационный меш следует применять к каждой поверхности, по которой могут ходить игроки. Навигационный меш нельзя накладывать под физические объекты. Поскольку ИИ не может прыгать, области, которые могут быть доступны при прыжке, не должны содержать навигационную сетку.

В навигационном меше нет операции «Отменить». Если вы нажмете CTRL + Z, последнее изменение сцены будет отменено. Не пытайтесь отменять при работе с Navigation Mesh.

Сколько типов навигационной сетки необходимо применить?


Существует три типа навигационного меша:
1. Базовые области навигационного меша (без ID, ID: 0), например, battle_terrain, укрытие или тронный зал.
2. Деревенские сцены. Такие сцены имеют несколько ID (идентификаторов) навигационного меша.
3. Сцены осадного города. В таких сценах есть два основных режима видимости: Гражданский и Осада. Городскую сцену в гражданском режиме можно рассматривать как сцену большой деревни. Но в режиме осады есть некоторые места и случаи, когда грани навигационного меша должны иметь специальные идентификаторы.

Что нужно знать перед моделированием навигационного меша


При открытии редактора вы увидите панель инструментов, как показано на фото ниже.



Значок в красном квадрате предназначен для навигационного меша. Щелкнув по нему, вы увидите, что в инспекторе открыт NavigationMeshInspector.



После открытия инспектора навигационного меша вы увидите в интерфейсе «Editor Mode: Navigation Mesh Select».



Все функции раскрывающегося меню в Navigation Mesh Inspector можно использовать в режимах Navigation Mesh Select. Нажатие 1, 2 или 3 на клавиатуре выберет эти режимы:
1: Вершины
2: Ребра
3: Грани.

Моделирование навигационного меша
До сих пор мы говорили о режиме Navigation Mesh Select Tool. Еще один режим редактора для навигационного меша - это режим Navigtation Mesh Add.



Чтобы открыть этот режим, вы можете нажать клавишу «Пробел». Вы увидите предварительный просмотр вершины в указателе мыши.

Выделив 4 разные точки на карте, нажмите CTRL + Пробел, чтобы создать многоугольник Navigation Mesh.



После этапа создания многоугольника используйте горячие клавиши для навигационного меша. Ниже есть объяснение инструментов, доступных на вкладке Generation Tools (инструменты генерации) в Navigation Mesh Inspector.

Инструменты генерации


Наиболее полезные и используемые инструменты:
  • Extrude (выдавливание): выдавливание по оси выбранного края (или краев).
  • Fill (заливка): заливка между выбранными вершинами навигационного меша и формирование грани (face).
  • Grow Selection увеличивает выделение, выделяя элементы, смежные с выбранными элементами (работает для всех структур вершин, ребер и граней).
  • Connect (соединить): соединяет выбранные две вершины навигационного меша, рисуя границу между ними.
  • Weld (сварка): удаляет вершины, образующие ребро, и делает ребро одной единственной вершиной. Ребро соединяет старые смежные вершины с вновь созданной вершиной/вершинами. Если проще, то функция "сваривает" два ребра с вершинами в одно.

Моделирование навигационного меша по типам сцен


Мы кратко обсудили, как создать и применить навигационный меш. Давайте консолидируем эту информацию, создав навигационную сетку для сцены деревни с помощью нескольких скриншотов.

1.Деревенская сцена
После открытия сцены деревни давайте перейдем на вкладку Visibility (Видимость) и изменим ее, как показано на скриншоте ниже, чтобы работать было удобнее. Visibility Masks > Game Entities (не помечено), Particle Systems (не помечено), Layer Flora (не помечено), Show Paths (не помечено) Physics Options > Show Entity Physics (помечено).



Щелкните значок Navigation Mesh на панели инструментов и откройте вкладку Navigation Mesh Inspector с правой стороны. После этого нажмите 3 на клавиатуре, чтобы открыть режим Граней. Измените часть ID с 0 на 2.



Создадим нашу первую грань. Как показано на скриншоте ниже, поместите вершины над дорогой и нажмите CTRL + Пробел. Вы увидите созданный многоугольник навигационной сетки. Мы можем разместить еще 2 вершины рядом с существующим многоугольником и нажать Shift + ЛКМ, чтобы создать дополнительные многоугольники.




Удерживая CTRL при перемещении мыши к вершинам, мы можем увидеть желтые превью. Удерживание этих вершин левой кнопкой мыши позволит нам свободно перемещать вершины.



В режиме Navigation Mesh Select выберите, какой режим вы хотите использовать: 1: Вершины, 2: Ребра, 3: Грани. Затем используйте Alt + Delete для их удаления. Если выбраны (2: Ребра) и (3: Грани), то в сцене останутся Вершины. Если вы хотите, чтобы вершины были неактивными, вы можете нажать клавиши Alt + X + Delete.
Другой метод удаления - в режиме Navigation Mesh Add. Если мы наведем курсор на вершину, ребро или грань с нажатой кнопкой ALT, мы увидим красное превью. Мы можем удалить их, нажав ЛКМ.




Логика идентификаторов навигационной сетки


Грани навигационного меша с идентификатором 2 - это грани навигационного меша, которые видит ИИ, пока мы гуляем по сцене. Эти грани необходимо соединить друг с другом. Грани, на которых есть точки спауна животных, также должны иметь ID 2. Причина, по которой эти грани не связаны, заключается в том, что мы не хотим, чтобы животные ходили по дорогам как человеческие NPC. Чтобы убедиться, что точки спауна животных активны, их идентификатор грани навигационного меша должен быть 2. Чтобы отключить их соединение с дорогой, мы применяем навигационный меш, который окружает грани с точками спауна животных с ID 2, и задаем новый навигационный меш с идентификатором 3. После этого мы также включаем это в скрипт navigation_mesh_deactivator.

Грани с идентификатором 1 - это грани, которые не активны в режиме ходьбы, но они должны быть применены. Когда на деревню совершают набег, все навигационные меши активны, не глядя на идентификаторы. Они активируются, когда мы гуляем по сцене.

« Последнее редактирование: 01 Июля, 2023, 14:58 от Vanok »
  • Ник в M&B: [RUSMNB]Vanok
  • Фракция: Вегиры
И помните: "Хватит набивать посты" (NightHawkreal)

СиЧЪ Total War СиЧЪ Total War
Сайт "Всадники Кальрадии" не является СМИ. Администрация не несет ответственность за высказывания и публикацию каких-либо материалов, сделанные любыми пользователями форума, в том числе посредством личных и публичных сообщений. Материалы, размещенные на ресурсе третьими лицами, могут содержать информацию, не предназначенную для лиц, не достигнувших совершеннолетия. При обнаружении на ресурсе материалов, нарушающих законодательство Российской Федерации, необходимо обращаться к администрации.
Сайт работает на быстром VPS/VDS хостинге от FASTVPS


Powered by SMF 2.0 | SMF © Simple Machines LLC