我有一个曲折的联合链 - 使用所有旋转轴。我试图创建一个与关节路径匹配的Nurbs曲线。理想情况下,我也可以指定CV的密度和曲线的程度。曲线创建选项没有太多运气。
任何帮助将不胜感激!我主要在Python工作。
答案 0 :(得分:2)
廉价的解决方案是循环骨骼,获得位置,然后从它们创建1度(线性)曲线。
def joint_positions(j):
pos = [cmds.xform(j,q=True, t=True, ws=True)]
children = cmds.listRelatives(j, c=True) or []
for child in children:
pos.extend(joint_positions(child))
return pos
joints = joint_positions('joint1')
cmds.curve(d = 1, p=joints)
这会给你一条曲线,每个关节都有一个结。然后,您可以使用fitBSpline
命令的某种组合将其重新采样为更平滑的形式,和/或rebuild
命令以更频繁地对其进行采样。您可以使用UI以交互方式进行实验,以便为应用程序找到合适的值,然后在知道要查找的内容时将它们烘焙到脚本中。在高于1的度数中,没有一个完美的,数学上纯粹的答案,所以你基本上看到了最适合你应用的东西。