#!/usr/bin/env python # -*- coding: utf-8 -*- import sys import os import maya.cmds as cmds def run(): TOOL_PATH = os.path.dirname(os.path.dirname(os.path.abspath(__file__))).replace("\\", "/") OUTPUT_PATH = os.path.join(TOOL_PATH, "data", "output").replace("\\", "/") BODY_FILE_NAME = "body.fbx" BODY_FILE_PATH = os.path.join(OUTPUT_PATH, BODY_FILE_NAME).replace("\\", "/") HEAD_FILE_NAME = "head.fbx" HEAD_FILE_PATH = os.path.join(OUTPUT_PATH, HEAD_FILE_NAME).replace("\\", "/") # 导出Body cmds.select(clear=True) cmds.select("body_rig", add=True) cmds.select("DHIbody:root", add=True) cmds.file(BODY_FILE_PATH, force=True, options="groups=0;ptgroups=0;materials=0;smoothing=1;normals=1", type='FBX export', exportSelected=True) # 导出Head cmds.select("DHIbody:spine_04", hi=True) # 选择"DHIbody:spine_04"及其子对象 cmds.delete() # 删除选定的对象 cmds.select("DHIbody:thigh_r", hi=True) # 选择"DHIbody:spine_04"及其子对象 cmds.delete() # 删除选定的对象 cmds.select("DHIbody:thigh_l", hi=True) # 选择"DHIbody:spine_04"及其子对象 cmds.delete() # 删除选定的对象 # 将"DHIhead:spine_04"作为"DHIbody:spine_03"的子对象 cmds.parent("DHIhead:spine_04", "DHIbody:spine_03") # 打印"DHIhead:spine_04"的新父对象 print(cmds.listRelatives("DHIhead:spine_04", parent=True)) cmds.select(clear=True) cmds.select("head_grp", add=True) cmds.select("DHIbody:root", add=True) cmds.file(HEAD_FILE_PATH, force=True, options="groups=0;ptgroups=0;materials=0;smoothing=1;normals=1", type='FBX export', exportSelected=True) # 撤销导出前对当前场景的删除等操作 cmds.undo() cmds.undo() cmds.undo() cmds.undo() cmds.undo() cmds.undo() cmds.undo() cmds.undo() cmds.undo() cmds.undo() if __name__ == "__main__": run()