アンビエント オクルージョン
 
 
 

| Render Tree の使い方

カテゴリ: イルミネーション

シェーダ ファミリ: テクスチャ

出力: カラー

アンビエント オクルージョン シェーダは、高速かつ計算負荷をかけずにグローバル イルミネーションのエフェクトをシミュレートできます。オブジェクトのサーフェイス上にある指定のサンプル ポイント上方の定義済み半球領域にレイを放出することにより、ポイントを他のジオメトリでさえぎる範囲を決定します。

さえぎる量が決定したら、明色または暗色を使用してアンビエント ライトの影響度をスケーリングします。オブジェクト サーフェイス上のさえぎられない領域は明色、さえぎられる領域は暗色になります。オブジェクトが部分的に隠れる場合は、さえぎられる(隠れる)量に応じて明色と暗色がミックスされます。

このシェーダは、アンビエント オクルージョンに似ている反射オクルージョンにも使用できますが、オブジェクト サーフェイスに割り当てる反射マップの影響がスケーリングされます。

アンビエント オクルージョンを設定する方法については、「アンビエント オクルージョン」(「間接照明」)を参照してください。

注: [Ambient Occlusion]シェーダは、アンビエント オクルージョン マップを作成するために、レンダマップと Ultimapper の両方でも使用します。シーンでアンビエント オクルージョンを有効にします。キャッシュの結果は、これらのツールで生成されたアンビエント オクルージョン マップに反映されないことに注意してください。レンダマップと Ultimapper を使用する方法については、「サーフェイス マップのタイプの指定」および「サーフェイス属性(Ultimapper)を転送する」(「テクスチャリング」)を参照してください。

サンプル数(Number of Samples)

オクルージョンの決定に使用するサンプル レイの数を指定します。この値を大きくするほどスムーズになりますがレンダリングに時間がかかります。

0 または負の値を設定すると、mental ray によって[mental ray Render Options]プロパティ エディタでグローバルなアンビエント オクルージョン > レイ設定が使用されます。

明色(Bright Color)

サンプル ポイントが完全にさえぎられない場合、このカラーはアンビエント ライト/反射のスケーリングに使用されます。サンプリング ポイントが部分的にさえぎられる場合は、このカラーが暗色とミックスされます。

通常、このカラーは白ですが、スライダで任意の色に変更できます。また、テクスチャでカラーを調整することもできます。

暗色(Dark Color)

サンプル ポイントが完全にさえぎられる場合、このカラーはアンビエント ライト/反射のスケーリングに使用されます。サンプリング ポイントが部分的にさえぎられる場合は、このカラーが明色とミックスされます。

通常、このカラーは黒ですが、スライダで任意の色に変更できます。また、テクスチャでカラーを調整することもできます。

スプレッド(Spread)

サンプル レイを放出する円錐の角度を定義します。0 の値はサーフェイス法線の方向のみをサンプリングし、1.0 の値はサンプル ポイントの上にある半球全体をサンプリングします。

最大距離(Maximum Distance)

指定のポイントから放出するサンプル レイの最大数を指定します。

  • 0 に設定するとシーン全体がサンプリングされます。つまり、シーンの境界に達するまでレイがトレースされます。

  • 0 以外の値に設定すると、サンプル レイは指定の距離だけトレースされます。その範囲の外側にあるオブジェクトは、サンプル オブジェクトによってさえぎられることはありません。その範囲内にあるオブジェクトは、サンプル オブジェクトに近いほどさえぎられます。

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

反射(Reflective)

有効にすると、シェーダがアンビエント オクルージョンではなく反射オクルージョンを実行します。サーフェイスの法線を中心とする円錐状のサンプリング パターンが、反射方向を中心として分散するパターンに変更されます。

反射オクルージョンを使用すると、周囲の環境マップからカラーとディテールが組み込まれ、反射マップのリアルさが強調されます。

出力モード(Output Mode)

シェーダには出力カラーをコントロールする 5 つのモードがあります。

  • [シェーディング法線を使ってのオクルージョン](Occlusion Using Shading Normal): 標準的なアンビエント オクルージョンが生成されます。明色と暗色を使用してアンビエント ライティング/反射がスケーリングされ、それにともなってオクルージョンの量が決まります。

このモードでは、シェーディング法線方向にサンプリングが実行されます。

  • [曲がった法線を使ってのオクルージョン](Occlusion Using Bent Normals): 標準的なアンビエント オクルージョンが生成されます。明色と暗色を使用してアンビエント ライティング/反射がスケーリングされ、それにともなってオクルージョンの量が決まります。

このモードでは、より[明色](Bright color)寄りに偏った方向にサンプリングされます。

  • [サンプルされた環境](Sampled Environment): 通常のオクルージョンに似ていますが、環境サンプリングも実行します。このため、シーンが環境マップを使用する場合、マップ カラーを明色と乗算してさえぎられない領域のカラー値を生成します。

  • [まがった法線を戻す(ワールド空間)](Return Bent Normals (World Space)): ワールド空間で遮られないサンプル レイの平均に基づいたカラー値を返します。赤、緑、青の各コンポーネントがそれぞれ X、Y、Z に対応します。

  • [まがった法線を戻す(オブジェクト空間)](Return Bent Normals (Object Space)): オブジェクト空間で遮られないサンプルレイの平均に基づいたカラー値を返します。赤、緑、青の各コンポーネントがそれぞれ X、Y、Z に対応します。

アルファ内オクルージョン(Occlusion in Alpha)

有効にすると、[出力モード]の指定とは無関係にスカラ オクルージョン値がアルファ チャンネルに保存されます。

通常、指定のポイントに対して戻されるカラーは[明色](Bright color)[暗色](Dark color,)のブレンド カラーになります(アルファ チャンネルを含む)。ブレンドの割合はサーフェイス上のポイントがどの程度さえぎられるのかによって決まります。

このパラメータをオンにすると、アルファ チャンネルについては明色と暗色がブレンドされません。代わりに、アルファ チャンネルは実際のオクルージョン量を保持します。

アルファ チャンネルを 1 にすると、オクルージョンとは無関係に[明色](Bright color)アルファ値および[暗色](Dark color)アルファ値が 1 に設定され、ブレンド結果も常に 1 になります。

Render Tree の使い方

標準的なアンビエント オクルージョンの場合、このシェーダは[Material]ノードの[Surface]入力やサーフェイス シェーダ(Phong や Lambert など)の[Ambient]入力に接続します。反射オクルージョンの場合、このシェーダはサーフェイス シェーダの[Reflection]入力、または[Material]ノードの[Environment]入力に接続します。

詳細については、「[Ambient Occlusion]シェーダを接続する」(「間接照明」)を参照してください。