レンダリング設定 Python API

レンダリング設定 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 コマンドを使用できるように、maya.cmds を読み込む必要があります。

レイヤと 2 つのコレクションを作成するサンプル スクリプトを次に示します。このスクリプトはその後、エクスプレッション mySphere* を使用して最初のコレクションに球を追加し、エクスプレッション myCube* を使用して 2 番目のコレクションに立方体を追加します。

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)