カラー サンプラ シェーダを使用して Render Tree を焼きこむ

 
 
 

[Color Sampler(カラー サンプラ)]シェーダ([Shader Reference(シェーダ リファレンス)])は、オブジェクトのサーフェイスをサンプリングして、結果をテクスチャ ファイルに書き込みます。概念上はレンダマップのサーフェイス カラー マップに似ていますが、その機能は異なります。

仮想カメラを使用して指定の距離からオブジェクトのサーフェイスをサンプリングするのではなく、カラー サンプラ シェーダはオブジェクトの Render Tree を直接評価します。Render Tree の一部をカラー サンプラの入力ポートに接続するとその部分が計算され、テクスチャ ファイルに書き込まれます。

カラー サンプラ シェーダ自体は、テクスチャを生成するために[Material]ノードの[Lightmap]ポートに接続されている必要があります。

カラー サンプラはライトマップ シェーダとして実装されますが、従来の意味での実際のライトマップではありません。

   

この風変わりな人物には、Procedural Cell シェーダを使用してテクスチャが適用されています。カラー サンプラ シェーダを使用して、プロシージャル テクスチャをイメージに焼きこむことができます。

A

カラー サンプラ シェーダの出力は、ライトマップを生成するために[Material]ノードの[Lightmap]ポートに接続されている必要があります。

B

Phong シェーダの出力はカラー サンプラ シェーダの入力ポートに接続されているため、Phong シェーダへとつながっている部分はすべてカラー サンプラ シェーダの出力イメージに含まれます。

C

カラー サンプラ シェーダは、オブジェクトのレンダリング時にこのテクスチャを作成します。イメージはディスクに書き込まれるので、後から再利用することができます。

   

カラー サンプラ シェーダにより生成されたテクスチャをオブジェクトのサーフェイスに適用すると、ここに示す結果が作成されます。イルミネーションがテクスチャに焼きこまれているため、サーフェイス シェーダは必要なく、シーンのライトも削除できます。

カラー サンプラ シェーダを使用してオブジェクトのサーフェイスをサンプリングするには

  1. サーフェイスをサンプリングするオブジェクトを選択し、7キーを押してRender Treeを開きます。

  2. Preset ManagerからRender Treeワークスペースに、[ライトマップ](Lightmaps) [カラーサンプラ](Color Sampler)ノードをドラッグアンドドロップします。

  3. [Color Sampler]ノードの出力を[Material]ノードの[Lightmap]ポートに接続します。

  4. [Color Sampler]ノードの[Input]ポートに、ノードの出力またはサンプリングする Render Tree のブランチを接続します。

  5. [Color Sampler]ノードをダブルクリックしてプロパティ エディタを開きます。

  6. [Color Sampler]ページで、[テクスチャ スペース](Texture Space)オプションを使用して、サンプリング中に使用するテクスチャ プロジェクションを選択します。

    理想的には、オブジェクトのテクスチャで使用するプロジェクションと同じプロジェクションを選択します。ただし、[新規]をクリックして[新しい](new)テクスチャ プロジェクションを作成しなければならない場合もあります。たとえば、サーフェイス シェーダ(Phong、Lambert など)のみを使用してオブジェクトにテクスチャを適用している場合や、空間的プロジェクションを使用して適用されるプロシージャル テクスチャを使用してテクスチャを適用している場合(カラー サンプラ シェーダは、サンプリングに空間的プロジェクションを使用できません)などです。

  7. [ユーザ ツール](User Tools) [SSS ライトマップの作成](Create SSS Lightmap)を選択します。sss_lightmap_clip ノードの出力を Color Sampler のテクスチャ ポートに接続して、必要に応じて出力ファイル オプションを設定します。

    イメージのファイル名には、デフォルトでハッシュ マーク(#)が含まれることに注意してください。これは、シーケンスのレンダリング時にフレーム番号を指定するために使用します。

  8. オブジェクトをレンダリングして、[Color Sampler]の出力テクスチャを作成します。

    • 単一フレームのテクスチャを出力する場合は、レンダ領域ツールまたはレンダ プレビュー ツールを使用します。

    • テクスチャ シーケンスをレンダリングする必要がある場合は、必要なフレームすべてをレンダリングする必要があります。

    これらのレンダリング方法の詳細については、「レンダリング方法」(「レンダリング」)を参照してください。

カラー サンプラ シェーダとレンダマップ

カラー サンプラ シェーダとレンダマップ ツールの機能は似ています。このセクションでは、カラー サンプラ シェーダよりもレンダマップ ツールの使用が推奨される状況、およびその反対の状況について説明します。

レンダマップ プロパティの詳細については、「 サーフェイス属性マップを焼きこむ」を参照してください。

カラー サンプラ シェーダを使用する利点は次のとおりです。

  • カラー サンプラ シェーダは Render Tree を直接評価するため、他のオブジェクトが仮想カメラの妨げになることを心配する必要はありません。また、RenderMap のカメラ距離値の設定を大きくしすぎた場合に生じるオブジェクトの歪みを心配をする必要もありません。

  • カラー サンプラの入力に接続されている対象を変更するだけで、Render Tree の任意のシェーダまたはブランチからテクスチャをすばやく生成できます。

  • カラー サンプラ シェーダは、静止画ではなくテクスチャ シーケンスを出力するように簡単に設定できます。

  • カラー サンプラ シェーダを使用するために必要な設定は非常にわずかです。Render Tree でいくつかの接続を行い、いくつかのパラメータを設定する必要があるだけです。

  • 評価されるマテリアルに応じて、カラー サンプラ シェーダはレンダマップより早く処理できます。

レンダマップを使用する利点は次のとおりです。

  • 出力テクスチャにサンプル オブジェクト以外のオブジェクトを含めることが望まれる場合もよくあります。たとえば、グリッドの前にオブジェクトを配置してからグリッドをレンダマップすることによって、スプライトを作成できます。

  • レンダマップは、Render Tree を使用して作成するには複雑な、複数の特定のタイプのマップ(法線マップ、従法線マップ、接線マップなど)を作成することを目的としています。

  • レンダマップは、1 つのレンダリングで複数のイメージを生成できます。カラー サンプラシ ェーダは、一度に 1 つのイメージしか作成できません。

  • バンプ マッピング情報はレンダマップを使用してキャプチャする方が簡単です。カラー サンプラ シェーダは、[Material]ノード自体を入力として使用できないためです。