Maya Python。用for循环重命名对象 您所在的位置:网站首页 maya怎么样 Maya Python。用for循环重命名对象

Maya Python。用for循环重命名对象

2023-04-10 19:55| 来源: 网络整理| 查看: 265

我一直在看Josh Sobel的Python脚本教程,我一直试图让For循环在某些函数上工作。比如当你用nHair创建一个使用毛囊的带状脊柱时,你需要给毛囊重新命名。我的目标是让For循环寻找以某个名字开头的名字,列出它们,然后重新命名列表中的对象。我确实有一些编码方法可以做到我所要求的:但与For循环不同的是,它们很长,很笨重,而且占用了大量的代码。以下是我目前得到的情况。

''' import DS_jointRename_Demo reload (DS_jointRename_Demo) DS_jointRename_Demo.gui() ''' import re import maya.cmds as cmds import maya.mel as mel if cmds.window("renameWin", exists =True): cmds.deleteUI("renameWin", window = True) myWindow = cmds.window("renameWin",t='DS_jointRename_Demo',w=200, h=500, toolbox=True) column = cmds.columnLayout(adj=True) def gui(): cmds.button( label="Build Examples", c = buildExamples) cmds.separator( w=200, h=3) cmds.button( label="renameHeiarchy", c = renameHeiarchy) cmds.separator( w=200, h=9) cmds.button( label="renameGroupCont", c = renameGroupCont) cmds.separator( w=200, h=9) cmds.setParent('..') cmds.showWindow(myWindow) def buildExamples(*args): cmds.joint(n='exampleGarbage_name11293') cmds.joint(n='exampleGarbage_name11397') cmds.joint(n='exampleGarbage_name15763') cmds.joint(n='exampleGarbage_name11548') cmds.joint(n='exampleGarbage_name11837') cmds.group(n='exampleGroup1',world=True,empty=True) cmds.parent('exampleGarbage_name11293','exampleGroup1') cmds.group(n='exampleGroup2',world=True,empty=True) cmds.joint(n='exampleWaste_name11293') cmds.joint(n='exampleWaste_name12973') cmds.parent('exampleWaste_name12973','exampleGroup2') cmds.joint(n='exampleWaste_name94563') cmds.parent('exampleWaste_name94563','exampleGroup2') cmds.joint(n='exampleWaste_name96397') cmds.parent('exampleWaste_name96397','exampleGroup2') cmds.joint(n='exampleWaste_name49456') cmds.parent('exampleWaste_name49456','exampleGroup2') def renameHeiarchy(*args): garbageList = cmds.ls('exampleGarbage_name*') for i in garbageList: print garbageList cmds.rename(garbageList,'exampleGroup1_joint') def renameGroupCont(*args): wasteList = cmds.ls('exampleWaste_name*') for i in wasteList: print wasteList cmds.rename(wasteList,'exampleGroup2_joint')

我想让这个脚本做的是,在你按下 "建立范例 "后,我想让renameHeiarchy将exampleGroup1中的关节层次重命名为 "exampleGroup1_joint plus number increment"

exampleGroup2,与之不同的是,它的连接点不在heiarchy中的父级,而只是在组的下面。无论怎样,当我运行 "建立范例 "下的任何一个按钮时,我都得到 "#错误。太多的对象或值"。

我只是想让For Loops重命名每组的内容。如果你的For Loops对它们都有效,那就更棒了



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有