アンビエント オクルージョン シェーダ オプションを設定する
 
 
 

Render Treeで[XSIAmbientOcclusion]シェーダを接続した後は、このシェーダのオプションを設定して最終的なエフェクトのレンダリング方法を定義する必要があります。以降のセクションでは、これらのオプションの設定方法について説明します。これらのオプションはすべて、[アンビエント オクルージョン]シェーダのプロパティエディタにあります。

アンビエントオクルージョンオプションを設定するには

  1. Render Treeでシェーダを探し、ダブルクリックしてシェーダのプロパティエディタを開きます。

  2. まず低い[サンプル数](Number of Samples)から開始します。調整を行うには10~15の値が適しています。「サンプル数の調整」を参照してください。

  3. [出力モード](Output Mode)を設定します。使用可能なモードについては、「出力モードの選択」を参照してください。

  4. 選択した出力モードで必要な場合は、[明色](Bright Color)[暗色](Dark Color)を設定します。詳細については、「明色と暗色を設定する」を参照してください。

  5. [スプレッド](Spread)値を設定して、サンプリング用の円錐のサイズを定義します。「スプレッドを調整する」を参照してください。

  6. 必要に応じて、[最大距離](Maximum Distance)を設定してサンプリングレイの範囲を制限します。詳細については、「最大距離の設定」を参照してください。

  7. 必要に応じて、[アルファ内オクルージョン]チェックボックスにチェックマークを付けて、アルファチャンネルに遮られる量を格納します。詳細については、「アルファチャンネルでのオクルージョンの格納」を参照してください。

  8. 他のパラメータを納得のいくように調整できたら、オクルージョンエフェクトが満足できるレベルになるまで[サンプル数](Number of Samples)の値を上げます。

サンプル数の調整

[サンプル数](Number of Samples)パラメータは、オクルージョンの決定に使用されるレイの数を指定します。この値を大きくするほどスムーズになりますがレンダリングに時間がかかります。これは、最終的なオクルージョンエフェクトの滑らかさと質に最も大きな影響を与えるパラメータです。

A

サンプル数=10

B

サンプル数=50

C

サンプル数=100

D

サンプル数=300

明色と暗色を設定する

[明色](Bright Color)値と[暗色](Dark Color)値は、シェーダが、遮られるポイントとまったく遮られないポイントそれぞれに対して返すカラーを定義します。通常、ほとんどのサンプルポイントがある程度遮られているため、指定したポイントの最終的な色は明色と暗色のブレンドになります。

これらのパラメータは、オクルージョンのパターンに変化を加えるためにテクスチャ化できます。たとえば、スカイテクスチャで明色を処理して雲のように表現したり、ダートテクスチャで暗色を処理して(特にコーナーやディテールの細かい領域で)砂ぼこりのように表現したりできます。

明色=白、暗色=黒

明色=黄色、暗色=赤

明色=クラウドシェーダ、暗色=岩シェーダ

スプレッドを調整する

[スプレッド](Spread)値は、サンプルポイントごとに、サンプルレイのキャスト元となる円錐の角度を定義します。値が[0]の場合はサーフェイスの法線の向きのみでサンプリングを行い、値が[1]の場合はサンプルポイントの上にある半球全体をサンプリングします。

エフェクトに関しては、[スプレッド](Spread)値が小さいほど、オクルージョンエフェクトがより局地化されます。この値が高いほど、エフェクトが滑らかになります。

注:[スプレッド](Spread)値を大きくすると、多くの場合、サンプル数も上げる必要があります。これにより、特にサーフェイスディテールの少ない平面で、斑点を削除できます。

A

スプレッド=0.1

B

スプレッド=0.3

C

スプレッド=0.5

D

スプレッド=1.0

出力モードの選択

[Ambient Occlusion]シェーダには、5種類の出力モードが用意されています。[出力モード](Output Mode)ドロップダウンリストから必要なモードを選択できます。

  • [シェーディング法線を使ってのオクルージョン/曲がった法線を使ってのオクルージョン](Occlusion Using Shading Normal/Occlusion Using Bent Normals): これらのモードは、両方とも下の図で示すような「標準的な」オクルージョンエフェクトを作成します。[シェーディング法線を使ってのオクルージョン]モードは、シェーディング法線の方向をサンプリングし、[曲がった法線を使ってのオクルージョン]モード(デフォルトのモード)は、ブレンドされた結果でより多くの[明色](Bright Color)を返すことができるようにサンプリング方向を偏らせます。

  • [サンプルされた環境](Sampled Environment): 通常のオクルージョンに似ていますが、環境サンプリングも実行します。このため、(後から説明する例のように)シーンで環境マップが使用される場合、マップカラーが明色に掛け合わされ、遮られていない領域の最終的なカラー値が作成されます。

    [出力モード](Output Mode)[サンプルされた環境](Sampled Environment)に設定されている場合、[Ambient Occlusion]シェーダは(この場合はレンダパスのレベルで定義された)環境マップをサンプリングし、結果を[明色](Bright Color)と掛け合わせて、遮られていない領域の最終的なカラーを作成します。

  • [まがった法線を戻す(ワールド空間)](Return Bent Normals (World Space))/[曲がった法線を戻す(オブジェクト空間)](Return Bent Normals (Object Space)): これらのモードは、それぞれ、遮られないワールド空間、およびカメラ空間の法線方向に基づいたカラー値を返します。どちらの場合も、赤、緑、および青の各コンポーネントが、それぞれX、Y、およびZの各軸に対応します。

    単独でレンダリングされるこのタイプのオクルージョンエフェクトは、ライトなどを微調整するために合成作業時に使用できます。

A

曲がった法線を戻す(ワールド空間)

B

曲がった法線を戻す(オブジェクト空間)

最大距離の設定

[最大距離](Maximum Distance)パラメータは、指定したポイントからキャストされるサンプルレイの最大範囲を設定します。

  • [最大距離](Maximum Distance)[0]に設定するとシーン全体がサンプリングされます。つまり、シーンの境界に達するまでレイがトレースされます。

  • [最大距離](Maximum Distance)がゼロ以外の値に設定されている場合、サンプルレイは指定した距離までトレースされます。この範囲外にあるオブジェクトは、サンプルされたオブジェクトを遮るために表示されることはありません。その範囲内にあるオブジェクトは、サンプル オブジェクトに近いほどさえぎられます。

通常は、ゼロ以外の値を使用して[最大距離]を制限することをお勧めします。一般的に、距離オブジェクトが最終的な結果に及ぼす影響は少なくなります。同じサイズの近いオブジェクトよりもサンプリング半球のごく狭い領域しか占有しないためです。全体的なオクルージョンがわずかに減少しますが、これによってレンダリング時間は十分に短縮されます。

アルファチャンネルでのオクルージョンの格納

通常、サンプルポイントに対して戻されるカラーは、サーフェイス上でそのポイントがどのように遮られているかに応じて明色と暗色をブレンドされたカラーとなります。このブレンドされたカラーは、RGBチャンネルとアルファチャンネルの両方に格納されます。

[アルファ内オクルージョン](Occlusion in Alpha)パラメータがオンになっている場合、アルファチャンネルに対する明色と暗色のブレンドは行われません。代わりに、アルファ チャンネルは実際のオクルージョン量を保持します。

注:オクルージョンとは関係なく、アルファ値を1にする必要がある場合は、単に明色と暗色のアルファ値を1に設定すると、ブレンドが常に1を戻します。