LoginSignup
3
2

More than 5 years have passed since last update.

Maya 2016 Ext2 レンダリング設定雑感

Last updated at Posted at 2016-05-07

これはなに?

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

スクリーンショット 2016-05-07 17.49.59.png

レンダー設定とレンダリング設定

これまでのレンダー設定は

RenderGlobalsWindow

新たについたレンダリング設定は

RenderSetupWindow

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

スクリーンショット 2016-05-07 17.48.13.png

当エントリでは、前者(レンダーグローバルの方)は扱いません。

プラグイン

Pythonプラグイン化されています。

pm.pluginInfo('renderSetup.py',q=True,path=True)

# 結果: u'/Applications/Autodesk/maya2016.5/Maya.app/Contents/MacOS/plug-ins/renderSetup.py' # 

スクリーンショット 2016-05-07 16.59.04.png

.pyの中身見てみると、本体はmaya.app.renderSetup.model.initializeなのかな。

作法 レンダーレイヤーとコレクション

レンダーレイヤーを作成し、さらにその中にコレクションを設定しないと、各種設定ができません。
右側のプロパティエディタで各種設定ができますが、レンダーレイヤーについては名前しか設定するものがありません。
コレクションの中に入れて、設定して……というのはデモ動画で見ていた通りですが、
コレクションを作るのが必須、前提というフローだったんですね。

コレクションにフィルタをかけられます
スクリーンショット 2016-05-07 17.21.16.png

「カスタム」にすると、エクスプレッションでフィルタリングできます。
スクリーンショット 2016-05-07 17.21.25.png

フィルタの次の欄が「追加」
スクリーンショット 2016-05-07 17.21.37.png

これもエクスプレッションであれこれできます。
スクリーンショット 2016-05-07 17.21.44.png

いまのところ、「コレクションの複製」はありません。

シーン

レンダーレイヤー欄の上の欄は「シーン」と書かれていますが、これがマスターレイヤーなようです。
「バッチレンダリング時にレンダリングする(しない)」チェックもあります。
スクリーンショット 2016-05-07 17.24.27.png

  • 「レンダー設定」をダブルクリックすると、レンダー設定ウィンドウが開きます。
  • 「ライト」をダブルクリックすると、ライトエディタが開きます。これもext2で搭載されたものですね。

書き出し=json

レンダーレイヤー、コレクションの設定をjsonで書き出せます。
書き出し先は、プロジェクトのどこかではなく「Preferences/Autodesk/maya/Templates」にしようとします。
(こういうのってプロジェクト付きなことが多い気がするので、Maya自体の設定テンプレートみたいに持たれても今ひとつ嬉しくない気がするんですが……どうなんでしょうね)

スクリーンショット 2016-05-07 17.33.57.png
↑これは読み込むところ

jsonの中身は、前半がレンダラーの設定(defaultRenderGlobals関連)、後半がレンダーレイヤー / コレクションの設定という感じでした。今回はほとんどなにもしない状態での書き出しだったのでdefaultRenderGlobalsの内容でほとんどが占められましたが、オーバーライドとかが立て込んでくると後半がモリモリになっていくんでしょうね。

renderSetupTemplate_sample.json
{
  "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に保存しているんですが。

スクリーンショット 2016-05-07 17.59.53.png
↑息してないひと?

ログが出ません

だいたいの操作で、スクリプトエディタへの出力がありません。
コレクションのフィルタ切り替えや、コレクションへのオブジェクトの追加、オーバーライドなど、どういうコマンドで動いているかつかめません(EchoAllにしても。大量のinterToUIは得られます)。
そのうち返ってくるようになったりするんでしょうか。

でもPythonからのアクセスは整理されているように見えます(未着手)

レンダリング設定 Python API
http://help.autodesk.com/cloudhelp/2016/JPN/Maya/files/GUID-FFC3298A-9803-4EAF-B472-D13247319EB0.htm

リファレンスでの挙動

ここが一番気になるところではあるんですが、未着手です。

ノード構成

20160522追記
スクリーンショット 2016-05-22 21.56.04.png

「レンダリング設定」で作ったレンダーレイヤーは「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ノード以外にもそれ用のノードが繋がっていくことでしょう。

まとめ

プリファレンスをみると、従来のレンダーレイヤーへ戻す方法も用意してあります。
既存のシーン以外では使うこともあるまい……と思いたいですね。
スクリーンショット 2016-05-07 17.39.37.png
「優先レンダリング設定システム」>「旧式のレンダーレイヤ」

そんな感じで、
あらゆる意味で今後に期待です。

スクリーンショット 2016-05-07 18.14.18.png
おまけ。レイヤーエディタも、「ディスプレイ」と「アニメーション」だけになってます。

参考

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

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2