Типы ассетов
Анимации
Модификация системы анимаций Экспорт анимации для Bannerlord Настройки анимации по умолчанию Частота кадров: 30 FPS (оптимально) или 60 FPS Настройки гуманоидного или звериного скелета (Rig) Максимальное поддерживаемое количество костей: 64 Кости, которые не используются, должны содержать «_notused» в конце строки. Также корневая кость (самая верхняя в иерархии) должна содержать это только для анимаций. Настройки экспорта FBX (Autodesk Maya) Эти настройки применяются в 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: отключает физику для этого префаба или экземпляра объекта.
Шейдеры
Шейдеры — это программные фрагменты, которые выполняются на ядрах GPU. Они определяют методы рендеринга. Флаги материального шейдера и комбинации шейдеров Шейдеры определяют флаги материала, которые можно настраивать для каждого материала. Каждый флаг материального шейдера изменяет часть кода шейдера, чтобы изменить внешний вид материала. Например, при включении флага “USE_PROCEDURAL_WIND_ANIMATION” материал начинает анимироваться по фиксированной оси в зависимости от ветра в сцене. Кэш шейдеров Каждый материал определяет новую комбинацию флагов шейдера, что, в свою очередь, определяет новый код шейдера, который необходимо скомпилировать.
