在Maya 2017中使用python,我能够重现我的render_setup(图层,集合和覆盖)的结构,除了shaderOverride。
对于经典覆盖,我使用实例函数:maya.app.renderSetup.model.collection.Collection.createOverride()
是否有类似命令来创建着色器覆盖或是否添加了一些特定属性?
由于
答案 0 :(得分:2)
您需要要创建的覆盖的MTypeId。在Maya安装文件夹(.../lib/python2.7/site-packages/maya/app/renderSetup/model/typeIDs.py
)
如您所见,着色器覆盖的MTypeId为0x58000386
。
然后,只需创建一个图层和一个集合,然后调用createOverride方法:
from maya.app import renderSetup
import maya.api.OpenMaya as OpenMaya
renderSetup.model.renderSetup.initialize()
rs = renderSetup.model.renderSetup.instance()
# Create layer
rsLayer = rs.createRenderLayer('MyFirstLayer')
# Create collection
rsColl = rsLayer.createCollection('MyFirstCollection')
# Create shading override
over_obj = rsColl.createOverride('MyFirstOverride', OpenMaya.MTypeId(0x58000386))
如果您想创建另一个覆盖,只需找到相应的MTypeId。