add doc/ru/rigging.md

This commit is contained in:
MihailRis 2024-07-13 10:25:45 +03:00
parent 8617784084
commit 4d47a20c07

44
doc/ru/rigging.md Normal file
View File

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