Документация Вывод

Экспорт скелета для игровых движков

Файл ▸ Экспорт ▸ Скелет (JSON)… записывает костный риг и его анимации данными, которые может воспроизвести игровой движок, вместо того чтобы отрисовывать их в картинки.

Спрайт-лист хранит каждый кадр картинкой. Экспорт скелета хранит сам риг: кости, прикреплённые к ним изображения и то, как кости движутся во времени. Персонажа затем рисует сам движок, поэтому анимация остаётся лёгкой и плавной при любом размере и частоте кадров.

Экспорт

  1. Выберите Файл ▸ Экспорт ▸ Скелет (JSON)….
  2. Выберите папку. Экспорт записывает несколько файлов, поэтому спрашивает папку, а не имя файла.
  3. Файлы записываются сразу. Настраивать ничего не нужно.

В папку попадают skeleton.json, изображение-атлас skeleton.png с картинками, прикреплёнными к костям, и по одному PNG на каждую сетку с именем слоя сетки. Символ, который не может стоять в имени файла, заменяется, а если у двух сеток одно имя, ко второму файлу добавляется номер. Имена постоянные, поэтому повторный экспорт того же проекта заменяет те же файлы.

Что содержит файл

Структура повторяет структуру Spine: кости, слоты, вложения и анимации. Это не файл Spine, и официальные рантаймы Spine его не читают, но формат достаточно знакомый, чтобы импортёр для вашего движка пришлось написать один раз.

ЧастьЧто содержит
КостиКаждую кость каждого слоя костей с её позой покоя относительно родителя. Статичные кости, то есть цели IK, не включаются: их влияние уже учтено в костях, которыми они управляют
Вложения сеткиКаждый слой сетки с вершинами в покое, треугольниками и весом каждой кости на каждой вершине
Вложения областиСлои, жёстко следующие за костью через «Связать слой», размещённые на атласе с постоянным смещением от кости
АнимацииПо одной анимации на каждый маркер группы на шкале времени, с именем маркера. Если маркеров групп нет, создаётся одна анимация default от точки входа до точки выхода

Всё, что иначе пришлось бы воспроизводить движку, запекается в простые числа: IK, динамика костей, управляющие кости и действия становятся обычными ключами поворота, перемещения и масштаба. Если действие меняет форму сетки так, что веса костей этого передать не могут, анимация вместо этого хранит позиции вершин сетки покадрово, поэтому движку не нужно знать, как работают действия.

Что пока не входит

  • Слои, которые двигаются собственными ключевыми кадрами и не связаны с костью. Экспортируйте их спрайт-листом или последовательностью PNG.
  • Автоматическое следование внутри слоя костей. Экспортируются только привязанные или закрашенные вами веса и слои, связанные через «Связать слой», поэтому слой, который следует за ригом только благодаря привязке «Гибкая» или «По области», в экспорте не движется.
  • Сетка, у которой помимо костей есть собственные позиция, поворот или масштаб.
  • Ограничения IK, трансформации, пути и физики как живые ограничения, события и скины для смены костюмов.
Ключи перемещения и масштаба получают только кости, которые действительно сдвигаются или масштабируются; большинство костей только вращаются, поэтому их анимации содержат лишь поворот. Так файл остаётся небольшим.