あいまいなケース
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 入力にコネクトします。
注:
レンダー ターゲットのレンダリング: Maya 2012 では、レンダー ターゲットのレンダリングでの複数のレンダリング可能なカメラのレンダリングはサポートされていません。これはレンダリング可能なカメラのレイヤ単位のオーバーライドでも同じです。
異なるカメラからの 3D 出力を統合する
カメラのオーバーライドを作成するには、カメラをレンダー ターゲットの camera 入力にコネクトします。これは、合成グラフ内の上流の全コネクションでこの 3D カメラが使用されることを意味します。このように、事前合成内で異なるカメラからの 3D 出力を統合することができます。