PyMel Maya Python-设置关节位置

PyMel Maya Python-设置关节位置,python,maya,mel,pymel,Python,Maya,Mel,Pymel,我以前对PyMel做Python非常陌生,我发现可用的文档非常复杂,有时仍然是MEL而不是Python。在这里做任何事情都很令人沮丧 我正在寻找一种方法来设置我的一个关节的绝对位置,以及它的骨骼方向 我要操纵的关节是这样找到的: theJoint = ls("LeftArm")[0] 现在使用 theJoint.setAngleX(45) 我可以设置其相对于父对象的旋转。但我需要做的是设置世界空间绝对坐标中的位置,以及旋转 没有任何setPositionX或setTransformX方法可供

我以前对PyMel做Python非常陌生,我发现可用的文档非常复杂,有时仍然是MEL而不是Python。在这里做任何事情都很令人沮丧

我正在寻找一种方法来设置我的一个关节的绝对位置,以及它的骨骼方向

我要操纵的关节是这样找到的:

theJoint = ls("LeftArm")[0]
现在使用

theJoint.setAngleX(45)
我可以设置其相对于父对象的旋转。但我需要做的是设置世界空间绝对坐标中的位置,以及旋转

没有任何setPositionX或setTransformX方法可供我使用,因此我想知道我是否在正确的位置


我该如何完成这项任务,更重要的是:我应该从哪里开始寻找正确和有用的命令库?在没有工作示例或小演示的情况下执行此操作非常令人沮丧,始终依赖上下文选择的对象,这是我无法做到的。

当您使用pymels属性对象语法设置属性时,如mynode.rotate.set,您直接在属性中插入数字;但这些数字只是数字,在下游得到解释,就好像你在通道盒中输入了数字一样

可以使用Pymel版本的“变换”、“移动”和“旋转”命令来设置绝对值。这些命令的工作方式与常规Maya文档中的命令相同。这例如,将在世界空间中将Joint2旋转到0,0,10,而不管其父对象正在执行什么操作:

import pymel.core as pm
example = pm.PyNode('joint2')
pm.rotate(example, [0,0,10], a=True, ws=True) 
对于旋转,a标志为“绝对”,ws标志为“世界空间”。移动和变换也有绝对值和世界空间值的选项。所以要在世界空间中定位一个关节

 pm.move(example, [1,2,3], a=True, ws=True)
有点复杂,有更多的选项,但做同样的事情,以及允许您设置轴