3 / Существующие скрипты и инструменты
This project is a student project at the School of Design or a research project at the School of Design. This project is not commercial and serves educational purposes

В главе рассматривается установка, настройка и принцип работы следующих скриптов:

- Studio Library - ZV Parent Master - Switch IK/FK - Tween Machine - Overlapper - bhGhost

Studio Library

Плагин Studio Library для Autodesk Maya — это бесплатный инструмент, реализованный в виде Python-скрипта, который позволяет сохранять и управлять позами персонажей, а также переносить анимацию между ригами.

big
Original size 1360x828

Интерфейс плагина

Studio Library предоставляет удобный интерфейс для выбора, сохранения и применения поз. Каждая поза сохраняется как отдельный JSON файл на диске. Этот файл содержит данные о трансформациях и анимационных ключах контроллов рига в формате, который плагин может прочитать и применить.

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

big
Original size 990x215

Запуск скрипта

Плагин содержит набор Python-скриптов, который интегрируется в среду Maya как пользовательский инструмент. Для запуска используется импорт модуля studiolibrary и вызов главной функции studiolibrary.main (). Это создает интерфейс и функционал плагина.

Original size 1463x875

В Studio Library для удобства пользователя есть функция загрузки готового изображения или его создания для превью позы или анимации.

Скрипты плагина используют стандартные возможности Maya для создания скриншота или рендера вьюпорта (например, команды из модуля cmds такие как cmds.playblast () или cmds.viewFit () и другие функции для позиционирования камеры), чтобы получить изображение актуального кадра с позой.

Полученное изображение сохраняется в файловой структуре библиотеки поз как отдельный JPG файл, связанный с конкретной позой или анимацией.

Original size 715x199

Результат выполнения команды «capture» в Studio Library

Также в плагине есть функция совмещения нескольких поз (blending). Она реализована как механизм плавного смешивания трансформаций и анимационных ключей разных поз для создания промежуточных состояний.

Для каждого контролла вычисляется смешанное значение трансформаций как интерполяция между исходными позами. Обычно применяется линейная интерполяция (LERP) для перемещений и размера и сферическая линейная интерполяция (SLERP) для вращений, чтобы избежать артефактов.

Пользователь задает веса смешивания поз (например, 50% позы А и 50% позы Б), и скрипты запрашивают эти значения для вычисления результирующих параметров.

Гифка с демонстрацией смешения поз через blending.

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

В основе лежит механизм, который сохраняет как статические трансформации, так и анимационные данные — ключи и кривые.

Original size 1359x795

Создание mirror table

Studio Library поддерживает функцию отзеркаливания поз и анимации, что значительно ускоряет работу с симметричными персонажами.

Для этого нужно предварительно определить «mirror table» — таблицу соответствий контроллов левой и правой стороны рига. Обычно это текстовый файл или настройка внутри плагина, где указываются пары имен контроллов (например, «L_Hand» ↔ «R_Hand»).

В настройках можно задать правила для инверсии осей трансформаций, чтобы корректно отражать позицию и вращение контроллов без искажения позы.

Для корректной работы важно, чтобы персонаж при создании mirror table находился в дефолтной позе без смещений и трансформаций контроллов.

Original size 2055x460

mirror table

Original size 2055x460

Опция «mirror»

Подробный процесс установки и использования основных функций плагина показан в видео-туториале ниже.

Таймкоды: - 00:00 - 01:00 - 02:00

Версия плагина, используемая в работе: Studio Library Free — 2.20.2. В качестве анимационной модели для примера используется Mireuk — character rig for maya от Ramon Arango.

Видео-туториал.

ZV Parent Master

ZV Parent Master — это скрипт для Autodesk Maya, предназначенный для упрощения и автоматизации процесса родительской привязки объектов в сцене. Его основная задача — облегчить аниматорам работу с иерархиями и связями между объектами.

Скрипт также реализован на Python и использует стандартный Maya cmds API для создания и управления родительскими связями.

ZV Parent Master предоставляет удобный интерфейс для быстрого связывания выбранных объектов с родительскими контроллами, автоматически учитывая правильную иерархию. Он позволяет создавать как временные, так и постоянные связи, а также менять родителя у множества объектов одновременно. Этот плагин особенно полезен при работе со сложными сценами, где иерархии часто изменяются и требуют быстрой перестройки. Использование ZV Parent Master снижает риск ошибок, свойственных ручной привязке объектов, что позволяет аниматору сэкономить время и работать эффективнее.

Original size 1524x303

Запуск скрипта

Для запуска плагина в Maya импортируют модуль zvparentmaster.ui и вызывают zvparentmaster.ui.show () в Python-консоли. После этого появляется собственное окно интерфейса с набором кнопок и элементов управления. Для удобства скрипт нужно сохранить на полку, чтобы не запускать его повторно при каждом открытии программы.

Original size 1188x172

Кнопки плагина

Attach Objects Это основная кнопка для работы. Объекты выбираются в следующей последовательности: ребенок > родитель. Затем при нажатии кнопки Attach первый объект будет следовать за вторым, как при обычной родительской связи.

Detach Objects Позволяет отсоединить дочерний объект от родителя. Для того, чтобы разорвать связь, нужно выбрать первый и второй объекты и нажать Detach. Ребенок перестанет следовать за родителем и будет анимироваться самостоятельно.

Destroy Constraints Используется для удаления всех созданных ZV Parent констрейнов на выбранном объекте. После нажатия доступен выбор: сбросить позу дочернего объекта (с сохранением локальной анимации) или запечь констрейны в анимацию на активном промежутке времени. В обоих случаях констрейны удаляются.

Fix Snap Исправляет внезапные «прыжки» объекта, которые могут возникнуть при изменении анимационных кривых родителя или сдвигов констрейнов. Для этого нужно перейти в кадр, где происходит «скачок», выбрать дочерний объект и нажать на кнопку. Плагин обновляет анимацию и устраняет проблему. Также при зажатии ПКМ на иконке появляется функция «Fix snaps in the active range», которая запускает проверку и исправление прыжков по всему активному временному диапазону.

Select Constraints and Snap Groups Вспомогательная функция для изменения порядка и времени констрейнов. При выборе дочернего объекта и запуске команды на таймлайне появляются зеленые ключи в местах привязки/отвязки объектов. Они аналогичны обычным ключам и позволяют перемещать констрейны.

Original size 1280x150

Select constraints and snap groups на таймлайне

Constraint Timeline Полезная функция для сложных анимаций с множественными констрейнами. После выбора дочернего объекта и нажатия этой кнопки откроется окно, в котором цветные блоки показывают, какой родитель управляет объектом в определенные промежутки, а серые — когда объект свободен. При наведении курсора на цветной блок высвечивается название родительского объекта и диапазон кадров. При изменении констрейнов окно обновляется автоматически. Также доступна навигация между констрейнами через контекстное меню, которое появляется при зажатии ПКМ.

Original size 1600x215

Constraint timeline

Для корректной работы ZV Parent Master необходимо, чтобы каждый контролл, с которым будет работать плагин, имел сверху две группы. Эти группы должны иметь те же трансформы и положение пивота, что и сам контролл, а также быть правильно названы, чтобы избежать ошибок при привязке.

Если работа происходит с референсным файлом, плагин не сможет создать группы, и появится окно с инструкцией:

- Откройте референсный файл. - Выберите все контроллы, которые будут задействованы в работе. - Зажмите ПКМ на кнопке «Attach objects» и выберите в меню пункт «Create parent groups — available attrs». - Сохраните файл.

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

Окно, появляющееся при работе с референсным файлом и фикс проблемы

Процесс установки и запуска скрипта, а также пример использования показан в туториале ниже.

Версия плагина: ZV PARENT MASTER 1.3. Разбор происходит на примере сцены, находящейся в архиве с плагином.

Loading...

Universal IK FK Switch and Match Tool

Universal IK FK Switch and Match Tool — это плагин, предназначенный для упрощения работы с системами IK (инверсная кинематика) и FK (прямая кинематика) в анимации. Он предоставляет пользователям удобные инструменты для переключения между IK и FK режимами и сопоставления позиций и ориентаций контроллов, если такая функция не предусмотрена в риге по умолчанию.

Плагин работает по следующему принципу:

- Сначала получает точные мировые трансформации IK-контролла (например, позицию кисти и направления локтя через pole vector). - Затем аналитически рассчитываются повороты соответствующих FK-джоинтов. Позиция IK-контролла служит целевым значением, а на FK контроллы записываются такие значения вращения, чтобы кисть совпала с IK позицией. Тут часто используется матричная алгебра или стандартные функции Maya (например, xform, matrix, orientConstraint). - Плагин позволяет вручную задать смещения вращений, если IK и FK системы имеют разные локальные оси, чтобы корректно преобразовывать вращения. - После сопоставления значения записываются в анимируемые атрибуты FK контроллов.

Original size 1124x242

Расположение файла mayapy.exe

Original size 1124x242

Запуск командной строки

Original size 1124x241

Установка PyMEL

Для установки и работы плагина необходимо, чтобы Maya поддерживала библиотеку PyMEL, которой может не быть по умолчанию. Для её установки нужно выполнить следующие шаги:

1. Найти путь до исполняемого файла mayapy.exe. Он находится в той же папке bin, где и сама программа, поэтому для нахождения можно посмотреть расположение файла через нажатие ПКМ по ярлыку. 2. Открыть командную строку, для этого находясь в папке с файлом mayapy.exe ввести в строку с расположением файла cmd и нажать enter. 3. Запустить команду установки PyMEL через pip, используя -m pip install pymel. 4. Дождаться завершения установки, запустить Maya и проверить работоспособность, открыв Script Editor и выполнив код: import pymel.core as pm s = pm.sphere () Если сфера создалась, то всё корректно.

Original size 2190x604

Проверка работы PyMEL

Плагин устанавливается путем перемещения файла mog_ikFkSwitchFree.py в директорию со скриптами и запуском команды в Script Editor:

import pymel.core as pm import mog_ikFkSwitchFree as mog_ikFkSwitchFree import imp imp.reload (mog_ikFkSwitchFree) mog_ikFkSwitchFree.FkIk_UI ()

После чего появляется интерфейс плагина. Для удобства скрипт лучше сохранить на полку.

Original size 1145x324

Установка и запуск скрипта

Появившееся при запуске скрипта окно содержит 3 вкладки:

Setup Store Node — здесь происходит выбор конечности и настройка контроллов.

Help — небольшой раздел с подсказками и инструкцией от автора плагина, который также содержит числовые значения смещений для некоторых часто встречающихся или выполненных на Advanced Skeleton ригов.

Match and Switch — сопоставление поз и переключение кинематик.

Original size 1881x1250

Интерфейс и вкладки плагина

Для начала пользователю нужно определить конечность, с которой будет происходить работа: R Arm — правая рука, L Arm — левая рука, R Leg — правая нога, L Leg — левая нога.

После этого назначаются контроллы. Для этого нужно поочередно выбирать и загружать в соответствующие поля FK контроллы плеча/бедра, предплечья/голени и запястья/стопы, IK контролл запястья/стопы, контролл локтя/колена, контролл-переключатель и атрибут для переключения. Атрибут находится в Channel Box, именно через него происходит смена кинематик.

Когда все контроллы назначены, можно сохранять сетап. При успешном выполнении в аутлайнере появится пустая группа с постфиксом _IKFKSTORE.

Для переключения кинематик нужно выделить любой из контроллов требуемой конечности и нажать на кнопку Load Store Node from Selection. В результате в поле ниже должна отобразиться надпись Storenode found, что означает готовность кинематики к сопоставлению. Сопоставление происходит при нажатии на Match IK >> FK или Match FK >> IK в зависимости от того, как из кинематик включена. Только после этого можно нажимать находящиеся ниже кнопки переключения: Switch IK и Switch FK.

Original size 1114x226

Работа с плагином

Процесс установки и запуска скрипта, а также настройка и работа с ним показаны в туториале ниже.

Таймкоды: - 00:00 - 01:00 - 02:00

Версия плагина, используемая в работе: Universal IK FK Switch and Match Tool FREE 3.1.0 for Maya. В качестве анимационной модели для примера используется Mireuk — character rig for maya от Ramon Arango.

Видео-туториал.

Tween Machine Py3

Tween Machine Py3 — это скрипт, предназначенный для быстрого создания промежуточных поз (breakdowns) между ключевыми кадрами анимации. Его суть — упростить работу аниматора, позволяя мгновенно «привязать» выбранные ключи к определенному проценту смещения между двумя соседними ключевыми позами.

Original size 3728x622

Запуск скрипта

Для запуска скрипта необходимо ввести в Script Editor команду import tweenMachine и tweenMachine.start (), предварительно поместив файл tweenMachine.py в папку со скриптами. Для последующего удобства использования также можно сохранить скрипт на полке.

Original size 1755x181

Окно плагина и числовые значения кнопок

Плагин представляет собой дополнительное окно с достаточно простым интерфейсом. С помощью единственного слайдера и набора кнопок регулируется степень смешивания промежуточных поз. Скрипт автоматически пересчитывает значения ключей, облегчая создание плавных переходов.

С помощью слайдера вручную задается процент, на который промежуточные ключи будут сдвинуты ближе к одному из соседних ключевых кадров (например, -100 — ключ в позиции первого ключа, 100 — в позиции второго ключа, а промежуточные значения создают плавный переход). Кнопки, находящиеся ниже, также имеют свои числовые значения и используются для быстрого назначения ключей.

Слайдер по умолчанию имеет диапазон от -100 до 100, однако при включении параметра «overshoot» он увеличивается и позволяет выставлять значения от -150 до 150.

Original size 1755x174

Окно плагина и вкладка «опции»

Опция «overshoot» добавляет «замах» к промежуточным ключам, что помогает сделать анимацию более динамичной и выразительной. Это особенно полезно для усиления инерции и динамики.

Другая опция «Special Tick color» меняет цвет отметок ключевых кадров, создаваемых с помощью плагина. По умолчанию используется стандартный красный цвет ключей, однако при включении опции они становятся зелёными, что позволяет визуально отличать автоматические промежуточные ключи от созданных вручную.

Original size 2636x329

Отличие по цветам автоматических и созданных вручную ключей

Процесс установки и демонстрация работы плагина показаны в туториале ниже.

Таймкоды: - 00:00 - 01:00 - 02:00

Версия плагина, используемая в работе: Tween Machine Py3 for Maya 2022+. В качестве анимационной модели для примера используется Mireuk — character rig for maya от Ramon Arango.

Видео-туториал.

Overlapper

Overlapper — это инструмент, предназначенный для создания эффектов «перекрывающих действий» (overlapping action), что особенно важно для реалистичного воспроизведения вторичных движений в персонажах и объектах.

Original size 1541x178

Запись загрузки скрипта в Script Editor

Плагин устанавливается путем перетаскивания MEL файла во вьюпорт Maya. На полке автоматически появляется иконка, при нажатии на которую открывается интерфейс плагина.

Интерфейс плагина и вкладка Advanced

Для работы плагина необходимо, чтобы на теле персонажа или объекте уже была создана анимация движения — иначе плагину будет неоткуда брать данные для формирования перекрывающихся движений.

Пользователь может вручную выбрать цепочку FK контроллов конечности от основания до кончика и запустить плагин. Также возможно выбрать только первый FK контролл и активировать опцию «hierarchy», которая позволяет скрипту автоматически определить иерархию контроллов, упрощая процесс настройки и ускоряя работу.

Анимация хвоста без применения плагина и анимация, созданная Overlapper на дефолтных настройках (softness 3.00, scale 1.00)

Параметр softness отвечает за степень мягкости конечности или объекта. Чем выше значение, тем сильнее объект подвержен деформации и тем более «дерганой» будет анимация. По умолчанию softness установлен на уровне 3. При меньших значениях объект становится жёстче, лучше сохраняет форму и его движение менее динамично.

Параметр scale определяет масштаб или силу воздействия эффекта перекрытия на анимацию. Чем выше scale, тем крупнее амплитуда перекрывающего движения. Значение по умолчанию равно 1, при нулевом уровне эффект перекрытия минимален. Рекомендуется не устанавливать scale выше 10, так как это может негативно сказаться на качестве анимации, делая её чрезмерно раздробленной и неестественной.

Анимация, созданная плагином, с настройками: слева — softness и scale на 1.00, справа — 3.00

В плагине также есть несколько дополнительных полезных опций:

Wind — позволяет добавить динамику ветра к перекрывающимся движениям. Scale задаёт масштаб или интенсивность воздействия ветра на движения. Чем выше значение, тем сильнее эффект ветра. Параметр speed устанавливает скорость движения ветра, влияя на частоту и динамику волнообразных колебаний анимации.

Don’t use first control — опция, которая исключает первый контролл в выбранной иерархии из воздействия плагина.

Add translate — позволяет применять эффект перекрывающегося движения не только к вращениям контроллов, но и к их смещению.

Cycle — опция для создания бесшовных циклических перекрывающихся движений. Это удобно при работе с цикличной анимацией, чтобы движения плавно повторялись без резких скачков.

Original size 1873x432

Анимационные кривые, созданные плагином при включенной опции cycle

Original size 1873x432

Анимационные кривые, созданные плагином при выключенной опции cycle

Во вкладке advanced плагина представлены следующие важные опции:

Debug mode — режим отладки.

Bake on anim layer — функция, которая позволяет сразу запекать анимацию, созданную плагином, на отдельном слое анимации в Maya. Это облегчает дальнейшее редактирование и комбинирование с другими анимациями.

Adaptive scale — адаптивное масштабирование, при включении плагин автоматически подбирает оптимальный для сцены масштаб воздействия эффекта перекрытия.

Create selection set — создание в аутлайнере сета для контроллов или объектов, к которым применяется эффект.

Delete redundant — удаление лишних или дублирующихся данных анимации, помогает оптимизировать сцену и избежать конфликтов.

Clean up — общий инструмент для очистки и оптимизации сцены после применения плагина, удаляет временные или ненужные объекты и связи, в том числе созданные плагином сеты.

Созданный плагином сет объектов и анимационные слои

Процесс установки и демонстрация работы плагина показаны в туториале ниже.

Таймкоды: - 00:00 - 01:00 - 02:00

Версия плагина, используемая в работе: Overlapper 1.1.2. В качестве анимационной модели для примера используется Boxy Saber Tooth Tiger от Truong CG Artist.

Видео-туториал.

bhGhost

bh Ghost — это инструмент, который переносит концепцию onion skinning (в 2D-анимации режим калькирования, позволяющий видеть предыдущие и последующие кадры одновременно) в 3D-анимацию. Он помогает визуализировать скелет и движения персонажей в виде трёхмерных контуров прямо в окне Maya, облегчая анализ переходов между позами и улучшая качество анимации.

Original size 1541x469

Script Editor с кодом плагина

Для установки плагина необходимо перетащить файл в окно для написания кода на MEL в Script Editor. В результате появится скрипт с комментариями автора, инструкциями и необходимым кодом для активации плагина. Чтобы отобразить интерфейс плагина, необходимо запустить этот скрипт. Для удобства работы его можно сохранить на полку.

Original size 1334x574

Интерфейс плагина и контур, созданный для выбранных частей персонажа

Плагин представляет собой небольшое окошко с достаточно простым интерфейсом. Пользователь выбирает геометрию, для которой необходимо создать контур, и загружает её в специальное окно через нажатие на кнопку «Add selected meshes». Стоит отметить, что это может быть не очень удобно при работе с персонажами, у которых по умолчанию заблокирован выбор геометрии через вьюпорт, поэтому необходимый меш нужно отыскать вручную в аутлайнере.

При нажатии кнопки «Ghost» во вьюпорте появляется контур выбранного объекта — так называемый «призрак».

Original size 1364x613

Интерфейс и вкладки плагина

Визуализация контура настраивается по цвету (вкладки Color A и Color B), толщине линий и отображению с помощью элементов управления плагина.

«Призраков» во вьюпорте легко скрыть или отобразить (кнопка Vis), а при необходимости — удалить для одного кадра (кнопка Bust1) или сразу для всех (BustAll).

Слайдер, находящий под этими кнопками, отвечает за толщину контура, а ниже расположены множители, которые влияют на масштабирование значения: х1, х10, х0.1 и х0.01.

В разделе «Mode» представлены следующие опции:

Set Line Thickness multiplier — установка множителя для толщины контура «призрака». Attach to Camera — привязка «призрака» к конкретной камере, чтобы контур всегда оставался видимым относительно определенной точки обзора.​ Replace Mode — режим замены, при котором «призрак» заменяет исходный объект, например, при временной визуализации.​ Hide on Playback (2016+) — скрытие призрака во время проигрывания анимации. Smooth Ghosts (slower) — активация сглаживания контура. Reduce Mesh Detail (faster) — уменьшение детализации меша призрака для увеличения скорости отображения.​ Set Reduce Detail Amount — ручная настройка степени уменьшения детализации для баланса качества и производительности.​ Ghost Multiples — позволяет создавать и управлять несколькими призраками одновременно для сложных сцен или эффектов.​

Аутлайнер и ноды, созданные плагином

Технически это реализовано через создание плагином дубликата меша (его можно найти скрытым в аутлайнере в папке bhGhosts) и специальной ноды bhGhostNode. Она представляет собой особую ноду pfxToon, используемую для создания мультяшных контурных линий вокруг 3D-объекта.

При успешном создании «призрака» в Script Editor отображается запись: «Boo!.. Created Ghost on Frame».

Original size 1541x224

Результат создания «призрака» в Script Editor

Процесс установки и демонстрация работы плагина показаны в туториале ниже.

Таймкоды: - 00:00 - 01:00 - 02:00

Версия плагина, используемая в работе: bhGhost 1.55. В качестве анимационной модели для примера используется Boxy Saber Tooth Tiger от Truong CG Artist.

Видео-туториал.

Bibliography
Show
1.

Autodesk. Autodesk Maya Documentation. URL: https://help.autodesk.com/view/MAYAUG/2022/ENU/ (дата обращения: 19.10.2025).

2.

Maya API Documentation. URL: https://help.autodesk.com/cloudhelp/2022/ENU/Maya-Tech-Docs/CommandsPython/ (дата обращения: 19.10.2025).

3.

Pixar Animation Studios. URL: https://www.pixar.com/technology-at-pixar (дата обращения: 19.10.2025).

4.

Autodesk Knowledge Network. Introduction to MEL Scripting. URL: https://knowledge.autodesk.com/support/maya/learn-explore/caas/CloudHelp/cloudhelp/2022/ENU/Maya/files/GUID-E2F3F3E1-91A4-4AD2-99B6-0DC13C7D9EE7-htm.html (дата обращения: 19.10.2025).

5.

Википедия: Autodesk Maya — редактор трёхмерной графики. URL: https://ru.wikipedia.org/wiki/Autodesk_Maya (дата обращения: 19.10.2025).

Image sources
1.

https://www.youtube.com/watch?v=kBd4KjLqjpA (дата обращения: 18.11.2025)

2.

https://help.autodesk.com/view/MAYAUL/2018/ENU/ (дата обращения: 18.11.2025)

3.

https://paolodominici.com/products/zvparentmaster/ (дата обращения: 18.11.2025)

3 / Существующие скрипты и инструменты
15
Chapter:
1
2
3
4
5
We use cookies to improve the operation of the HSE website and to enhance its usability. More detailed information on the use of cookies can be fou...
Show more