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