pythonmaya

maya python 批量更改渲染属性,属性与值可自定义。使用

2019-05-18  本文已影响13人  CGPipeline

如何使用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获取更多干货,如有不明白或者有新的想法,可以在公众号里讨论。


CGPipeline.jpg
上一篇下一篇

猜你喜欢

热点阅读