7.大気効果


7. 大気効果

大気効果はシーン全体を包む背景や大気に関する効果を指定する。 POV-Ray3.1では霧などはメディアで表現するように変更になった。しかし、POV-Ray3.0の霧などの機能も使用することができる。

●背景色(background)
●天球(sky_sphere)
●霧(fog)
●虹(rainbow)


7.1 背景色(background)

シーン全体の背景色を指定する。

< background の構文>

background { color <COLOR> }
background 背景色を指定するキーワード
color(colour)<COLOR> 背景色を指定する色表現  [デフォルト:<0,0,0> ]


7.2 天球(sky_sphere)

天球は背景となる空を表現するものである。 天球は無限の大きさを持つ球であり、視点の位置に関係なく空を表現することができる。

< sky_sphere の構文>


 sky_sphere {

   pigment { PIGMENT_1 }

   pigment { PIGMENT_2 }

     ...

   pigment { PIGMENT_n }

   [ TRANSFORMATION ]

 }

sky_sphere 天球を指定するキーワード
pigment { PIGMENT_1 }
〜 pigment { PIGMENT_n }
天球のピグメントの指定。 複数のピグメントを層として重ねることができる。 ⇒「12.1 ピグメント」
TRANSFORMATION 変形の指定  ⇒「2.2 変形」

※ 天球はシーンの中で1つしか使用できない。

※ 正射影と円筒投影のカメラでは平行光線を使うため、天球の一部しか見ることができ ない(ただし鏡のボールのような曲面に反射した空は見ることができる)。

天球はピグメントを何層にも重ねることができる。 その場合、最初に記述したピグメントが一番外側になり、最後に記述したピグメントが一番内側(手前側)になる。

※ ピグメントを重ねる場合、内側の層は一部を透明にしなければならない。

※ 天球の指定には主にカラー・マップとピグメント・マップを使用する。 また、イメージ・マップを使って2次元画像を貼り付けることもできる。 それぞれのマップの使用法については「12.1 ピグメント」を参照せよ。

カラー・マップを使った一般的な天球の使用例を以下に示す。

●空の背景色

カラー・マップでgradient zを使うことによって、地平線から天頂まで滑らかに色が変わる空の背景色を表現することができる。 これは天球のもっとも基本的な使用法である。

例)

          sky_sphere{

            pigment{

              gradient z

              color_map{

                [ 0.0 White*0.9 ]

                [ 1.0 color rgb<0.3,0.4,1.2>]

              }

            }

          }

図7.2a 空の背景色

●雲

カラー・マップやピグメント・マップをうまく使えば天球上に雲を表現することができる。 同じ雲のパターンであれば、物体の球(sphere)よりも天球のほうがレンダリングは速い(ただし雲による影は表現できない)。

例)

          sky_sphere{

            pigment{

              wrinkles

              color_map{

                [ 0.3 color rgb<0.3,0.4,1.2>]

                [ 0.9 White ]

              }

              scale <1, 0.2, 0.2>

            }

          }

図7.2b 雲

●太陽

gradientのパターンを応用して天球上に太陽を表現することができる。

例)

          pigment{

            gradient y

            color_map{

              [0.8 color rgb<0.3,0.4,1.2>]

              [0.999 color rgb<1,1,0.9> filter 0.1]

              [0.9995 White*1.2]

            } 

            rotate x*30

          }

図7.2c 太陽

これらのピグメントを何層にも重ねることによって、さまざまな空を表現することができる(図7.2d)。

図7.2d 天球を使った空の表現


7.3 霧(fog)

fogは霧の効果を表現するものである。 POV-Ray 3.0ではコンスタント・フォグとグラウンド・フォグの2種類の霧が使用できる。 コンスタント・フォグはシーン全体で一定の濃度の霧であり、グラウンド・フォグは地表面からupベクトルに沿って徐々に減衰する霧である。

< fog の構文>


 fog {

   [ fog_type 1 | 2 ]

   distance FLOAT

   color <COLOR>

   [ turbulence <VECTOR> ]

   [ turb_depth FLOAT ]

   [ lambda FLOAT ]

   [ octaves INTEGER ]

   [ fog_offset FLOAT ]

   [ fog_alt FLOAT ]

   [ up <VECTOR> ]

   [ TRANSFORMATION ]

 }

fog 霧を指定するキーワード
fog_type 1 | 2 霧のタイプの指定。fog_type 1:コンスタント・フォグ(一様な霧)、fog_type 2:グラウンド・フォグ(地表の霧) [デフォルト:1 ]
distance FLOAT 霧の透明度の指定
color <COLOR> 霧の色の指定
turbulence <VECTOR> 霧の乱れの指定 [デフォルト:<0,0,0> ]  ⇒「13.2-4 乱れ(turbulence)」
turb_depth FLOAT turbulenceの視線方向の乱れの深さの指定。 通常は0.0〜1.0以上の実数。 [デフォルト:0.5 ]
omega FLOAT turbulenceの乱れ方の制御 [デフォルト:0.5 ] ⇒「13.2-7 omega」
lambda FLOAT turbulenceの乱れ方の制御 [デフォルト:2.0 ] ⇒「13.2-6 lambda」
octaves INTEGER turbulenceの乱れ方の制御 [デフォルト:6 ] ⇒「13.2-5 octaves」
fog_offset FLOAT グラウンド・フォグが減衰し始める高さの指定 [デフォルト:0.0 ]
fog_alt FLOAT グラウンド・フォグの減衰率 [デフォルト:0.0 ]
up <VECTOR> グラウンド・フォグの上方向を示すベクトル、 霧が減衰する方向を決定する。[デフォルト:<0,1,0> ]
TRANSFORMATION 変形の指定(通常はrotateしか使用しない。 またtranslateは使っても全く効果はない。) ⇒「2.2 変形」

※ fog を使用するためにはカメラが中空物体(hollowを指定した物体)の中になければな らない。 ⇒「12.3 形状指定オプション」

霧の濃度はfog_offset + fog_altの高さにおいて25%になる。 任意の高さhにおける霧の濃度は次式によって計算される。

  (h>fog_altの部分) 霧の濃度=- 1 / (1 + (h - fog_offset) / fog_alt) ^2
  (h≦fog_altの部分) 霧の濃度=- 1

ある光線沿いの濃度の合計は、最初の点の高さから最後の点の高さまで積分することによって計算される。

視点からの距離がdistanceと等しい点では、物体の色が64%、霧の色が36%となる。 任意の距離dにおける点の色は次のように計算される(Dはdistance)。

   C_pixel = exp(-d/D) * C_object + (1-exp(-d/D)) * C_fog

霧の色は次の3つの要素に影響する。

● 霧と背景を掛け合わせた結果の色の決定。
● 透過の境界値の指定。 霧を通して最低限見ることができる光の量をtransmitの値で調 整する。(例えばtransmit 0.3では背景が最低30% 見える)。
● 霧によるフィルターの指定。 背景の光は霧の色に掛け合わされる(例えば filter 0.7 では背景の光の70%がフィルターされ、残りの30%はフィルターされない霧を作る)。

図7.3a フォグなしの状態

フォグの例を以下に示す。 上図はフォグを使用しないときのイメージである(比較のため)。

● コンスタント・フォグ

コンスタント・フォグはシーン全体に一定の霧を与える。

例)

          fog{

            color White

            distance 2

          }

図7.3b コンスタント・フォグのイメージ

● グラウンド・フォグ

グラウンド・フォグは地表面から徐々に減衰していく霧である。

例)

          fog{

            color White

            fog_type 2

            fog_alt 0.05

            fog_offset 0.1

            distance 0.2

            rotate x*90

            turbulence z*0.2

            turb_depth 0.2

          }

図7.3c グラウンド・フォグのイメージ

● レイヤー・フォグ

複数の霧を指定することによってそれらを重ねて使用することができる。 色、高さ、turbulenceの異なるグラウンド・フォグを層状にして使用すると効果的である。

図7.3dは白い霧の上に黒い霧を重ねた例である。

図7.3d レイヤー・フォグのイメージ


7.4 虹(rainbow)

省略。 興味があれば、POV-Rayのドキュメント(英語版)を参照。