あいまいなケース
2 つのレンダー レイヤ間で共有されているレンダー パスにレンダー ターゲット ノードを接続すると、合成グラフがあいまいになります。レンダー ターゲットがレンダー パスをどちらのレイヤから取得するかという問題が発生します。
既定の動作
- : レンダー ターゲットはアクティブ レイヤのレンダー パス結果を取得します。
- バッチ レンダリング: レンダー ターゲットはアクティブ レイヤに関係なく、マスター レイヤのレンダー パス結果を取得します。
- マスター レイヤ以外の 2 つ以上のレンダー レイヤ間でレンダー パスを共有し、レンダー ターゲットの renderLayer 入力をどのレイヤにも接続していない場合、レンダー ターゲットは黒くレンダーされます。以下に、このような例を示します。
このようなあいまいなケースを回避するには、以下の方法があります。
- レンダー レイヤでレンダー パスを共有しない。
- レンダー レイヤの message 出力をレンダー ターゲットの renderLayer 入力に接続する。
- レンダリング イメージ ソース ノードをレンダー ターゲットに接続して、接続したレイヤから強制的にレンダー パスを取得する。
合成グラフをカスタマイズして、レンダー ターゲットで特定のレイヤから強制的にレンダー パスを取得する。
方法 1
- (中マウス ボタン)でレンダー レイヤ ノードをレンダー ターゲット ノードにドラッグします。が表示されます。layer1.message をrenderTarget1.renderLayer に接続します。
ヒント: アトリビュートと アトリビュートがに表示されない場合は、とを選択して表示します。
方法 2
- 以下の MEL スクリプトを使用して ノードを作成します。
shadingNode -asRendering renderedImageSource;
- (中マウス ボタン)でレンダー レイヤ ノードを ノードにドラッグします。が表示されます。layer1.message を renderedImageSource1.renderLayer に接続します。
- (中マウス ボタン)でレンダー パス ノードを ノードにドラッグします。が表示されます。<pass>.message を renderedImageSource1.imageSource に接続します。
- を押しながら(中マウス ボタン)で ノードと ノードを接続します。
レンダー レイヤを使用するレンダー設定のオーバーライド
レンダー ターゲットが特定のレンダー レイヤに接続されていない場合、既定では、マスター レイヤのレンダー設定を使用してマスター レイヤでレンダーされます。レンダー レイヤを作成してレンダー ターゲットに接続すると、これらのレンダー設定をオーバーライドすることができます。このように、レンダー
ターゲットはレンダー レイヤのコンテキストでレンダーされます。
これをで実行するには、レンダー レイヤの message 出力をレンダー ターゲットの renderLayer 入力に接続します。
注:
レンダー ターゲットのレンダリング: レンダー ターゲットのレンダリングでの複数のレンダリング可能なカメラのレンダリングは、サポートされていません。これはレンダリング可能なカメラのレイヤ単位のオーバーライドでも同じです。
異なるカメラからの 3D 出力を統合する
カメラのオーバーライドを作成するには、カメラをレンダー ターゲットの camera 入力に接続します。これは、合成グラフ内の上流の全接続でこの 3D カメラが使用されることを意味します。このように、事前合成内で異なるカメラからの 3D 出力を統合することができます。