Выбор между Blender и Maya для персонажной анимации решает не спор о программах, а договор о передаче. Blender или Maya: rig и границы передачи — это два разных пакета: native editable rig с полным списком 24 костей, 12 форм и 6 controls либо запечённый FBX для межпакетного playback. Ниже — оба договора, точные эталоны приёмки и границы, за которые отвечает каждый путь.
Два договора передачи: N и E
Договор N нужен, когда получатель продолжает менять rig, IK и лицо. Передача идёт как walk05.blend в согласованном Blender 4.5 LTS либо как walk05.ma/mayaAscii в согласованном Maya 2027, вместе с manifest пакета, версий и внешних зависимостей. В учебной сборке сторонних плагинов нет. Принимающий аниматор проверяет, что все 24 кости, 12 форм и 6 controls существуют и работают в native: foot_IK_L меняет левую ногу, blink_L закрывает левый глаз, root_CTRL не перемещает персонажа в цикле. Открытие другой версией без проверки совместимостью не считается.
Договор E нужен, когда требуется межпакетный playback. Передача идёт как walk05_body.fbx: меш, скин, согласованный набор деформационных костей и запечённые костные трансформации кадров 1–24. Контроллеры, constraints, drivers, IK-система и face-shapes из этого договора исключены; лицевой риг получатель восстанавливает отдельно при необходимости. Принимающий проверяет рост 1,8 м, именованные кости и веса, правильный clip 1–24 при 24 fps.
Разделение N и E — не формальность. Native editable rig принимают только в согласованном пакете, версии и зависимостях: walk05.blend открывают в Blender 4.5 LTS, walk05.ma — в Maya 2027. Документация Maya 2027 по FBX-экспорту описывает пресеты Autodesk Media & Entertainment и Autodesk MotionBuilder, а также отдельные опции Bake Animation, Deformed Models, Skins и Blend Shapes; эти настройки относятся к экспортёру Maya и не описывают приёмку на стороне получателя.
| Договор | Что передаётся | Что проверяет принимающий |
|---|---|---|
| N: правки rig/IK/лица | walk05.blend в Blender 4.5 LTS либо walk05.ma/mayaAscii в Maya 2027; manifest пакета, версий, зависимостей |
24 кости, 12 форм, 6 controls в native; foot_IK_L меняет левую ногу, blink_L закрывает левый глаз, root_CTRL не двигает персонажа |
| E: межпакетный playback | walk05_body.fbx: меш, скин, деформационные кости, запечённые трансформации 1–24 |
рост 1,8 м, именованные кости и веса, clip 1–24 при 24 fps |
Полный список костей, форм и controls
Список ниже — это manifest учебного персонажа Walk-05. Его сверяют построчно, потому что проверка несуществующего списка даёт ложную приёмку.
24 деформационные кости: root, pelvis, spine_01, spine_02, neck, head, upperarm_L, forearm_L, hand_L, upperarm_R, forearm_R, hand_R, thigh_L, shin_L, foot_L, toe_L, thigh_R, shin_R, foot_R, toe_R, tail_01, tail_02, tail_03, tail_04.
12 лицевых форм: smile_L, smile_R, blink_L, blink_R, brow_up_L, brow_up_R, brow_down_L, brow_down_R, jaw_open, mouth_funnel, cheek_puff, nose_wrinkle.
6 управляющих объектов: root_CTRL, hand_IK_L, hand_IK_R, foot_IK_L, foot_IK_R, look_CTRL.
Скин в примере задан как максимум четыре ненулевых влияния на вершину. Это условие учебного примера.
Сверять список удобно по группам: сначала кости скелета, затем лицо, затем controls. Если в native-пакете не хватает хотя бы одной строки, договор N не выполнен, даже когда файл открывается. Для договора E этот же список служит ориентиром: контроллеры и формы в него не входят, а набор деформационных костей согласуют отдельно.
FBX-путь Blender 4.5: что исключено из обязательств
В export-пути Blender 4.5 FBX shape keys не записываются. Документация Blender 4.5 перечисляет их среди отсутствующих возможностей экспортёра, поэтому в договоре E 12 лицевых форм из обязательств исключены. Их отсутствие в FBX ожидаемо и не доказывает потерю всего файла. Требовать 12 форм от этого пути нельзя.
Документация Blender 4.5 описывает и другие особенности FBX-обмена: constraints экспортируются как keyframe-анимация, сами ограничения в файл не сохраняются; кости получают коррекцию ориентации, поскольку FBX-кости выровнены по −X, а кости Blender — по Y; действия не привязываются к объекту автоматически, связь задают вручную. Импортёр FBX в Blender 4.5 работает только с бинарными файлами версии 7.1 и новее.
Отсюда практический вывод для E: в обязательства входят меш, скин, согласованный набор деформационных костей и запечённые трансформации кадров 1–24. Контроллеры, IK-система и face-shapes остаются за границей договора. Поддержка экспортёра Maya сама по себе не гарантирует, что конкретный получатель примет файл: приёмку проводит принимающая сторона на своей версии и своих настройках.
Порядок действий для E:
- Зафиксировать в manifest версию экспортёра и получателя.
- Исключить из обязательств shape keys и контроллеры.
- Запечь костные трансформации кадров 1–24 при 24 fps.
- Передать меш, скин и согласованный набор деформационных костей.
- Провести приёмку по эталонам из следующего раздела.
Эталоны приёмки: native и playback отдельно
Native-проверки касаются rig, playback-проверки — геометрии, масштаба и координат. Смешивать их нельзя: успех в одном договоре ничего не говорит о другом.
Эталон N, первый: установить blink_L=1, остальные 11 форм — в 0. Ожидается только закрытый левый глаз. Эталон N, второй: переместить foot_IK_L на +0,05 м по локальной вертикали и вернуть. Native IK должен менять левую ногу, остальные именованные controls остаются доступными.
Эталон E: на кадрах 1 и 13 root имеет одну и ту же позицию. В пространстве обмена toe_L имеет Z=−0,20 м на кадре 1 и +0,20 м на кадре 13, toe_R — наоборот. После импорта допустимое отклонение учебного договора 0,001 м. Цикл и масштаб проверяют на геометрии. Эти координаты — заданные значения учебной анимации.
| Проверка | Договор N | Договор E |
|---|---|---|
| Лицо | blink_L=1, остальные 11 форм = 0, закрыт только левый глаз |
12 форм не входят в обязательства |
| IK | foot_IK_L +0,05 м по локальной вертикали меняет левую ногу |
IK-система не входит в обязательства |
| Root | root_CTRL не перемещает персонажа в цикле |
root на кадрах 1 и 13 в одной позиции |
| Координаты | controls остаются доступными | toe_L Z=−0,20 м на 1 и +0,20 м на 13, toe_R наоборот |
| Допуск | native-поведение | отклонение 0,001 м |
Проверять native blink_L и foot_IK_L нужно отдельно от playback, масштаба и координат E. Это разные наборы эталонов с разными ожидаемыми результатами.
Оси, единицы и версии пакета
Договор обмена учебного примера задан в метрах, Y Up, лицом −Z. Рабочий Blender 4.5 LTS использует Z Up, поэтому оси при экспорте и импорте согласуют отдельно, а рост измеряют после переноса. Документация Blender 4.5 по FBX описывает преобразование Forward/Up: Blender работает с Y Forward, Z Up, а приложениям с Y в качестве верхней оси нужен вариант −Z Forward, Y Up. Документация Maya 2027 по FBX-экспорту описывает конверсию осей Y-up и Z-up и применяет её только к корневым элементам сцены.
Единицы. Документация Blender 4.5 по свойствам сцены различает Unit Scale, влияющий на отображение значений в интерфейсе, и внутреннее поведение: физические симуляции Unit Scale не учитывают. Документация Maya 2027 по FBX-экспорту описывает Scale Factor и опцию File units converted to; при совпадении единиц экспорта и системных единиц сцены Scale Factor равен 1.0.
Версии. Документация Maya 2027 по FBX-экспорту перечисляет версии FBX от 2019.2 до 2006 для совместимости с разными релизами. Команда file в Maya 2027 принимает типы mayaAscii, mayaBinary и типы сторонних плагинов. Для договора N это означает: walk05.ma открывают в согласованной версии Maya 2027, а walk05.blend — в согласованном Blender 4.5 LTS. Открытие другой версией без проверки совместимостью не считается.
Практический порядок согласования осей и единиц:
- Записать в manifest метры, Y Up и направление лица −Z.
- Согласовать конверсию осей отдельно для экспортёра и импортёра.
- Сверить единицы сцены до экспорта.
- Измерить рост после переноса и сравнить с 1,8 м.
- Зафиксировать версию пакета для обеих сторон.
USD-параметры и границы гарантий
USD-опции не дают гарантии переноса rig. Autodesk MayaUSD управляет exportSkels, exportSkin и exportBlendShapes как отдельными явными параметрами команды экспорта; Blender USD отдельно документирует импорт armatures и shape keys. Эти опции описывают, что экспортёр записывает в файл, и не заменяют согласованный exporter, importer, version и приёмку.
Документация Blender USD перечисляет ограничения: экспортёр не поддерживает невидимые объекты, USD-слои и варианты. При экспорте Armatures и связанных skinned meshes дополнительные модификаторы не применяются, bendy bones не поддерживаются. Абсолютные shape keys также не поддерживаются. Документация MayaUSD описывает exportSkels со значениями none, auto, explicit и exportSkin с теми же режимами. Отдельные параметры означают отдельные решения: включённый экспорт скелета не означает, что контроллеры и IK-система попадут в файл.
В учебном договоре E выбран FBX без лицевых форм, поэтому USD не является запасным обещанием сохранить всё. Если получатель согласовал E, допускается перечисленный baked-перенос и известная работа по восстановлению control и face rig; исходный rig сохранённым не объявляется.
Эталон выбора пакета: получатель требует editable Maya rig и работает только в Maya — готовить native Maya-проект; требует editable Blender rig — native Blender. Если получатель согласовал E, подходит baked-перенос с заранее известным объёмом восстановления.
Частые вопросы
Что выбрать, Blender или Maya, если получатель работает только в одной программе?
Готовить native-проект той программы, в которой работает получатель. Для editable Maya rig это walk05.ma/mayaAscii в согласованном Maya 2027, для editable Blender rig — walk05.blend в согласованном Blender 4.5 LTS. Пакет передают вместе с manifest версий и зависимостей.
Почему в FBX нет лицевых форм?
В export-пути Blender 4.5 FBX shape keys не записываются, и документация Blender 4.5 перечисляет их среди отсутствующих возможностей экспортёра. В договоре E 12 форм из обязательств исключены, лицевой риг получатель восстанавливает отдельно при необходимости. Отсутствие форм в этом файле ожидаемо.
Как проверить, что native rig дошёл целиком?
Сверить manifest: 24 кости, 12 форм и 6 controls. Затем выполнить два эталона: blink_L=1 при остальных 11 формах в 0 даёт закрытый левый глаз; foot_IK_L на +0,05 м по локальной вертикали меняет левую ногу. root_CTRL не перемещает персонажа в цикле.
Что проверять в запечённом FBX?
Рост 1,8 м, именованные кости и веса, clip 1–24 при 24 fps. На кадрах 1 и 13 root стоит в одной позиции; toe_L имеет Z=−0,20 м на 1 и +0,20 м на 13, toe_R — наоборот. Допустимое отклонение учебного договора 0,001 м, цикл и масштаб проверяют на геометрии.
Можно ли перенести rig через USD?
USD-опции управляют экспортом скелетов, скина и blend shapes по отдельности, и они не заменяют согласованный exporter, importer, version и приёмку. В учебном договоре E выбран FBX без лицевых форм. Для editable control rig нужен native-пакет, согласованный по версии и зависимостям.
