Material Output 2.8
(作成中)


Material (マテリアル) Output はメッシュやカーブ、その他のオブジェクトの外観を定義します。Material は、メッシュ表面の外観、メッシュ内のボリューム、およびメッシュ表面の変位を定義する 3 つの Shader (シェーダ) で構成されています。
マテリアルの概要に関しては、Materials を参照してください。
Properties
Material Output は、Surface シェーダおよび Volume シェーダのどちらか一方もしくは両方を使用することができます。例えば、Glass BSDF シェーダや Glossy BSDF シェーダを Surface シェーダに組み合わせ、光が表面を通過する際にその一部が吸収されて欲しいガラスや水、氷といったマテリアルを表現する場合には、両方のシェーダを使用します。
● Surface
サーフェスシェーダを入力し、メッシュ表面における光の相互作用を定義します。サーフェスに入射した光は、一つ以上の BSDF の指定によって、反射したりメッシュ内に屈折もしくは吸収されたりします。Emission シェーダは、サーフェスからの発光を定義し、どのようなサーフェスでも光源とすることができます。
● Volume
マテリアルは、サーフェスシェーダおよびボリュームシェーダのどちらか一方もしくは両方を使用することができます。例えば、Glass BSDF シェーダや Glossy BSDF シェーダを サーフェスシェーダに組み合わせ、光が表面を通過する際にその一部が吸収されて欲しいガラスや水、氷といったマテリアルを表現する場合には、両方のシェーダを使用します。
光がボリュームを通過して相互作用する特定の効果モデルのために、次の 3 つのシェーダノードをサポートしています。
- Volume Absorption
このノードは、ボリュームを通過するときに光の一部を吸収します。これは、例えば、黒煙や着色ガラスといったオブジェクトや、Volume Scatter ノードとミックスしてのシェードに使用することができます。 このノードは、Transparent BSDF シェーダにやや似ており、光の一部をブロックし、それ以外の光はまっすぐに通過します。 - Volume Scatter
このノードは、ボリューム内の粒子に当たると、異なる方向に散乱させます。Anisotropy (異方性) は、光が散乱しやすくなる方向を設定します。0 は Diffuse BSDF シェーダにやや似ていて、すべての方向に均等に光散乱させ、負の値は主に後方に光散乱させ、正の値は主に前方に光散乱させます。このノードは、白煙や雲のシェードに使用することができます。 - Emission
このノードは、ボリュームからの発光となり、例えば火のシェードに使用することができます。
![]() Volume Absorption による吸収 |
![]() Volume Scatter による散乱 |
![]() Emission による発光 |
● Displacement
Displacement (ディスプレイスメント・変位) の一部の機能は、まだ実験的機能としてマークされています。
表面およびボリューム内部の形状は、ディスプレイスメントシェーダによって変形することができます。この方法により、テクスチャを使用してメッシュ表面をより詳細に表現することができます。
- タイプ
ディスプレイスメントタイプを 仮想変位のバンプマッピング (Bump) 以外に変更するには、Render パレットの Feature Set を Supported から Experimental に切り替え、Object Data - Displacement パレットで Method を Bump 以外に設定します。
ディスプレイスメントタイプオプションは次の通りです。
- True
実際にメッシュが実際に編集され、メッシュ頂点はレンダリング前に置き換えられます。メッシュが良く分割されている良い結果が得られます。この方法は、最もメモリを使用します。 - Bump
サーフェスシェーダが実行される際に、実際のサーフェス法線ではなく変更されたサーフェス法線が使用されます。これは実際の変位 ( True) への手軽な代替手段ですが、あくまでも近似に過ぎません。サーフェスのシルエットは正確ではなく、影も変位されたものではありません。 - Both
粗目にメッシュの変位を行い、最終的な詳細についてはバンプマッピングを行う、という 2 つの方法を組み合わせます。
- True
- 細分化 (Subdivision)
実装はまだ終わっていません。実験的機能としてマークされています。
変位タイプの True もしくは Both を使用し、Use Subdivition オプションを有効にすると、メッシュを細分化する Dicing Rate (ダイシング率 : サイの目状に切断する割合のことみたい) を小さくすることができます。これはレンダリングのみに効果があり、3D View の Renderd モード以外では効果が表示されません。ディスプレイスメントは Displace Modifier を使用することで、手動で行うこともできます。
左から、Use Subdivition : off, Use Subdivition : on - Dicing Rate : 1.0, 0.3, 0.05
Settings
ノードブロックでの設定はありませんが、Properties ウィンドウの Material パレットに設定があります。
パレット
Surface
Multiple Importance
このオプションを有効にすることで、このマテリアルに対してマルチプルインポータンスサンプリングを行います。無効にすることで、他の光源と比べて弱い発行をする大きなオブジェクトからの全体的なノイズを低減することができます。
Transparent Shadows
このオプションを有効にすることで、マテリアルに Transparent BSDF が含まれている場合、このマテリアルの透過影を使用します。無効にすることで、レンダリングを早くすることができますが、正確な影を得ることはできません。
Volume
Volume Sampling
ボリュームに使用するサンプリング方式を選択します。
- Distance : 距離サンプリングは、光源が離れていて高密度なボリュームの場合に最適です。
- Equiangular : 等角サンプリングは、光源がボリュームの内部または非常に近くにあり低密度なボリュームの場合に最適です。
- Multiple Importance : どちらの方法も最適ではない場合に、距離サンプリングと等角サンプリングを組み合わせます。
Volume Interpolation
煙や炎といったボリュームに使用する補間方法を選択します。
- Linear : 良い滑らかさと速度で行います。
- Cubic : 滑らかで高品質な補間を行いますが、時間が掛かります。
Momogeneous
ボリュームレンダリングを使用する際、レンダリングを早くするために、ボリュームがどの場所でも同じ密度を持つと仮定します。
Viewport Color
3D View が Solid 表示のときのシェーディング色を設定します。
- Color : マテリアルの拡散色を設定します
- Alpha : マテリアルのアルファ透明度 (0.0 - 1.0) を設定します。
Viewport Specular
3D View が Solid 表示のときのスペキュラ色とその強さを設定します。
- Color : マテリアルのスペキュラ色を設定します
- Hardness : スペキュラ反射の強度 (1 - 511) を設定します。
Viewport Alpha
透過フェースのブレンドモードを設定します。
仕様を正しく理解しできていませんが、3D View の Viewport Shading が Material の時に、Transparent BSDFによる透過を含むマテリアルにおいて、透過部分をどのように表現するかを設定している様子です。
- Opaque : Render color of textured face as color
- Add : Render face transparent and add color of face
- Alpha Clip : Use the image alpha values clipped with no blending (binary alpha)
- Alpha Blend : Render polygon transparent, depending on alpha channel of the texture
- Alpha Sort : Sort faces for correct alpha drawing (slow, use Alpha Clip instead when possible)
- Alpha Anti-Aliasing : Use textures alpha as anti-aliasing mask, requires multi-sample OpenGL display
Diffuse BSDF のみの場合と、Transparent BSDF と Mix した場合、Transparent BSDF のみの場合とのスクリーンショットです。一応、違いがあることが分かります。
Diffuse | Diffuse x Transparent | Transparent | |
Rendered | ![]() |
![]() |
![]() |
Opaque | ![]() |
![]() |
![]() |
Add | ![]() |
![]() |
![]() |
Alpha Clip | ![]() |
![]() |
![]() |
Alpha Blend | ![]() |
![]() |
![]() |
Alpha Sort | ![]() |
![]() |
![]() |
Alpha AA | ![]() |
![]() |
![]() |
Pass Index
IndexMA レンダーパス用のインデックスナンバーを設定します。
エネルギー保存則
マテリアルシステムは物理ベースレンダリングを考慮して構築しており、マテリアルがどのように見えるかと、レンダリングにどのレンダリングアルゴリズムを使用するかを、きっちりと分離しています。これはリアルな結果やバランスの取れたライティングを実現することを容易にしますが、いくつか留意すべきことがあります。
マテリアルが大域照明 (Global Illumination : グローバルイルミネーション) でうまく機能するためには、物理学的観点で言う「エネルギーが保存」されている必要があります。それは、反射光の総量は入射光よりも多くできないということを意味します。
この特性は厳密には適用されていませんが、Color (色) が 0.0 ~ 1.0 の範囲内にあり、複数の BSDF が Mix Shader でミックスされただけの状態では自動的に正確となります。
Color を 1.0 以上にしたり、Add Shader を使用したりすることで、エネルギー保存則を破ることは可能ですが、様々な照明下で予測可能な作用を保つマテリアルとするためには一つ注意が必要です。
それは、バウンスの度にシステムに光が追加される反射となり、発光体の様な BSDF になってしてしまう可能性があるということです。
- 最終更新:2020-03-05 18:21:34