选择具有变换的场景中的所有网格对象

时间:2019-03-26 09:21:32

标签: python 3d maya mel

Maya是否有任何类型的脚本或内置函数选择所有旋转或平移小于或大于零的对象。并且规模小于或大于一?任何帮助将不胜感激

1 个答案:

答案 0 :(得分:0)

编辑: 我的手机对“ if”使用了大写字母,因此无法正常工作。脚本编辑器中的错误给出了这一点:

# Error: invalid syntax
#   File "<maya console>", line 9
#     If any(Tr) or any(Rot):
#          ^
# SyntaxError: invalid syntax # 

它给您带来了很多问题,因此调试起来非常简单。 我建议您应该学习python / mel基础知识,这里有很多不错的地方,如果您不想学习的话,也可以在网站上找到代码:pluralsight,justinFxhighend3dmaya google group 在stackoverflow上,比提供完整的代码更能纠正错误,错误。

import maya.cmds as cmds

Objs = cmds.ls(type='transform')
Out=[]
for o in Objs:
    Tr = cmds.getAttr(o+'.t')[0]
    Rot = cmds.getAttr(o+'.r')[0]
    if any(Tr) or any(Rot):
        Out.append(o)
    Sca = cmds.getAttr(o+'.s')[0]
    if Sca != (1,1,1):
        Out.append(o)
print(Out)