これはなに?
先日リリースされたMaya 2016 Extension2で
レンダーレイヤー周りがごっそり変わりました。
それについてのさわりの雑感です。

レンダー設定とレンダリング設定
これまでのレンダー設定は
RenderGlobalsWindow
新たについたレンダリング設定は
RenderSetupWindow
UI名が実に紛らわしいですが、まったくの別物です。(開いてみると当然UI的にも似ていません)
レンダーレイヤー → レンダリング設定。これです。
(……なぜ日本語UIを準備した人は、レンダーセットアップではなくレンダリング設定などと微妙な感じにしたんでしょうね(^^;;;;; )

当エントリでは、前者(レンダーグローバルの方)は扱いません。
プラグイン
Pythonプラグイン化されています。
pm.pluginInfo('renderSetup.py',q=True,path=True)
# 結果: u'/Applications/Autodesk/maya2016.5/Maya.app/Contents/MacOS/plug-ins/renderSetup.py' #

.pyの中身見てみると、本体はmaya.app.renderSetup.model.initialize
なのかな。
作法 レンダーレイヤーとコレクション
レンダーレイヤーを作成し、さらにその中にコレクションを設定しないと、各種設定ができません。
右側のプロパティエディタで各種設定ができますが、レンダーレイヤーについては名前しか設定するものがありません。
コレクションの中に入れて、設定して……というのはデモ動画で見ていた通りですが、
コレクションを作るのが必須、前提というフローだったんですね。
「カスタム」にすると、エクスプレッションでフィルタリングできます。
いまのところ、「コレクションの複製」はありません。
シーン
レンダーレイヤー欄の上の欄は「シーン」と書かれていますが、これがマスターレイヤーなようです。
「バッチレンダリング時にレンダリングする(しない)」チェックもあります。
- 「レンダー設定」をダブルクリックすると、レンダー設定ウィンドウが開きます。
- 「ライト」をダブルクリックすると、ライトエディタが開きます。これもext2で搭載されたものですね。
書き出し=json
レンダーレイヤー、コレクションの設定をjsonで書き出せます。
書き出し先は、プロジェクトのどこかではなく「Preferences/Autodesk/maya/Templates」にしようとします。
(こういうのってプロジェクト付きなことが多い気がするので、Maya自体の設定テンプレートみたいに持たれても今ひとつ嬉しくない気がするんですが……どうなんでしょうね)

jsonの中身は、前半がレンダラーの設定(defaultRenderGlobals関連)、後半がレンダーレイヤー / コレクションの設定という感じでした。今回はほとんどなにもしない状態での書き出しだったのでdefaultRenderGlobalsの内容でほとんどが占められましたが、オーバーライドとかが立て込んでくると後半がモリモリになっていくんでしょうね。
{
"sceneSettings": {
"mayaSoftware": {
"userData": {},
"defaultNodes": {
"defaultRenderGlobals.blurSharpness": 1.0,
"defaultRenderGlobals.enableDefaultLight": true,
"defaultResolution.deviceAspectRatio": 1.7777776718139648,
"defaultRenderGlobals.blurLength": 1.0,
"defaultRenderGlobals.hyperShadeBinList": "",
(中略)
"defaultRenderGlobals.useFileCache": true,
"defaultRenderGlobals.frozen": false,
"defaultRenderGlobals.preRenderMel": "",
"defaultRenderGlobals.motionBlurType": 1,
"defaultResolution.isHistoricallyInteresting": 2
},
"defaultRendererNodes": {}
}
},
"renderSetup": {
"renderLayers": [
{
"renderSetupLayer": {
"collections": [
{
"collection": {
"typeFilter": 0,
"name": "collection1",
"selfEnabled": true,
"pattern": "",
"children": [],
"staticSelection": "|pSphere1",
"customFilterValue": "",
"includeHierarchy": true,
"isolateSelected": false
}
}
],
"name": "renderSetupLayer1",
"isVisible": false
}
}
],
"name": "renderSetup"
}
}
ちなみに、レンダーレイヤー作成ボタンの右の「テンプレート読み込み」ボタンが動かない気がするんですが気のせいですかね?
ちゃんとTemplatesに保存しているんですが。

ログが出ません
だいたいの操作で、スクリプトエディタへの出力がありません。
コレクションのフィルタ切り替えや、コレクションへのオブジェクトの追加、オーバーライドなど、どういうコマンドで動いているかつかめません(EchoAllにしても。大量のinterToUIは得られます)。
そのうち返ってくるようになったりするんでしょうか。
でもPythonからのアクセスは整理されているように見えます(未着手)
レンダリング設定 Python API
http://help.autodesk.com/cloudhelp/2016/JPN/Maya/files/GUID-FFC3298A-9803-4EAF-B472-D13247319EB0.htm
リファレンスでの挙動
ここが一番気になるところではあるんですが、未着手です。
ノード構成
「レンダリング設定」で作ったレンダーレイヤーは「renderSetupLayer」ノードになるようです。
その後ろにrenderLayerノードやcollectionノードがつながります。
この二つがワンセットで、レンダリング設定でレンダーレイヤーを作って名前をつけますが、それで一緒にできるrenderLayerノードは、名前の先頭に「rs_」がつきます。
(従来からある)レンダー設定パネルのレンダーレイヤープルダウンで出てくるのはrenderLayerノードの方です。
(renderLayerは、renderSetupLayerノードの「Legacy Render Layer」に接続されてます。)
renderSetupLayerノードはrenderSetupノードにつながり、
renderLayerノードはdefaultRenderingListノードにつながります。
renderSetupノードには「First Render Layer」「Last Render Layer」があり、各renderSetupLayerノードにも「next」と「previous」があります。
collectionノードにはselectorアトリビュートがあり、そこにはbasicSelectorノードがつながります。
このほかオーバーライドなどを設定していったら、collectionノード以外にもそれ用のノードが繋がっていくことでしょう。
まとめ
プリファレンスをみると、従来のレンダーレイヤーへ戻す方法も用意してあります。
既存のシーン以外では使うこともあるまい……と思いたいですね。
「優先レンダリング設定システム」>「旧式のレンダーレイヤ」
そんな感じで、
あらゆる意味で今後に期待です。

参考
ext2 レンダリングの新機能
http://help.autodesk.com/cloudhelp/2016/JPN/Maya/files/GUID-9AB65955-9390-42F6-B293-EAF1A0AD0C3B.htm
レンダリング設定 [Extension]
http://help.autodesk.com/cloudhelp/2016/JPN/Maya/files/GUID-646154F9-E4D2-4A3E-A0D9-B2F062960A4E.htm
レンダリング設定 ベストプラクティス
http://help.autodesk.com/cloudhelp/2016/JPN/Maya/files/GUID-4CF324AB-0398-498C-A539-2094BB640B7C.htm
レンダリング設定 Python API
http://help.autodesk.com/cloudhelp/2016/JPN/Maya/files/GUID-FFC3298A-9803-4EAF-B472-D13247319EB0.htm
旧式のレンダーレイヤー
http://help.autodesk.com/cloudhelp/2016/JPN/Maya/files/GUID-DA375B62-63C7-4049-88F9-159C8A55FB4C.htm
付録:
付録 A: 旧式のレンダー レイヤ プリセットによる作業
付録 B: 旧式のレンダー パスによる作業
http://help.autodesk.com/cloudhelp/2016/JPN/Maya/files/GUID-199D599E-0141-4E5A-A988-0BEA103D2AF0.htm