From 4d47a20c070613454400edcb7a4ab67cdc93080d Mon Sep 17 00:00:00 2001 From: MihailRis Date: Sat, 13 Jul 2024 10:25:45 +0300 Subject: [PATCH] add doc/ru/rigging.md --- doc/ru/rigging.md | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 doc/ru/rigging.md diff --git a/doc/ru/rigging.md b/doc/ru/rigging.md new file mode 100644 index 00000000..29594aeb --- /dev/null +++ b/doc/ru/rigging.md @@ -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 не обязательно.