80 lines
1.8 KiB
Python
80 lines
1.8 KiB
Python
#!/usr/bin/env python
|
|
# -*- coding: utf-8 -*-
|
|
|
|
import maya.cmds as cmds
|
|
import maya.mel as mel
|
|
|
|
def create_menu_item():
|
|
"""
|
|
创建Maya菜单项
|
|
- 添加SuperRigging菜单
|
|
- 添加Super Rigging和Pose Wrangler子菜单项
|
|
"""
|
|
icon = "unreal.png"
|
|
logo = "logo.png"
|
|
|
|
# 创建主菜单
|
|
cmds.menu(
|
|
"SG_MENU",
|
|
tearOff=True,
|
|
label="SuperRigging",
|
|
parent="MayaWindow"
|
|
)
|
|
|
|
# 添加Super Rigging菜单项
|
|
cmds.menuItem(
|
|
"SG_Editor",
|
|
label="Super Rigging",
|
|
image=logo,
|
|
command="execute_super_rigging()"
|
|
)
|
|
|
|
# 添加Pose Wrangler菜单项
|
|
cmds.menuItem(
|
|
"SG_PoseWrangler",
|
|
label="Pose Wrangler",
|
|
image=icon,
|
|
command="execute_pose_wrangler()"
|
|
)
|
|
|
|
def execute_super_rigging():
|
|
"""
|
|
执行Super Rigging功能
|
|
- 加载必要的插件
|
|
- 打开Super Rigging窗口
|
|
"""
|
|
# 获取Maya版本
|
|
version = cmds.about(version=True)
|
|
|
|
# 需要加载的插件列表
|
|
plugins = [
|
|
f"SuperRiggingEditor{version}",
|
|
f"MayaUE4RBFPlugin{version}",
|
|
"embeddedRL4",
|
|
"MayaUERBFPlugin",
|
|
"mayaHIK"
|
|
]
|
|
|
|
# 加载所有必要的插件
|
|
for plugin in plugins:
|
|
try:
|
|
if not cmds.pluginInfo(plugin, query=True, loaded=True):
|
|
cmds.loadPlugin(plugin, quiet=True)
|
|
cmds.pluginInfo(plugin, edit=True, autoload=True)
|
|
except:
|
|
pass
|
|
|
|
# 打开Super Rigging窗口
|
|
mel.eval("SuperRiggingWindow;")
|
|
|
|
def execute_pose_wrangler():
|
|
"""
|
|
执行Pose Wrangler功能
|
|
- 导入并初始化Pose Wrangler
|
|
"""
|
|
# 导入并创建Pose Wrangler实例
|
|
python_cmd = """
|
|
from epic_pose_wrangler import main
|
|
pose_wrangler_instance = main.PoseWrangler()
|
|
"""
|
|
mel.eval(f'python("{python_cmd}")') |