高度なワークフロー

 
 
 

あいまいなケース

2 つのレンダー レイヤ間で共有されているレンダー パスにレンダー ターゲット ノードを接続すると、合成グラフがあいまいになります。レンダー ターゲットがレンダー パスをどちらのレイヤから取得するかという問題が発生します。

既定の動作

このようなあいまいなケースを回避するには、以下の方法があります。

合成グラフをカスタマイズして、レンダー ターゲットで特定のレイヤから強制的にレンダー パスを取得する。

方法 1

  1. (中マウス ボタン)でレンダー レイヤ ノードをレンダー ターゲット ノードにドラッグします。コネクション エディタ(Connection Editor)が表示されます。layer1.messagerenderTarget1.renderLayer に接続します。
    ヒント:message アトリビュートと renderLayer アトリビュートがコネクション エディタ(Connection Editor)に表示されない場合は、左側の表示 > 非表示にされたアトリビュートの表示(Left Display > Show Hidden)右側の表示 > 非表示にされたアトリビュートの表示(Right Display > Show Hidden)を選択して表示します。

方法 2

  1. 以下の MEL スクリプトを使用して renderedImageSource ノードを作成します。
    shadingNode -asRendering renderedImageSource;
  2. (中マウス ボタン)でレンダー レイヤ ノードを renderedImageSource ノードにドラッグします。コネクション エディタ(Connection Editor)が表示されます。layer1.messagerenderedImageSource1.renderLayer に接続します。
  3. (中マウス ボタン)でレンダー パス ノードを renderedImageSource ノードにドラッグします。コネクション エディタ(Connection Editor)が表示されます。<pass>.messagerenderedImageSource1.imageSource に接続します。
  4. を押しながら(中マウス ボタン)で renderedImageSource ノードと renderTarget ノードを接続します。

レンダー レイヤを使用するレンダー設定のオーバーライド

レンダー ターゲットが特定のレンダー レイヤに接続されていない場合、既定では、マスター レイヤのレンダー設定を使用してマスター レイヤでレンダーされます。レンダー レイヤを作成してレンダー ターゲットに接続すると、これらのレンダー設定をオーバーライドすることができます。このように、レンダー ターゲットはレンダー レイヤのコンテキストでレンダーされます。

これをハイパーシェード(Hypershade)で実行するには、レンダー レイヤの message 出力をレンダー ターゲットの renderLayer 入力に接続します。

注:

レンダー ターゲットのレンダリング: レンダー ターゲットのレンダリングでの複数のレンダリング可能なカメラのレンダリングは、サポートされていません。これはレンダリング可能なカメラのレイヤ単位のオーバーライドでも同じです。

異なるカメラからの 3D 出力を統合する

カメラのオーバーライドを作成するには、カメラをレンダー ターゲットの camera 入力に接続します。これは、合成グラフ内の上流の全接続でこの 3D カメラが使用されることを意味します。このように、事前合成内で異なるカメラからの 3D 出力を統合することができます。