
Скрипт надає компактне вікно з трьома кнопками для швидкого перемикання системи орієнтації (axis orientation) інструментів трансформації в Autodesk Maya:
Дозволяє миттєво змінювати режим осей між World, Object та Component без відкриття Tool Settings.
maya.cmdsСкрипт створює невелике немасштабоване вікно AxisSwitcherWindow без title bar, що містить три кнопки:
cmd.windowcmd.formLayoutcmd.buttonПовторний запуск функції AxisSwitcher() закриває вікно, якщо воно вже існує (toggle-поведінка).
У кожній функції перемикання викликається:cmd.currentCtx()
Це повертає поточний активний контекст (tool context), наприклад:
moveSuperContextRotateSuperContextscaleSuperContextСкрипт реагує тільки на ці три контексти.
World Axis — world_axis()
Встановлює світову орієнтацію маніпулятора:
manipMoveContext('Move', e=1, m=2)manipRotateContext('Rotate', e=1, m=1)manipScaleContext('Scale', e=1, m=2)Object Axis — object_axis()
Встановлює орієнтацію по локальних осях об’єкта:
m=0m=0m=0Component Axis — component_axis()
Встановлює орієнтацію відносно компонентів (наприклад, нормалі фейса або локального напрямку елемента):
m=9m=9m=9У всіх випадках використовується редагування існуючого контексту:e=1 (edit mode).
AxisSwitcher()cmd.window(windowName, exists=True)cmd.deleteUI)formLayout1. Запустити скрипт у Python Script Editor або підключити до меню/шелфу.
2. Після запуску з’явиться вікно з кнопками:
3. Активувати інструмент Move, Rotate або Scale та натискати відповідні кнопки для зміни орієнтації маніпулятора.
m жорстко закодовані та залежать від внутрішньої логіки Maya для режимів маніпуляторів. При зміні поведінки API в нових версіях Maya можливі відмінності.Скрипт оптимізує робочий процес ріггінгу, моделювання та технічної анімації, дозволяючи швидко перемикати систему координат трансформацій без переходу в Tool Settings або Marking Menu. Особливо корисний при частому переході між локальними, світовими та компонентними осями під час точного позиціонування.