Maya Python - 如何创建shaderOverride?

时间:2018-01-17 16:15:43

标签: python shader maya maya-api

在Maya 2017中使用python,我能够重现我的render_setup(图层,集合和覆盖)的结构,除了shaderOverride。

对于经典覆盖,我使用实例函数:maya.app.renderSetup.model.collection.Collection.createOverride()

是否有类似命令来创建着色器覆盖或是否添加了一些特定属性?

由于

1 个答案:

答案 0 :(得分:2)

您需要要创建的覆盖的MTypeId。在Maya安装文件夹(.../lib/python2.7/site-packages/maya/app/renderSetup/model/typeIDs.py

中查找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。