我想查询一个关节的sao,以便可以将其分配给另一个关节。
在这种情况下,我已经设法通过oj获取LowArm.jot,并且我正在尝试使用sao做类似的事情。

mc.joint ('L_Hand_JNT', e=1, oj=mc.getAttr ('L_LowArm_JNT.jot'), sao='yup', zso=1)


任何帮助或建议都很棒,谢谢!

最佳答案

我不认为关节具有'sao'属性:该标记在那里允许您在对齐关节时指定辅助轴,因为单个方向无法为玛雅人提供足够的信息来布置关节:就像目标约束一样您需要告诉Maya如何解决给定的目标,因为存在无限数量的有效解决方案。

但是,您可以通过分析关节的世界空间矩阵或使用定位器来获得关节的每个“轴”。

如果您使用以下方法提取关节的世界矩阵

worldMat =  cmds.xform(q=True, m=True, ws=True)


那么关节的X轴将指向世界矢量worldMat[0:3],局部Y将为worldMat[4:7],局部z将为worldMat[8:11]

如果要以图形方式进行操作,请创建一个定位器,将其沿要检查的轴作为关节1单元的父级,然后获取其世界位置-关节的世界位置。

我认为您无法恢复传递给sao标志的原始参数-尽管关节可能仍然指向这种方式,但可能不会。

当然,您可以始终将原始的sao工具存储在自定义属性中,以便以后知道时再次获取。

关于python - 如何查询关节Sao(第二 Axis 世界方向)?玛雅 python ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25352968/

10-12 19:37