On this page |
概要 ¶
環境照明は、シーンを囲んだ球からライトが発生しているかのようにシーンにライトを追加します。 通常では、このライトには、 環境マップ と呼ばれる画像を使用して色を付けます。 環境マップは、シーン内の照明(と反射)を現実世界の位置に合わせることができたり、単にシーンの照明に面白いバリエーションを加えることができます。
PBRレンダリングセットアップでは、現実的な環境照明は、レンダリングするのが簡単です。
典型的なPBRライティングセットアップは、環境ライトを使用して、ベースのライトレベルを作成し、きっかけとなる光源を表現します。
How to ¶
To... | Do this |
---|---|
環境マップを使ってライティングする |
Houdiniには、環境ライトを試行錯誤するのに使用することができるいくつかのサンプルの環境マップが入っています。 |
屋外の環境ライトを追加します |
Lights and Cameras シェルフタブの Sky Lightツールは、時刻などのパラメータを持った屋外(太陽と青い空)のライティングを追加することができます。 |
シーンを環境で囲む |
|
間接照明 ¶
フォトンマップとは、 色が付けられたポイントクラウド のことです。Indirect Lightは、ライトから光線を発射してオブジェクトに当たった場所のシェーディングカラーを記録することでフォトンマップを生成します。これは、本質的には後で使用するライトを高速化するためにライティングをキャッシュ化します。
フォトンマップは、オブジェクトと地面が接している箇所またはオブジェクトの角の箇所の“接触するシャドウ”のキャプチャーがあまり得意ではありません。直接フォトンマップの使用頻度を制御するには、Indirect Lightノードの Indirect Diffuse Options タブの Photon Distance Threshold パラメータを調整します。値を大きくすれば、距離の大きい交差箇所だけにフォトンマップを使用します。狭い角や近接するオブジェクトにはパストレースを使用する方が良いです。
To... | Do this |
---|---|
間接照明を追加する |
効率的な間接照明を得る(グローバルイルミネーション)には、シーンに Indirect Lightを追加します。 レンダラーが複数のライトの跳ね返りを追跡するようにするには、レンダーノードのDiffuse Limit( Properties ▸ Shading タブ)も上げなければなりません。 |
Indirect Lightは、アニメーションさせるとキラキラ光る傾向があります。それが目立たないようにするには、ノイズを減らす必要があります。
環境マップ ¶
環境マップは、ある点から全方向に投影したビューを表示する特別な画像です。Houdiniではいくつかの環境で環境マップを使うことができます。
-
エリアライトと環境ライトには、環境マップを使ってライトコントロールの放射を制御できるパラメータがあります。環境マップを使ったこの種の画像ベース照明は、周囲の環境からのライトがシーン内のオブジェクトに当たっているかのような錯覚を生成します。
-
いくつかのマテリアル、特に高い反射率を持つクロム合金では、よく 反射マップ を指定します。このマップはマテリアル付きのオブジェクトの表面に表示される反射を制御するために使用します。これは実際のレイトレースによる正確な反射ほどリアルではありませんが、非常に高速です。
-
多くのVEX関数とVOPが、環境マップの引数がオプションとして受け取ることができるので、ジオメトリに当たらない光線のカラーを設定することができます。
Houdiniには、Dosch Designのご好意で$HFS/houdini/pic
に3つのサンプルHDRI(High Dynamic Range Images)があります。これらはDoschのウェブサイトから購入できるHDRIの低解像度のサンプルです。
キューブ環境マップの生成 ¶
isixpackユーティリティを使って6枚の画像からキューブ環境マップを生成することができます。Mantraは自動的にレンダリング中にオブジェクトに対してキューブ環境マップを生成することもできます。
Note
Mantraは標準画像ファイル(.tif
または.exr
)として保存したキューブ環境マップもサポートしていますが、このフォーマットは1024×512のピクセルサイズに制限されていて、.rat
と比べてアンチエイリアスが弱いです。代わりに.rat
テクスチャを使用するべきです。
キューブ環境マップの基本概念は、マップを適用したいオブジェクトのパースペクティブ(例えば、上面、下面、正面、背面、左側面、右側面)から6つの画像をレンダリングして、isixpack
を使って合成します。プロパティをオブジェクトに追加して、オブジェクトがレンダリングされるとMantraがキューブ環境マップを自動的に生成するようにすることができます。
-
オブジェクトを選択します。
-
パラメータエディタでギアメニューから Edit Rendering Parameters を選択します。
-
Render Properties タブから、 Mantra フォルダを展開します。
-
次のプロパティをオブジェクトのパラメータとして追加します。追加の方法は、プロパティを中央のペインにドラッグするか、プロパティを選択して右矢印ボタンをクリックします。
-
Output フォルダの Auto-Generate Environment Map (
render_envmap
)と Output Picture (vm_picture
)。 -
View フォルダの Resolution (
res
)。
-
-
Accept をクリックします。
-
オブジェクトのパラメータエディタで、 Output タブの Output Picture (デフォルトは
ip
です。これはMplayにレンダリングした環境マップを開く特別な値です)を設定します。 -
View タブの Resolution で生成される画像の解像度を設定します。水平方向と垂直方向の解像度は一致しなければなりません(つまり、画像は正方形でなければなりません)。
Render タブの Auto-Generate Environment Maps パラメータは、デフォルトでオンです。
-
オブジェクト自体が生成される画像では自動的に不可視になります。
-
Mantraが6枚の画像を適切に繋げるためにAperture(絞り)とFocal Length(レンズズームの焦点距離)のプロパティは、無視されます。環境マップを生成すると、Focal Lengthが1.0、Apertureが2.0(画角が40度)になります。
-
Resolution Overrideのプロパティは環境マップの生成に適用されません。Resolutionパラメータのみが使われます。
環境マップのレンダリングをより細かく設定するのであれば、次のカメラに関係したプロパティを追加することができます。
-
Pixel Filter
-
Pixel Samples
-
Quantization
-
Near/far Clipping
-
Background Images