シャドウマップ シャドウを作成する

 
 
 

シャドウ マッピング(デプス マップ シャドウとも呼ばれる)では、変更された Z バッファ(デプス)アルゴリズムを使用して、シャドウを作成します。レイトレースを使用して作成した場合より正確性に欠けますが、迅速に作成できます。

A

通常のポイント ソース ライトではシャドウのエッジがシャープになります。

B

シャドウマップ シャドウには距離とともにブラーがかかります。

このアルゴリズムでは、各ピクセルのカラー情報と奥行き(Z チャンネル)情報が、サーフェイスとカメラからの距離に従って計算されます。シャドウマップが存在しない場合は、レンダリングが始まる前にライト用に生成されます。

このマップには、ライトの原点のパースペクティブ ビューからのシーンに関する情報が含まれています。この情報は、ライトからシーンにあるオブジェクトまでの距離と、オブジェクト上のシャドウのカラーを表しています。

このレンダリング中に、ライトが深度マップで指定した距離でカットされます。これにより、レンダラでは深度マップをチェックするだけでサーフェイスのどの部分にシャドウを入れるかどうかを決定できるため、レンダリング時間を大幅に節約することができます。

なお、ライトを強くしてシャドウを生成すると、それに伴ってレンダリング時間も長くなります。

重要:シャドウマップが適用されたシャドウとエリア ライトを同時に使用しないようにしてください。シーンにアーティファクトが発生することがあります。

シャドウマップ シャドウを作成するには

  1. ライトを選択し、[レンダ](Render)ツールバーで[修正](Modify) [シェーダ](Shader)を選択して、そのプロパティ エディタを開きます。

  2. [Light]プロパティエディタの[一般]タブで、[シャドウ有効](Shadows Enabled)を選択します。

  3. シャドウ マップを使用するには、[シャドウマップ](Shadow Map)タブをクリックし、[シャドウマップ使用](Use Shadow Map)を選択します。

  4. [解像度](Resolution)を設定して、シャドウ マップの精度(マップ バッファの幅と高さ)を決めます。高解像度の設定では、メモリ使用率が増加し、レンダリング時間が長くなります。

    アーティファクトなどの問題が発生する場合の解決法として、シャドウ マップ解像度を上げないようにしてください。シャドウ マップ解像度を上げるのは最後の手段です。まず、[バイアス]パラメータを調整します。この方法では、レンダリング時間が長くなりません。

  5. [バイアス](Bias)を設定して、シャドウ マップに追加する距離オフセットを制御します。

    バイアスは、シャドウ マップ内の各距離に追加される数値です。基本的に、バイアスによってシャドウの開始点がライトから遠ざかります。バイアスの値を上げると、シャドウを落とすサーフェイスからシャドウが遠ざかり、場合によってはシャドウが早く落とされてしまいます。バイアスを変更しておくと、シャドウ マップ アルゴリズムが深度値を正確に生成できなかった場合に、シャドウ オーバーラン(自動シャドウイング)やシャドウ アーティファクトを削除する際に便利です。

    通常、大きめのスケールにシーンを作成する場合はバイアス値を高く設定し、反対に小さめのスケールではバイアス値を低く設定します。

  6. [ぼかし](Softness)を設定してシャドウのタイプを定義します。値を 0 にすると、ハードエッジのシャドウになります。ここで値を高くすると、長くて滑らかなシャドウが作成されますが、レンダリング時間が長くなります。

  7. [サンプル](Samples)を設定して、シャドウの解像度を調整します。レンダリング精度は上がりますが、レンダリング時間が長くなります。

  8. レンダリング前に[Render]ツールバーから[レンダ](Render) [レンダラオプション](Renderer Options)を選択し、現在のレンダパスの[mental ray レンダー オプション]プロパティ エディタを開いて以下のオプションを設定します。

  9. [最適化]タブで、[1 次レイ]を[スキャンライン](Scanline)に設定します。

  10. [シャドウ]タブで[有効](Enable)を選択し、シャドウ マップをアクティブにします。シーンにモーション ブラーがある場合は、[モーション ブラー](Motion Blur)オプションを有効にすることができます。

  11. シャドウを落として、[Visibility]プロパティ エディタを表示するオブジェクトを選択します。[レンダリング]タブをクリックし、[シャドウキャスタ](both Shadow Caster)および[レシーバ](Receiver)オプションが有効になっていることを確認します。詳細については、「Shadow Casters and Receivers(シャドウ キャスタとレシーバ)」を参照してください。

  12. レンダ領域内でシャドウマップを表示するには、領域を描画して([Q]キーを押す)、[レンダ](Render) [領域](Regions) [アクティブなビューポートのオプション](Active Viewport Options)を選択して、[現在のパスのオプションを使用](Use Current Pass Options)を選択します。