尝试在Maya中编写部分python代码以从对象中提取面,然后移动它并旋转它。我尝试了polyChipOff本身的参数,尝试了xform以及move和rotate函数。问题是一样的。如果旋转是在平移之后,则面相对于上一个位置而不是当前位置旋转。在
我对某些概念的理解是完全错误的吗?在
下面的代码显示了问题。只需创建一个pCube并启动脚本。在我看来,这段代码应该面朝别处移动,然后围绕自身旋转很多次。相反,它以一个圆心旋转,该圆心位于“移动”命令之前的面所在的位置。在
from maya import cmds
face1 = 'pCube1.f[1]'
cmds.select(face1)
cmds.polyChipOff(dup=True)
cmds.move(2, 2, 0, r=True, os=True, dph=True)
cmds.rotate(0,0,10, a=True, os=True, dph=True)
for i in range (35):
cmds.polyChipOff(dup=True)
cmds.rotate(0,0,10, a=True, os=True, dph=True)
在您的示例中,面不是围绕其先前位置旋转的,而是围绕对象轴旋转的(您可以在执行脚本之前尝试移动对象轴,并查看旋转中心的更改)。在
如果需要另一个轴,则需要将其指定为参数。我不确定要旋转面围绕哪个中心,所以我只指定了(2,2,0):
更新: 如果你需要绕着它们自己的中心旋转面,那么你刚才提到的componentSpace=True就可以了。代码如下:
^{pr2}$相关问题 更多 >
编程相关推荐