Doc:JA/2.6/Manual/Lighting/Shadows

提供: wiki
< Doc:JA‎ | 2.6‎ | Manual‎ | Lighting
移動先: 案内検索

Shadows

(影)

光はその片割れなしには存在すらできません。影です。影とは、物体への光の照射が部分的または完全に遮られ、暗くなった部分です。影はシーンに、濃淡とボリュームを足します。現実世界に影のない場所はほとんどないため、現実味のある描画のためには影は必要です。Blender は次の種類の影をサポートします:

  1. レイトレースによる照明の影
  2. バッファによる照明の影
  3. アンビエントオクルージョン (eng)
  4. 間接照明

アンビエントオクルージョンは光そのものではなく、ジオメトリを元にした影です。ただ、物体を完全に一様に照らすことのない光の効果を真似るので、ここで説明します。また Ambient を増やすほど影の効果が弱まるため、Ambient Lighting の話題も重要です。

レイトレースとバッファシャドウを組み合わせて使い、違った結果を得ることができます。レイトレースシャドウの内側においても、照明によって違った様式や強度の影が作られます。照明の並べ方によって、ある照明が他の照明の作る影を打ち消すことも、重なることもあります。

影は、結果を出すためにさまざまな場所でたくさんの準備をする必要があります:

  1. 照明が影を作らなければならない(能力と向き)
  2. 不透明な物体は通過する光を遮らなければならない(位置とレイヤー)
  3. 相手の物体のマテリアルが影を受けなければならない(Shadow(影)Receive Transparent(半透明影の受信) が有効であること)
  4. レンダーエンジンが影を計算しなければならない(バッファシャドウ用には Shadow、レイトレースシャドウ用には ShadowRay

たとえば単純な Point(ポイント)Area(エリア)Sun(サン) 光源はバッファシャドウではなくレイシャドウを作ることができます。Spot(スポット) 光源はどちらも作ることができ、一方 Hemi(ヘミ) 光源は一切影を作りません。Sun 光源が横向きに射すと、平面上の球から平面に影は作られませんが、これは光がその方向には進まないためです。影を作れるすべての光源には共通のオプションがあり、これは こちらで 説明されています。

さらなる影のオプション(と混乱と問題)のご参考までに、光源とマテリアルは、物体の diffuse/specular 特性を照らさず影を作ったり受けたりすること だけ ができるように、個別に設定できます。またレンダーレイヤーは影のパスのオンオフ切り替えができ、出力に影情報を含むかどうかを決められます。

Lamps: Ray-traced Shadows

(光源:レイトレースによる影)

Ray Shadow enabled for a lamp

レイトレースシャドウは処理時間を費やして、非常に少ないメモリ消費で非常に正確な影を作ります。このタイプの影は Hemi を除くすべての光源で利用できます。

バッファによる影 とは対照的に、レイトレースシャドウは均一光源から光線を、一様にあらゆる方向に注ぐことで得られます。レイトレイサーは次に、光線に最終画像のどのピクセルが当たるか、どのピクセルが当たらないかを記録します。当たらないピクセルは当然、影によって不明瞭になります。

光源の種類によって光線は違った方法で放たれます。たとえば Spot 光源は円錐の範囲内のあらゆる方向に均一に光線を放ちます。Sun 光源は無限遠から光線を放ち、光線はすべて Sun 光源の向きと平行になります。

シーンにレイトレーシングを有効にした光源を追加するたびに、レンダリング時間が増加します。レイトレースによる影はバッファによる影よりも多くの計算を必要としますが、非常に少ないメモリ消費で、縁の鋭い影を生みます。

レイトレースシャドウを有効にするには、3つの操作が必要です:

  • Render(レンダー) コンテキストの Shading(シェーディング) パネルで Shadows(影) をグローバルに有効にする
  • 同じパネルで Ray tracing(レイトレーシング) をグローバルに有効にする
  • 光源の Object Data(オブジェクトデータ) コンテキストの Shadow(影) パネルにある Ray Shadow(レイシャドウ) ボタンを使って、この光源用のレイトレースによる影を有効にします。このパネルは光源のタイプによって変化します。

レイトレースシャドウは次のタイプの光源によって作れます:


Lamps: Buffered Shadows

(光源:バッファによる影)

Spot 光源用に Buffer Shadow を有効化
マテリアル用に Cast Buffer Shadows を有効化

バッファによる影、バッファシャドウは精度や品質を犠牲にして、影を高速描画します。バッファシャドウはまた、メモリをレイトレースより多く必要とします。バッファシャドウを利用すべきかどうかは要件次第です。アニメーションをレンダリングする場合や、ソフトシャドウを使った複雑なシーンのレンダリングに何時間も待てない場合は、バッファシャドウは良い選択です。

スキャンラインレンダラー用に – Blender 組み込みのエンジンはスキャンラインレンダラーです – 影は シャドウバッファ を使って計算できます。スポット光源の視点で見た「画像」が「レンダリング」され、この画像内の各点とスポット光源の距離が保存されます。「レンダリング」された画像内にある、スポット光源の画像にあるどの点よりも遠い点はすべて、影になっているとみなされます。シャドウバッファはこの画像データを保管します。

バッファシャドウを有効にするには、以下の操作が必要です:

  • World(ワールド) コンテキストの Gather(ギャザー) パネルで Approximate(近似) を選び、グローバルに影を有効にします
  • 光源の Lamp(オブジェクトデータ) コンテキストの Shadow(影) パネルで Buffer Shadow(バッファシャドウ) ボタンを使ってこの光源に関する影を有効にします。
  • Material(マテリアル) コンテキストの Shadow(影) パネルで Cast Buffer Shadows(バッファシャドウを投影) オプションが有効であることを確認してください。