回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我在寻找一种在玛雅给jointchain添加后缀的方法。
jointchain有特定的命名,因此我创建了一个包含它们所需名称的列表。
第一条链的后缀为“_1”,结果:</p>
<p>锁骨1 |上臂1 |腋下1 |手腕1 |</p>
<p>当我创建第二个时,结果是:</p>
<p>锁骨2 |上臂1 |腋下1 |手腕1 |</p>
<p>代码:</p>
<pre><code>DRClavPos = cmds.xform ('DRClavicle', q=True, ws=True, t=True)
DRUpArmPos = cmds.xform ('DRUpperArm', q=True, ws=True, t=True)
DRUnArmPos = cmds.xform ('DRUnderArm', q=True, ws=True, t=True)
DRWristPos = cmds.xform ('DRWrist', q=True, ws=True, t=True), cmds.xform('DRWrist', q=True, os=True, ro=True)
suffix = 1
jntsA = cmds.ls(type="joint", long=True)
while True:
jntname = ["R_Clavicle_"+str(suffix),"R_UpperArm_"+str(suffix),"R_UnderArm_"+str(suffix),"R_Wrist_"+str(suffix)]
if jntname not in jntsA:
cmds.select (d=True)
cmds.joint ( p=(DRClavPos))
cmds.joint ( p=(DRUpArmPos))
cmds.joint ( 'joint1', e=True, zso=True, oj='xyz', radius=0.5, n=jntname[0])
cmds.joint ( p=(DRUnArmPos))
cmds.joint ( 'joint2', e=True, zso=True, oj='xyz', radius=0.5, n=jntname[1])
cmds.joint ( p=(DRWristPos[0]))
cmds.joint ( 'joint3', e=True, zso=True, oj='xyz', radius=0.5, n=jntname[2])
cmds.rename ('joint4', jntname[3])
cmds.select ( cl=True)
break
else:
suffix + 1
</code></pre>
<p>我试着在jntname中添加+1,结果得到了一个好的第二个链,但是第三个链在R_Clavicle_3之后有“_2”</p>
<p>代码,在我看来应该行得通。有谁能给我指出正确的方向吗</p>