高度なワークフロー
 
 
 

あいまいなケース

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 入力にコネクトします。

注:

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

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

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