渲染设置 Python API 作为 Maya 安装的一部分提供,您可在以下文件夹中找到相关文件:..\Python\Lib\site-packages\maya\app\renderSetup。
若要使用渲染设置 API,您应先按如下所示导入渲染设置模块:
import maya.app.renderSetup.model.override as override import maya.app.renderSetup.model.selector as selector import maya.app.renderSetup.model.collection as collection import maya.app.renderSetup.model.renderLayer as renderLayer import maya.app.renderSetup.model.renderSetup as renderSetup
还应导入 maya.cmds (import maya.cmds),以便能够使用本地 Maya 命令。
以下示例脚本创建了一个层和两个集合。稍后,它使用表达式 mySphere* 将球体添加到第一个集合,然后使用表达式 myCube* 将立方体添加到第二个集合。
import maya.app.renderSetup.model.override as override import maya.app.renderSetup.model.selector as selector import maya.app.renderSetup.model.collection as collection import maya.app.renderSetup.model.renderLayer as renderLayer import maya.app.renderSetup.model.renderSetup as renderSetup import maya.cmds as cmds rs = renderSetup.instance() # Create and append the render layer rl = rs.createRenderLayer("MyRenderSetupLayer") # Create and append 2 collections c1 = rl.createCollection("sphereCollection") c2 = rl.createCollection("cubeCollection") # Create a trivial scene with a cube, a sphere and a cylinder cmds.polySphere(name='mySphere') cmds.move(2, 'mySphere', y=True) cmds.polyCube(name='myCube') cmds.move(5, 'myCube', y=True) cmds.polyCylinder(name='myCylinder') cmds.move(10, 'myCylinder', y=True) # Set up collection 1 to select all spheres using the pattern mySphere*, # and collection 2 to select all cubes using the pattern myCube*. c1.getSelector().setPattern('mySphere*') c2.getSelector().setPattern('myCube*') # Set the render layer as visible. # Only the sphere and the cube are displayed as they are collection members. rs.switchToLayer(rl)