カスタム チャンネルを操作する

 
 
 

シーンの特定のオブジェクトの特定のデータを取り出す場合は、カスタム レンダ チャンネルを作成して目的のデータを抽出できます。

組み込み/プリセットのチャンネルとは異なり、カスタム レンダ チャンネルは、パスによってレンダリングされるすべてのオブジェクトに自動的に適用されることはありません。カスタム チャンネルでは、Render Tree で[Store In Channel]シェーダを使用して、特殊なオブジェクト マテリアルのデータを抽出および保存する必要があります。このデータは、チャンネルがそのパスでレンダリングされる場合の出力です。

[Store In Channel]シェーダを使用して、プリセットのレンダ チャンネルに追加のデータを保存することもできます。

シーンのカスタム レンダ チャンネルを作成する

レンダ チャンネルはすべて、シーン レンダ オプションから選択できます。シーンのカスタム チャンネルを作成してから、それらをパスに追加して有効にします。

シーン レンダ オプションでカスタム レンダ チャンネルを直接作成することができます(以下の手順の説明を参照)。また、Render Tree の構築中に[Store In Channel]シェーダを使用して、後でシーンのカスタム レンダ チャンネルを追加することもできます(「カスタム レンダ チャンネルにデータを保存する」を参照)。

  1. 以下の方法で[Scene Render Options]プロパティエディタを開きます。

    • Render Manager >[シーンレンダ オプション]

    • [Render]ツールバーから[レンダ]>[レンダ]>[シーン オプション]を選択します。

  2. [Available Channels]タブで、[利用可能なレンダチャンネル]グリッドの下にある[[追加...](Add...)]ボタンをクリックします。

  3. [レンダ チャンネルの作成]ダイアログ ボックスで新しいレンダ チャンネルの名前を入力します。

  4. チャンネルに保存するデータ タイプを選択します。mental ray は、カラー、グレースケール、深度、法線ベクトル、ベクトル/モーション ベクトル、およびオブジェクト ラベルの各データ タイプをサポートします。

パスにカスタム レンダ チャンネルを追加する

  1. カスタム レンダ チャンネルの追加方法は、すべてのレンダ チャンネル タイプで同じです。「パスにレンダ チャンネルを追加する」の説明を参照してください。

  2. パスにレンダ チャンネルを追加すると、そのレンダ チャンネルの出力フォーマットとファイル名を指定できるようになります。「レンダ チャンネルのフレームバッファを定義する」の説明を参照してください。

カスタム レンダ チャンネルにデータを保存する

カスタム レンダ チャンネルは、パスによってレンダリングされるすべてのオブジェクトに自動的に適用されることはありません。レンダリングのためにカスタム チャンネルにデータを保存するには、オブジェクトのマテリアル ノードの Render Tree で[Store In Channel]シェーダに接続する必要があります。

[Store In Channel]シェーダは、Render Tree で接続入力ポイントからのデータを遮断し、指定されたレンダ チャンネルによってそのデータがレンダリングされるように別の方向に接続します。

  1. マテリアル属性をレンダ チャンネルに保存するオブジェクトを選択します。マテリアルがシーンの他のオブジェクトによって共有される場合は、そのマテリアルを共有するすべてのオブジェクトのデータが保存され、レンダリングされます。

  2. Render Tree または Material Manager を開きます。Material Manager は、マテリアル、イメージ クリップ、シェーダ、および Render Tree を同時に操作するための最も簡単な方法です。

  3. シェーダのネットワークをオブジェクトにアタッチすると、ツール シェーダを使用して[Store In Channel]シェーダに渡す必要のある正確なデータを取得することがあります。一般的には、ユーティリティ シェーダは他のシェーダの入力に接続される前に、シェーダの出力を操作します。詳細については、「シェーダの適用方法」(「マテリアルとシェーダ」)を参照してください。

  4. Render Tree の[Store In Channel]シェーダを配置する場所を指定します。

    Render Tree ではデータは左から右へ、ノードの出力ポートから次のノードの入力ポートへと「ダウンストリームで」流れることに注意してください。

    Render Tree で[Store In Channel]シェーダを接続する場所をツリーの終端に近付けると、チャンネルに保存およびレンダリングされるデータが多くなります。たとえば、[Store In Channel]シェーダをマテリアル ノードの[Surface]ポートに直接接続すると、シェーダは Render Tree 全体のデータを遮断します。カラー レンダ チャンネルに出力する場合は、マテリアルを使用するオブジェクトを完全に分離するか、「カットアウト」します。

  5. [Store In Channel]シェーダを接続するノードの入力ポートを右クリックします。

  6. コンテキスト メニューから[挿入](Insert) [Store In Channel]を選択します。これによって、適切なデータ タイプの[Store In Channel]シェーダが自動的に挿入されます。

    シェーダが既にパラメータに接続されている場合は、入力パラメータと接続済みのシェーダとの間に[Store In Channel]シェーダが挿入されます。

    この方法を使用して Render Tree でノードを接続する場合の詳細については、「ノードにテクスチャ プロジェクションを割り当てる」を参照してください。

  7. [Store In Channel]シェーダのプロパティ エディタで、[レンダ チャンネル]ドロップダウンから、データのレンダリングに使用されるレンダ チャンネルを選択します。

  8. カスタム レンダ チャンネルをまだ作成していない場合は、[追加](Add)ボタンをクリックしてレンダ チャンネルの名前を入力します。レンダ チャンネルは適切な出力データ タイプを使用して自動的にシーンの[利用可能なチャンネル]グリッドに追加されます。

  9. チャンネルをパスに追加して、出力をレンダリングするパス オプションを設定します。「パスにレンダ チャンネルを追加する」を参照してください。