我想要做的是將控制器複製到另一端,並將_L
重命名爲_R
。所以我只需要選擇控制器,它會創建一個組,然後創建另一個組,在右側對其進行鏡像,並將其他組重命名爲_R
。然後,第一個團體向世界展開。這就是我想要做的。但我堅持重命名。我知道我必須逆向排序列表進行重命名,但每當我做瑪雅人說:在Maya中將重複列表「L」重命名爲「R」python
More than one object matches name
複製的對象有不同的父母的名字和相同的孩子的名字。請告訴我該怎麼做,以及我錯過了什麼。
import maya.cmds as cmds
list = cmds.ls(sl=1)
grp = cmds.group(em=1, name=("grp" + list[0]))
# creating constraint to match transform and deleting it
pc = cmds.pointConstraint(list, grp, o=[0,0,0], w=1)
oc = cmds.orientConstraint(list, grp, o=[0,0,0], w=1)
cmds.delete(pc, oc)
# parenting it to controller
cmds.parent(list, grp)
# creating new group to reverse it to another side
Newgrp = cmds.group(em=1)
cmds.parent(grp, Newgrp)
Reversedgrp = cmds.duplicate(Newgrp)
cmds.setAttr(Reversedgrp[0] +'.sx', -1)
selection = cmds.ls(Reversedgrp, long=1)
selection.sort(key=len, reverse=1)
不相關,但你不應該在python中命名一個變量'list'。 –
@NickA是對的,你不應該用Python保留字命名你的變量。確保你將'list'重命名爲'_list'或任何未保留的;它可能是相關的,也可能不是,你的劇本的行爲變得相當不可預測。當你在第一行調用'cmds.ls()'的時候,你可能也想使用'long'參數,例如:'_list = cmds.ls(sl = 1,long = 1)' – mapofemergence
Where是你重命名對象的代碼的一部分? – UKDP