Добавление и переопределение ассетов

В RGL (игровой движок) вы можете легко переопределить существующие ассеты или создать новые в редакторе для вашего пользовательского режима. Механизм переопределения работает путем замены существующих ресурсов на те, которые вы указали в каталоге ресурсов вашего модуля. Он пытается сопоставить ваши пользовательские ассеты с теми, которые ранее были зарегистрированы другими модулями по их именам. Это происходит в зависимости от порядка загрузки модулей.

Если Module A и Module B загружены в дополнение к модулю Native соответственно, список конечных ресурсов и их источников будет следующим:

Native Module A Module B Result
adobe_wall
tarnished_metal
ground_mud
marble
-
adobe_wall
tarnished_metal
-
-
metal_plate
adobe_wall
-
ground_mud
-
-
Module B::adobe_wall
Module A::tarnished_metal
Module B::ground_mud
Native::marble
Module A::metal_plate

В настоящее время модифицируемые типы ассетов:

Иерархия папок

Система ассетов обрабатывает некоторые папки в каталоге модуля специально в соответствии с их именами. Вот список этих папок и их использование:

Разрешения на редактирование

Система ассетов ищет разные папки в зависимости от версии исполняемого файла игры. В зависимости от наличия этих папок он решает, можно ли изменить модуль или его можно использовать только в режиме только для чтения. Если вы хотите распространить свой модуль, вы можете упаковать свои ассеты и поделиться упакованными папками, не распространяя тысячи файлов и их источников. У вас есть три варианта упаковки ваших активов:

Вы также можете поделиться своим модулем так же, как вы его используете, чтобы другие могли его изменять. В этом случае вы должны распределить папки Assets, AssetSources и, возможно, RuntimeDataCache.

Переопределение материалов

Переопределение материалов может быть выполнено путем создания нового материала с тем же именем, что и материал, который вы хотите переопределить. Перейдите в каталог ресурсов вашего модуля и щелкните правой кнопкой мыши в пустое место на панели браузера. Создайте новый материал и переименуйте его в то же имя, что и у материала, который вы хотите переопределить.

На этом этапе все ссылки на материалы в системе будут перенаправлены на ваш пользовательский материал.

Переопределение сеток

Модели можно импортировать из файлов нескольких форматов (например, Trf, Fbx). Ресурсы, импортированные из одного файла, группируются по именам в соответствии с <>правилами именования ресурсов<>. Представьте себе файл fbx следующим образом:

Согласно соглашениям об именах ресурсов, первые три ресурса будут сгруппированы в одну сетку, в которой три подсетки принадлежат разным LOD. В конце будут импортированы два ресурса из Model.fbx : wall(Mesh) и bo_wall(Physics shape).

Следуя этим правилам, вы можете экспортировать новый файл геометрии (например, fbx), который содержит группу сеток, имена которых начинаются с wall. В этом случае новая сетка wall будет создана из этих подсеток, а существующая сетка будет полностью заменена той, которую вы указали. Имя файла геометрии не учитывается. Стоит отметить, что переопределение сетки происходит на уровне сетки. Невозможно переопределить одиночную подсетку с помощью переопределения модуля.



Переопределение текстур

Переопределение текстур очень похоже на материалы. Вам необходимо импортировать новую текстуру с тем же именем текстуры, которую вы хотите переопределить. Вы также можете переименовать любую уже импортированную текстуру во что-то, что соответствует имени текстуры, которую нужно переопределить.



Переопределение физических фигур

Для переопределения физических фигур необходимо импортировать физическую форму с тем же именем ресурса, который вы хотите заменить. Установите флажок <>Asset naming conventions<>, чтобы увидеть возможность импорта физических фигур.