首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PyMel玛雅Python -集合联合位置

PyMel玛雅Python -集合联合位置
EN

Stack Overflow用户
提问于 2017-03-21 10:55:15
回答 1查看 1.3K关注 0票数 0

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

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

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

代码语言:javascript
复制
theJoint = ls("LeftArm")[0]

现在使用

代码语言:javascript
复制
theJoint.setAngleX(45)

我可以设置它相对于父的旋转。但是我需要做的是设置在世界空间绝对坐标中的位置,以及旋转。

没有任何setPositionX()setTransform(X)方法供我使用,所以我想知道我是否在正确的位置。

我如何完成这个任务,更重要的是:我从哪里开始寻找正确和有用的命令库?这是非常令人沮丧的,没有工作的例子或小演示总是依赖于上下文选择的对象,这是我做不到的事情。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-26 18:10:46

当您使用pymels属性对象设置属性时(像mynode.rotate.set()一样,您将数字直接插入到属性中;但是这些数字只是数字,在下游被解释,就像在通道框中键入它们一样)。

您可以使用Pymel的xformmoverotate命令的版本来设置绝对值。这些命令的工作方式与普通玛雅文档中的相同。这。例如,将Joint2旋转到世界空间中的0,10,而不管它的父级在做什么:

代码语言:javascript
复制
import pymel.core as pm
example = pm.PyNode('joint2')
pm.rotate(example, [0,0,10], a=True, ws=True) 

a标志是‘绝对值’,ws是'worldspace‘(docs 这里,用于旋转)。movexform也有绝对值和worldspace值的选项。所以要在世界空间定位一个关节

代码语言:javascript
复制
 pm.move(example, [1,2,3], a=True, ws=True)

xform稍微复杂一些,有更多的选项,但做同样的事情,并允许您设置枢轴。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42925062

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档