如何使用python去批量设置物体的属性
在项目的制作过程中,我们会遇到很大的场景并且maya对大场景的支持并不是很好,假如我们的场景里面有1000个阿诺德代理文件,并且现在所有的代理文件的显示方式都要切换。这对于制作人员时间很痛苦的事情并且会浪费很多制作人员的时间。这个时候我们就需要一个可以批量更改属性设置的工具了。
如何获取物体的属性名与相应的值
把下面的代码拷贝到你的maya脚本编辑器里面,按照上面图片上得例子说的做。其中选择物体对象,要在视图中选择,不建议在大纲里面选择。本工具使用与更改所有的物体的shape节点的属性。
# -*- coding: UTF-8 -*-
import maya.cmds as cmds
def change_attr(attr_name, val):
object_list = cmds.ls(sl=1)
if len(object_list)>0:
for object in object_list:
try:
object_shape = cmds.listRelatives(object, shapes=1)[0]
cmds.setAttr("{}.{}".format(object_shape, attr_name), val)
except IndexError:
print u'{}对象没有shape节点'.foramt(object)
attr_name = 'mode'
val = 1
change_attr(attr_name, val)
# 欢迎关注微信供公众号CGPipeline获取更多干货