Типы ассетов
Анимации
Modding the Animation System Exporting Animation for Bannerlord Default Animation Settings Frame rate: 30 FPS(Optimal) or 60 FPS Humanoid or Creature Skeleton(Rig) Settings Max supported bone count: 64 Bones that are not used should contain “_notused” at the end of the string. Also root bone (highest bone in the hierarchy) should contain this only for the animations. FBX export settings (Autodesk Maya) These settings are applied to Maya.
Добавление и переопределение ассетов
В RGL (игровой движок) вы можете легко переопределить существующие ассеты или создать новые в редакторе для вашего пользовательского режима. Механизм переопределения работает путем замены существующих ресурсов на те, которые вы указали в каталоге ресурсов вашего модуля. Он пытается сопоставить ваши пользовательские ассеты с теми, которые ранее были зарегистрированы другими модулями по их именам. Это происходит в зависимости от порядка загрузки модулей. Если Module A и Module B загружены в дополнение к модулю Native соответственно, список конечных ресурсов и их источников будет следующим:
Материалы
Материалы определяют характеристики рендеринга сеток. Они содержат информацию о шейдере и текстуре, а также флаги рендеринга (определяемые шейдером и глобальные). Сетка может состоять из одного материала. Начальное значение материала сетки будет назначено через его имя материала в сторонних приложениях для редактирования сетки. Материалы можно создавать и редактировать с помощью обозревателя материалов, к которому можно получить доступ через обозреватель ресурсов. Материал также можно редактировать во время выполнения с помощью сценариев и поведения.
Переопределение сцен и префабов
Вы можете переопределить существующие сцены и префабы, создав новые с тем же именем. Вы должны помнить, что переопределение префабов может нарушить существующие скрипты, если вы измените иерархию сущностей. Убедитесь, что вы сохранили иерархию сущностей, чтобы избежать возможных критических ошибок, если ваша сущность используется существующими скриптами. Префабы Определения префабов хранятся в XML-файлах, расположенных в папке Prefabs в каталоге каждого модуля. Сцены Сцены хранятся в двух отдельных папках SceneObj и SceneEditData в каталоге каждого модуля.
Пути
“Пути” в RGL (игровой движок) используются для определения непрерывных точек в сцене. Они имеют уникальные имена и могут использоваться логикой игрового процесса по разным причинам. Пути определяют, как движутся осадные машины в миссиях. Кроме того, для полевых боевых миссий кандидаты на начальные точки возрождения определяются через путь. Логика появления выбирает две позиции для команд в зависимости от размера битвы. Подробную информацию о редактировании пути можно найти в Редактирование пути.
Сетки
Сетки содержат позиции полигонов и атрибуты, которые будут использоваться на этапе рендеринга. Каждая сетка имеет один материал, который определяет их поведение при рендеринге. Они сгруппированы внутри MetaMesh по их уровню LOD. Кроме того, на одном уровне LOD может быть несколько сеток с разными материалами. Дополнительную информацию об импорте сеток в движок можно найти в Naming Conventions. LOD система Современные движки используют системы LOD (уровня детализации), чтобы гарантировать, что объем доли GPU, используемой более близкими частями экрана, больше, чем дальние.
Скелеты
Скрипты
Компоненты сценария - это исполняемые сценарии, которые прикрепляются к объектам и могут использоваться для реализации различных функций игрового процесса. В Bannerlord большая часть игровой логики написана через компоненты скрипта. Например стулья, брошенное оружие, осадные машины. Есть много разных обратных вызовов, которые могут быть унаследованы и заполнены этими компонентами скрипта. Обратные вызовы Constructor: В конструкторе необходимо присвоить значения по умолчанию его общедоступным переменным (переменные, которые могут быть изменены создателем сцены).
Соглашения об именах
Чтобы различать и систематизировать ресурсы, а также упростить процесс создания ресурсов, необходимо учитывать некоторые предопределенные правила. Меши Все сетки, импортированные из одного файла геометрии (например, fbx), сгруппированы по их именам. Чтобы добавить сетку LOD, просто добавьте ”.lod<n>“ к имени вашей сетки. Здесь n - количество LOD. Рассмотрим файл fbx, как показано ниже: asset.fbx : wall_damaged wall_damaged_v2 wall_damaged_v2.lod1 wall_damaged.lod1 wall_damaged.lod2 Две сетки будут импортированы из файла asset.fbx: wall_damaged, wall_damaged_v2.
Сущности и префабы
Сущности в RGL (игровой движок) - это контейнеры для всех сеток, частиц, компонентов скрипта, окклюдеров и физических объектов. Они также могут содержать другие сущности в качестве дочерних. У них есть собственная трансформация, определяющая их положение, масштаб и вращение в мире. Префабы Префабы - это объекты шаблона, которые не разрывают соединение с префабом даже после того, как он сохранен в сцене. Сложные объекты могут быть построены один раз и сохранены как сборные для использования в любое время и в любой сцене.
Текстуры
Текстуры можно импортировать через “Обозреватель ассетов”. Их можно назначить материалам через “Редактор материалов”. Слоты текстур материалов PBR можно найти в Редакторе материалов. Максимальное значение разрешения текстур ландшафта - 2048 на 2048.
Тела
Тела определяют физические границы объектов. Их можно назначить объектам в сценах или префабах. Пользователи могут редактировать флаги тела, чтобы изменить свое поведение. Флаги тела Two Sided: заставляет физический движок использовать обе стороны многоугольников для этого тела. AI Limiter: используется для пометки тел, которые будут использоваться только против агентов AI, за исключением игрока. Destructible Door: используется автоматическим генератором навигационной сетки, чтобы не помещать навигационную сетку под разрушаемую дверь. Disabled: отключает физику для этого префаба или экземпляра объекта.