どうも!たっくんです!
あれこれ試したりし、解析したりした内容になりますが、今回は「AOV」「レンダー設定」周りを書いていきたいと思います!
AOVのオーバーライドがあるか確認
rs = renderSetup.instance() layer = rs.getRenderLayer('renderSetupLayer1') print layer.hasAOVCollectionInstance()
AOVオーバーライドのインスタンスの取得
rs = renderSetup.instance() layer = rs.getRenderLayer('renderSetupLayer1') aovCollection = layer.aovCollectionInstance()
AOVのコレクションがないレイヤーに「aovCollectionInstance」を実行すると、インスタンスが作成されます。
AOVオーバーライド項目の取得
rs = renderSetup.instance() layer = rs.getRenderLayer('renderSetupLayer1') aovCollection = layer.aovCollectionInstance() # AOVごとのコレクションの取得 aovChildCollections = aovCollection.getCollections() for aovChildCollection in aovChildCollections: # 項目名の取得 print aovChildCollection.name() # セレクターの取得 selector_ = aovChildCollection.getSelector() # セレクターのメンバーの取得 print selector_.names() # オーバーライドの取得 overrides = aovChildCollection.getOverrides() for override_ in overrides: # アトリビュート名の取得 print override_.attributeName() # オーバーライド値の取得 print override_.getAttrValue()
AOVオーバーライド項目の追加/設定
rs = renderSetup.instance() layer = rs.getRenderLayer('renderSetupLayer1') # AOVのオーバーライドの追加 override_ = layer.createAbsoluteOverride('aiAOV_ID', 'enabled') # 値の変更 print override_.setAttrValue(False)
レンダー設定のオーバーライドがあるか確認
rs = renderSetup.instance() layer = rs.getRenderLayer('renderSetupLayer1') print layer.hasRenderSettingsCollectionInstance()
レンダー設定オーバーライドのインスタンスの取得
rs = renderSetup.instance() layer = rs.getRenderLayer('renderSetupLayer1') renderSettingsCollection = layer.renderSettingsCollectionInstance()
レンダー設定のコレクションがないレイヤーに「renderSettingsCollectionInstance」を実行すると、インスタンスが作成されます。
レンダー設定オーバーライド項目の取得
rs = renderSetup.instance() layer = rs.getRenderLayer('renderSetupLayer1') renderSettingsCollection = layer.renderSettingsCollectionInstance() # セレクターの取得 selector_ = renderSettingsCollection.getSelector() # セレクターのメンバーの取得 print selector_.names() # オーバーライドの取得 overrides = renderSettingsCollection.getOverrides() for override_ in overrides: # アトリビュート名の取得 print override_.attributeName() # オーバーライド値の取得 print override_.getAttrValue()
レンダー設定の追加/設定
rs = renderSetup.instance() layer = rs.getRenderLayer('renderSetupLayer1') # レンダー設定のオーバーライドの追加 override_ = layer.createAbsoluteOverride('defaultArnoldRenderOptions', 'AASamples') # 値の変更 print override_.setAttrValue(5)