如何在maya python api中获取翻译值?

2024-10-01 07:30:20 发布

您现在位置:Python中文网/ 问答频道 /正文

实际上,我是api新手,正在尝试获取翻译值(x,y,z),但问题是,当我在每一行中只指定“translate”而不是“translateX”、“translateY”、“translateZ”时,我无法得到。我到底想要什么?在

代码如下:

import maya.OpenMaya as om

selected = om.MSelectionList()
om.MGlobal.getActiveSelectionList(selected)

obj = om.MObject()
selected.getDependNode(0,obj)

print(om.MFnDependencyNode(obj).findPlug("translateX").asFloat())
print(om.MFnDependencyNode(obj).findPlug("translateY").asFloat())
print(om.MFnDependencyNode(obj).findPlug("translateZ").asFloat())

谢谢你。。。在


Tags: 代码importapiobjtranslateprintselected新手
1条回答
网友
1楼 · 发布于 2024-10-01 07:30:20

translate属性是一个复合属性。在Maya API中,必须分别查询复合属性的每个子属性,才能检索复合属性的完整值。在

但是MEL getAttr()命令可以同时检索“平移”属性的值。由于使用的是Python,因此可以在同一脚本中混合MEL命令和对Maya API的调用:

import maya.OpenMaya as om
import maya.cmds as cmds

selected = om.MSelectionList()
om.MGlobal.getActiveSelectionList(selected)

obj = om.MObject()
selected.getDependNode(0,obj)

depNodeName = om.MFnDependencyNode(obj).name()

print(cmds.getAttr(depNodeName + '.translate')[0])

相关问题 更多 >