VoxelEngine/doc/ru/rigging.md
2024-07-21 21:54:30 +03:00

49 lines
2.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Риггинг
## Скелеты
Скелеты сущностей создаются через 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 не обязательно.