Materials 2.7
Material (マテリアル) はメッシュやカーブ、その他のオブジェクトの外観を定義します。マテリアルは、メッシュ表面の外観、メッシュ内のボリューム、およびメッシュ表面の変位を定義する 3 つの Shader (シェーダ) で構成されています。


マテリアルの具体的な設定については、Material Output を参照してください。
Surface Shader
サーフェスシェーダは、メッシュ表面における光の相互作用を定義します。サーフェスに入射した光は、一つ以上の BSDF の指定によって、反射したりメッシュ内に屈折もしくは吸収されたりします。Emission シェーダは、サーフェスからの発光を定義し、どのようなサーフェスでも光源とすることができます。
用語
- BSDF :双方向反射率分布関数を意味します。表面における光の反射や屈折を定義します。
- Reflection (反射):表面と同じ側に入射光を反射します。
- Transmission (透過):表面を抜けてきた入射光を透過し、反対側に放出します。
- Refraction (屈折):透過の一種で、入射光を透過し、方向を変えて表面の反対側に抜けます。
BSDF パラメータ
非物理ベースのレンダラとの大きな違いは、光源から放射された直接光と何かのサーフェスから反射されたの間接光が切り離されておらず、むしろ単一の BSDF を使用して処理していることです。これは可能性がすこし制限されるものの、全体的にはより少ないパラメータの調整で調和の取れたレンダリングを作成するのに役立つと考えています。
Glossy BSDF の Roughness (粗さ) パラメータは反射の鮮明さで、はっきりと鮮明な 0.0 から非常にやわらかい 1.0 までで制御します。硬さや指数のパラメータと比較すると、0.0 から 1.0 の範囲でより直線的に制御することでより簡単にテクスチャすることが可能という利点があります。おおよその関係は、「粗さ = 1 - 1/硬さ」となります。
Volume Shader
サーフェスシェーダがサーフェスに入射した光を反射または吸収しない場合、その光はボリュームに入ります。ボリュームシェーダが指定されていない場合は、その光はメッシュの反対側にストレートに通過します。ボリュームシェーダが指定されている場合は、その光がメッシュのボリュームを通過する際に、ボリュームシェーダによって光の相互作用が表現され、光は散乱または吸収されたり、ボリュームの任意のところから放出されます。
マテリアルは、サーフェスシェーダおよびボリュームシェーダのどちらか一方もしくは両方を使用することができます。例えば、Glass BSDF シェーダや Glossy BSDF シェーダを サーフェスシェーダに組み合わせ、光が表面を通過する際にその一部が吸収されて欲しいガラスや水、氷といったマテリアルを表現する場合には、両方のシェーダを使用します。
ボリュームレンダリングは、炎や煙、霧、ガラスへの吸収といった、サーフェスメッシュだけでは表現できない多くの効果を表現するために使用されます。ボリュームを設定するためには、ボリュームが存在する境界を定義するためのメッシュを作成します。マテリアルにおいて、通常、サーフェースノードを外し、その代わりにボリューム内のシェーディングを定義するボリュームノードを接続します。ガラスへの吸収といった効果のためには、サーフェスシェーダとボリュームシェーダの両方を使用することができます。
World Output もまた、霧のような効果を作成するためにボリュームシェーダを使用することができます。
密度
すべてのボリュームシェーダは、Density (密度) 入力ソケットを備えています。Density は、ボリューム内でどのくらい光が相互作用して吸収・散乱され、どのくらいが真っ直ぐに透過するかを定義します。煙のような効果を表現するためには、ボリューム内のどこにどのくらいの煙があり (Density > 0)、どこに煙がないのか (Density = 0) を指定します。
現実世界ではボリュームは粒子からなり、高密度とは単位体積当たりにより多くの粒子があることを意味します。多くの粒子があるということは、光はストレートに通過するよりもむしろ、粒子に衝突して吸収または散乱される可能性が高いということを意味します。
メッシュトポロジー
ボリュームレンダに使用されるメッシュは、閉多様体である必要があります。つまり、メッシュに穴があってはいけません。穴があったり、1 つのエッジに 3 つ以上のフェースが接続されていることなく、各エッジには正確に 2 つのフェースが接続されている必要があります。
法線は正しい結果を得るために、外側を指している必要があります。法線は光線がボリュームに入るか出るかどうかを決定するために使用されます。法線が間違った方向を指したりメッシュ内に穴がある場合、レンダラはボリュームの内側と外側を決定することができません。これらのルールはガラスの屈折を正しくレンダリングするためと同じです。
散乱バウンス
雲やサブサーフェススキャッタリングの散乱のような現実世界の効果は、多くの散乱バウンスを必要とします。しかし、そのような効果の無作為なレンダリングは、時間が掛かり、ノイズが多くなります。典型的な映画制作シーンでは、レンダリング時間を制御下で保つために 0 または 1 バウンスだけ使用される可能性があります。0 ボリュームバウンスをレンダリングで得る効果は「単一散乱」として知られ、より多くのバウンスからの効果は「多重散乱」となります。
皮膚や牛乳などの材質のレンダリングのための SSS (サブサーフェススキャッタリング) シェーダは、大変効率的であるが正確ではない多重散乱効果のような近似です。
雲や煙といったハッキリとした面を持たない材質の場合、ボリュームレンダリングが必要となります。これらは沢山の散乱バウンスがあり最適に見えますが、実際は許容できるレンダリング時間を維持するためにバウンス数を制限する必要がある場合があります。
制限事項
- 現在、以下はサポートしていません
- ボリュームメッシュにおける正しいレイの可視性
- 現在、以下の項目は GPU 上では使用できません
- 煙 / 炎のレンダリング
- Equi 角 / MIS ボリュームサンプリング
- ボリュームマルチライトサンプリング
Displacement
Displacement (ディスプレイスメント・変位) の一部の機能は、まだ実験的機能としてマークされています。
表面およびボリューム内部の形状は、ディスプレイスメントシェーダによって変形することができます。この方法により、テクスチャを使用してメッシュ表面をより詳細に表現することができます。
タイプ
設定により、バンプマッピングとして知られる変位的な印象を与えるためにサーフェス法線を変更するだけの仮想的な変位だったり、実際の変位と仮想変位の組み合わせだったりします。
ディスプレイスメントタイプオプションは次の通りです。
- True :実際にメッシュが実際に編集され、メッシュ頂点はレンダリング前に置き換えられます。メッシュが良く分割されている良い結果が得られます。この方法は、最もメモリを使用します。
- Bump :サーフェスシェーダが実行される際に、実際のサーフェス法線ではなく変更されたサーフェス法線が使用されます。これは実際の変位 ( True) への手軽な代替手段ですが、あくまでも近似に過ぎません。サーフェスのシルエットは正確ではなく、影も変位されたものではありません。
- Both :粗目にメッシュの変位を行い、最終的な詳細についてはバンプマッピングを行う、という 2 つの方法を組み合わせます。
エネルギー保存則
マテリアルシステムは物理ベースレンダリングを考慮して構築しており、マテリアルがどのように見えるかと、レンダリングにどのレンダリングアルゴリズムを使用するかを、きっちりと分離しています。これはリアルな結果やバランスの取れたライティングを実現することを容易にしますが、いくつか留意すべきことがあります。
マテリアルが大域照明 (Global Illumination : グローバルイルミネーション) でうまく機能するためには、物理学的観点で言う「エネルギーが保存」されている必要があります。それは、反射光の総量は入射光よりも多くできないということを意味します。
この特性は厳密には適用されていませんが、Color (色) が 0.0 ~ 1.0 の範囲内にあり、複数の BSDF が Mix Shader でミックスされただけの状態では自動的に正確となります。
Color を 1.0 以上にしたり、Add Shader を使用したりすることで、エネルギー保存則を破ることは可能ですが、様々な照明下で予測可能な作用を保つマテリアルとするためには一つ注意が必要です。
それは、バウンスの度にシステムに光が追加される反射となり、発光体の様な BSDF になってしてしまう可能性があるということです。
- 最終更新:2015-10-15 10:00:30