2.7 KiB
Риггинг
Скелеты
Скелеты сущностей создаются через json файлы в папке skeletons.
Important
Скелет является неиндексируемой единицей контента. При его загрузке к имени добавляется префикс пака (пример: drop в паке base -> base:drop).
Элемент скелета, или кость, состоит из матрицы транформации, определяющей её положение, вращение и масштаб относительно родительского элемента (кости) или сущности, если элемент является корневым, модели и списка под-элементов.
Файл скелета имеет следующую структуру:
{
"root": {
"name": "имя",
"model": "имя_модели",
"offset": [x, y, z],
"nodes": [
...
]
}
}
- root - корневой элемент
- name - имя элемента для получения индекса (поле опционально)
- model - имя модели для отображения элемента (поле опционально)
- offset - смещение элемента относительно родителя (поле опционально)
- nodes - список элементов - потомков, на которые влияет матрица данного элемента (поле опционально)
На данный момент расположение, вращение, масштабирование выполняется через скриптинг, так же как и анимация.
Процесс работы со скелетами будет упрощен в будущем.
Модели загружаются автоматически, добавление их в preload.json не требуется.
Модели
Модели должны располагаться в папке models. На данный момент поддерживается только OBJ формат.
Important
При загрузке obj модели игнорируется файл *.mtl.
Текстура определяется именем материала, соответствующем формату имен текстур, используемому в preload.json.
Текстуры загружаются автоматически, указывать используемые моделью текстуры в preload.json не обязательно.