在Python中获取数组中对象的世界位置
我在Maya中有一个对象数组,每个对象都有属性,我想从中提取它们的世界位置。我创建了一个数组:在Python中获取数组中对象的世界位置,python,arrays,object,position,maya,Python,Arrays,Object,Position,Maya,我在Maya中有一个对象数组,每个对象都有属性,我想从中提取它们的世界位置。我创建了一个数组: nodesGetPos [] 这就是我用来返回所有值的方法: for nGP in nodesGetPos: posNew = getAttr(nGP + ".translateX") print (posNew) 我得到了以下错误: Maya Attribute does not exist (or is not unique):: u'nPR.translate
nodesGetPos []
这就是我用来返回所有值的方法:
for nGP in nodesGetPos:
posNew = getAttr(nGP + ".translateX")
print (posNew)
我得到了以下错误:
Maya Attribute does not exist (or is not unique):: u'nPR.translateX' #
这里有两个命令可以帮助您
pos = cmds.xform('pSphere1.vtx[*]', q=1, t=True, ws=True)
如果已冻结对象,则可以获取轴:
pos = cmds.xform('pSphere1.vtx[*]', q=1, rp=True, ws=True)
请分享代码,你到底在尝试什么?你是否像
nodeGetPos=0
那样用python创建了nodeGetPos(注意问题中的输入错误)?因为如果是的话,你是怎么填补的?实际上,给定的代码行将导致数组为空。因此,它不会产生任何结果。不确定这是否会产生上述错误。您好,我已经用对象填充了我的数组,这确实有效,如果我尝试ls()命令,我会得到预期的结果,但我无法创建包含这些对象位置的数组。当它给您对象名称的错误时,该对象实际存在吗?如果有,您能否确认该名称没有在多个对象上使用?您可以通过在cmds.ls()
中传递名称进行检查。如果得到多个结果,则表示多个对象共享同一名称。