#!/usr/bin/env python # -*- coding: utf-8 -*- """ 版权所有: 清泉时代科技有限公司 联系方式: q.100@qq.com 创建日期: 2023/08/08 """ import maya.cmds as cmds import maya.mel as mel def sg_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}")')