关节值归零

0 投票
1 回答
776 浏览
提问于 2025-04-18 18:56

我在场景中有几个关节,我需要把它们的通道值归零,因为我把这些关节放到不同的位置的网格里。

我知道我可以手动输入 cmds.setAttr(joint01.translateX, '0') 这样的命令来把其他的平移和旋转属性也设置为零。

有没有其他方法可以在一两行代码里完成这个操作?就像冻结变换那样,虽然它对关节不起作用,但我希望能用更少的代码,而不是写六行。

ls = cmds.ls(type="joint")
for item in ls:
    cmds.setAttr(item + ".translateX",0)
    ...
    ...
    ...

补充说明:我正在创建独立的关节,用于制作带状脊柱,所以我想知道有没有更简短的方法,而不是写三句或更多的 setAttr 命令。

1 个回答

0

我觉得你想要的是 cmds.makeIdentity。你可以指定哪些属性需要归零。

不过,要记住,这个命令对几何体和关节的作用是不同的。它会先改变几何体的顶点位置,以反映移动、旋转和缩放的变化,然后再把变换值归零;而对于关节,它会把旋转值移到JointOrient,并重新定位子关节。

撰写回答