擅长:python、mysql、java
<p>我不确定是否有任何使用哈吉克雷解决方案工作良好,但
您也可以使用标志:-long from命令.ls在</p>
<pre><code># list all the joints from the scene
mjoints = cmds.ls(type='joint', l=True)
# list of the top joints from chain
output = []
# list to optimise the loop counter
exclusion = []
# lets iterate joints
for jnt in mjoints:
# convert all hierarchy into a list
pars = jnt.split('|')[1:]
# lets see if our hierarchy is in the exclusion list
# we put [1:] because maya root is represented by ''
if not set(pars) & set(exclusion):
# we parse the hierarchy until we reach the top joint
# then we add it to the output
# we add everything else to the exclusion list to avoid
for p in pars:
if cmds.nodeType(p) == 'joint':
output.append(p)
exclusion+=pars
break
print(output)
</code></pre>
<p>我之所以这么说是因为没有一条路可以走。我希望这段代码的构建可以帮助您掌握python的技能。完全一样,只是找到父节点的方法不同!在</p>