レンダリング処理の中の陰影計算(シェーディング)を担当するのがシェーダと呼ばれる機能です。 それぞれのシェーダには特徴があり、表現したい物体や演出方法によって最適なシェーダを選択する必要があります。
Blenderのシェーダはサーフェイスシェーダ / ボリュームシェーダ / 特殊シェーダに分類することができ、合わせて22種類のシェーダが用意されています。
| サーフェイスシェーダ | 特徴 | |||||
|---|---|---|---|---|---|---|
| Principled BSDF | 様々な素材を表現する | |||||
| Diffuse BSDF | 拡散反射を表現する | |||||
| Specular BSDF | 鏡面反射を表現する | |||||
| Glossy BSDF | 光沢を表現する | |||||
| Anisotropic BSDF | 異方性反射を表現する | |||||
| Velvet BSDF (Sheen BSDF) | 織物や布を表現する | |||||
| Glass BSDF | ガラスを表現する | |||||
| Refraction BSDF | 屈折を表現する | |||||
| Translucent BSDF | 半透明を表現する | |||||
| Transparent BSDF | 透過を表現する | |||||
| Subsurface Scattering | 表面下散乱を表現する | |||||
| Hair BSDF | 髪を表現する | |||||
| Principled Hair BSDF | 髪や毛皮を表現する | |||||
| Toon BSDF | セルアニメーション風に表現する | |||||
| ボリュームシェーダ | 特徴 | |||||
| Principled Volume | 光の吸収 / 散乱 / 放出を表現する | |||||
| Volume Absorption | 光の吸収を表現する | |||||
| Volume Scatter | 光の散乱を表現する | |||||
| Emission | 光の放出を表現する | |||||
| 特殊シェーダ | 特徴 | |||||
| Background | 環境光を表現する | |||||
| Holdout | 最終的なレンダリング結果に穴を開ける | |||||
| Add Shader | 他の2つのシェーダの効果を加算する | |||||
| Mix Shader | 他の2つのシェーダの効果を混合する | |||||
シェーダは、マテリアルに対して設定します。 メッシュにマテリアルを割り当て、そのマテリアルにシェーダを設定します。
シェーダは、大まかに分類するとサーフェイスシェーダとボリュームシェーダに分かれます。
サーフェイスシェーダとは、物体の面の部分の陰影計算を行うシェーダです。 本ウェブサイトの解説でこれまで利用してきたのは、全て『サーフェイスシェーダ』です。
Blenderに限らず3DCGの世界では、物体の多くは面の集まりとして表現されます。 それらの物体の面が、サーフェイスシェーダで陰影計算されます。 もちろん、サーフェイスシェーダで陰影計算されることに問題はありません。
問題は、面で表現できないものを扱う場合です。 例えば、雲や煙・炎・霧のようなものが面で扱えない物体の代表です。
Blenderでは、雲や煙・炎・霧のような面で表現できない物体は『ボリュームマテリアル』で表現します。 本ウェブサイトの解説で今まで使用してきたのは、面の質感を表現するための『サーフェイスマテリアル』ですが、『面』ではなく『内部空間の密度』で物体を表現するための『ボリュームマテリアル』と呼ばれるマテリアルが実は存在しています。
その『ボリュームマテリアル』の陰影計算を行うのが、ボリュームシェーダです。 つまり、ボリュームシェーダはメッシュの面に対してではなくメッシュの内部空間の密度に対して作用します。
Blenderでは、サーフェイスシェーダとボリュームシェーダを併用することができます。 1つのメッシュオブジェクトに対して、表面はサーフェイスシェーダで陰影計算させ、内部の空間はボリュームシェーダで陰影計算させるということができます。
Blenderでは、1つのマテリアルに複数のシェーダを適用することができます。 これは、シェーダがノードで実装されているためです。
ある1つのマテリアルは、シェーダノードネットワークを1つだけ持つことができます。 そのシェーダノードネットワークに複数のシェーダノードをつなげることで、1つのマテリアルが複数のシェーダを持てるようになるのです。
なお、複数のシェーダの計算結果を混ぜ合わせるのもシェーダの機能です。 22種類のシェーダのうち、2つがそのような役割を持つシェーダです。
Blender 2.7系までは、3DCG制作途中でレンダリングエンジンを切り替えるのは簡単ではありませんでした。 標準レンダリングエンジンのBlender RenderとCyclesでは利用できるシェーダが異なっていたためです。 Blender Render用のシェーダとCycles用のシェーダが完全に分かれていたのです。
しかし、Blender 2.8系からはEeveeとCyclesでマテリアル設定がほぼ共有できるようになりました。 そのため、レンダリングエンジンの切り替えは2.7系に比べれば気軽に行えます。
ただし、マテリアル設定は共有されますが、一部の機能はどちらか一方のみでのサポートとなります。 Eeveeでしか動作しないシェーダ、逆にCyclesでしか動作しないシェーダがあります。 また、シェーダそのものはサポートされるが、特定の設定値が無視されるということもあります。
レンダリングエンジンの切り替え方法についても説明しておきます。 レンダリングエンジンは初期状態でEeveeが選択されていますが、いつでも自由に切り替えることができます。

上図のようにPropertiesのRender PropertiesタブにあるRender Engineから切り替えることができます。
続いて、シェーダの切り替え方法についても説明しておきます。 まず、Propertiesのタブをマテリアルのプロパティを編集するためのタブに切り替えます。

上図のようにPropertiesのMaterial Propertiesタブをクリックします。

上図のようにMaterial Propertiesタブに切り替わりますので、マテリアルスロットの一覧から対象のマテリアルを選択します。

上図のようにSurfaceパネルとVolumeパネルにあるシェーダの選択リストでシェーダを切り替えることができます。
Blenderには22種類のシェーダが用意されています。 ここからは、各シェーダの特徴および描画例を紹介します。
| シェーダの分類 | 個数 | 
|---|---|
| サーフェイスシェーダ | 14種類 | 
| ボリュームシェーダ | 4種類 | 
| 特殊シェーダ | 4種類 | 
では、シェーダの特徴と描画例の紹介に入ります。 まずは、サーフェイスシェーダのPrincipled BSDFシェーダからです。 Principled BSDFシェーダを一言で表すと、設定次第で幅広い素材を表現できる万能シェーダです。

このシェーダは拡散反射(Base Color) / 表面化散乱(Subsurface) / メタリック(Metallic) / 鏡面反射(Specular) / 粗さ(Roughness) / 異方性反射(Anisotropic) / 屈折率(IOR : Index Of Refraction)などの多くの設定項目を持っており、金属 / 陶器 / ガラス / 泥 / 粘土 / 皮膚 / 布など幅広い素材を表現することができます。
EeveeおよびCyclesでのサポート状況は以下の通りです。
| レンダリング エンジン | サポート状況 | 
|---|---|
| Eevee | △ ・粗さは未サポート ・異方性反射は未サポート ・光の反射は未サポート ・以下のDistributionは未サポート Beckmann Ashikhmin-Shirley Multiscatter GGX ・以下のFalloffは未サポート Random Walk | 
| Cycles | ○ | 
このシェーダの設定項目の詳細は、公式マニュアルを参照ください。
Diffuse BSDFシェーダは拡散反射を表現するサーフェイスシェーダです。 ツヤ消し塗装のプラスチックや金属・石・粘土・コンクリートのような光沢のない物体の表現に向きます。

このシェーダはランバート反射およびオーレン・ネイヤ反射の両方を含みます。 設定項目の粗さ(Roughness)がゼロの場合はランバート反射に、数値を上げるとオーレン・ネイヤ反射になります。
EeveeおよびCyclesでのサポート状況は以下の通りです。
| レンダリング エンジン | サポート状況 | 
|---|---|
| Eevee | △ ・粗さは未サポート | 
| Cycles | ○ | 
このシェーダの設定項目の詳細は、公式マニュアルを参照ください。
Specular BSDFシェーダは鏡面反射を表現するサーフェイスシェーダです。 Principled BSDFシェーダからいくつかの機能を省略し、鏡面反射を加えたようなシェーダです。

このシェーダは将来サポートされなくなる可能性があります。 使用しないほうがいいかもしれません。
EeveeおよびCyclesでのサポート状況は以下の通りです。
| レンダリング エンジン | サポート状況 | 
|---|---|
| Eevee | ○ | 
| Cycles | × ・未サポート | 
このシェーダの設定項目の詳細は、公式マニュアルを参照ください。
Glossy BSDFシェーダは光沢を表現するためのサーフェイスシェーダです。 金属や鏡を表現するのに向いています。

設定項目の粗さ(Roughness)がゼロの場合は、磨き込まれた金属や鏡のように周囲の景色が映り込みます。 粗さ(Roughness)が大きくなるほど、映り込みは少なくなりハイライトが柔らかくなります。
EeveeおよびCyclesでのサポート状況は以下の通りです。
| レンダリング エンジン | サポート状況 | 
|---|---|
| Eevee | △ ・以下のDistributionは未サポート Beckmann Ashikhmin-Shirley Multiscatter GGX | 
| Cycles | ○ | 
このシェーダの設定項目の詳細は、公式マニュアルを参照ください。
Anisotropic BSDFシェーダは、Glossy BSDFシェーダと同じく光沢を表現するためのサーフェイスシェーダです。 Glossy BSDFシェーダとは異なり、異方性反射を表現することができます。

身近なところでは、ステンレス鍋のように表面にヘアライン加工が施された金属が異方性反射を起こします。 また、人間の髪の毛の天使の輪も異方性反射だとか。
EeveeおよびCyclesでのサポート状況は以下の通りです。
| レンダリング エンジン | サポート状況 | 
|---|---|
| Eevee | × ・未サポート | 
| Cycles | ○ | 
このシェーダの設定項目の詳細は、公式マニュアルを参照ください。
Velvet BSDFシェーダは織物や布を表現するのに適したサーフェイスシェーダです。 視線と面の角度や光の方向によって拡散反射の強さを減衰させるようです。

マニュアルには、『布などの素材に適したベルベット反射』としか書かれていません。
EeveeおよびCyclesでのサポート状況は以下の通りです。
| レンダリング エンジン | サポート状況 | 
|---|---|
| Eevee | × ・未サポート | 
| Cycles | ○ | 
このシェーダの設定項目の詳細は、公式マニュアルを参照ください。
Glass BSDFシェーダはガラスを表現するためのサーフェイスシェーダです。 光の反射と屈折を表現します。

設定項目の屈折率(IOR : Index Of Refraction)が1.0の場合は、光は屈折せずに直進して透過します。
粗さ(Roughness)がゼロの場合は鋭い屈折(光が拡散反射しない屈折)に、粗さ(Roughness)が大きくなるほど柔らかい屈折(光が拡散反射する屈折)になります。
EeveeおよびCyclesでのサポート状況は以下の通りです。
| レンダリング エンジン | サポート状況 | 
|---|---|
| Eevee | △ ・光の反射は未サポート ・以下のDistributionは未サポート Beckmann Multiscatter GGX | 
| Cycles | ○ | 
このシェーダの設定項目の詳細は、公式マニュアルを参照ください。
Refraction BSDFシェーダは、Glass BSDFシェーダに似た効果を持つサーフェイスシェーダです。 Glass BSDFシェーダとの違いは反射しないことです。 このシェーダは光を透過または屈折させますが、反射はしません。

設定項目の屈折率(IOR : Index Of Refraction)が1.0の場合は、光は屈折せずに直進して透過します。 その場合は、後述するTransparent BSDFシェーダと同じ結果になります。
設定項目の粗さ(Roughness)がゼロの場合は鋭い屈折(光が拡散反射しない屈折)に、粗さ(Roughness)が大きくなるほど柔らかい屈折(光が拡散反射する屈折)になります。
EeveeおよびCyclesでのサポート状況は以下の通りです。
| レンダリング エンジン | サポート状況 | 
|---|---|
| Eevee | △ ・光の反射は未サポート ・以下のDistributionは未サポート Beckmann Multiscatter GGX | 
| Cycles | ○ | 
このシェーダの設定項目の詳細は、公式マニュアルを参照ください。
Translucent BSDFシェーダは半透明を表現するためのサーフェイスシェーダです。 光の反射と透過を表現します。

透過した光は様々な方向へ拡散反射します。 Glass BSDFシェーダで粗さ(Roughness)を上げた場合と似たような結果となります。
EeveeおよびCyclesでのサポート状況は以下の通りです。
| レンダリング エンジン | サポート状況 | 
|---|---|
| Eevee | △ ・オブジェクト内に拡散反射しない | 
| Cycles | ○ | 
このシェーダの設定項目の詳細は、公式マニュアルを参照ください。
Transparent BSDFシェーダは光を反射せずまっすぐに透過させるサーフェイスシェーダです。

設定項目の色(Color)が白色だと完全に透明になり、それ以外の場合にはその色で着色されます。
EeveeおよびCyclesでのサポート状況は以下の通りです。
| レンダリング エンジン | サポート状況 | 
|---|---|
| Eevee | △ ・Blend ModeがOpaqueは未サポート | 
| Cycles | ○ | 
このシェーダの設定項目の詳細は、公式マニュアルを参照ください。
Subsurface Scatteringシェーダは表面下散乱を表現するためのサーフェイスシェーダです。 皮膚やロウ、大理石、牛乳などを表現するのに向いています。

表面下散乱とは、光が表面を透過し内部の浅い部分で反射を繰り返して外に出て行く現象のことです。
EeveeおよびCyclesでのサポート状況は以下の通りです。
| レンダリング エンジン | サポート状況 | 
|---|---|
| Eevee | △ ・FalloffのRandom Walkは未サポート | 
| Cycles | ○ | 
このシェーダの設定項目の詳細は、公式マニュアルを参照ください。
Hair BSDFシェーダは髪を表現するためのサーフェイスシェーダです。 Diffuse BSDFシェーダとTranslucent BSDFシェーダとAnisotropic BSDFシェーダを合わせたような効果があります。

これはあくまでもシェーダであり、このシェーダを適用するだけで髪に見えるわけではありません。 髪を構成する面に髪のテクスチャを貼ったり、パーティクルで髪を作り出す必要があります。
EeveeおよびCyclesでのサポート状況は以下の通りです。
| レンダリング エンジン | サポート状況 | 
|---|---|
| Eevee | × ・未サポート | 
| Cycles | ○ | 
このシェーダの設定項目の詳細は、公式マニュアルを参照ください。
Principled Hair BSDFシェーダは髪や毛皮を表現するためのサーフェイスシェーダです。

このシェーダも、適用するだけで髪に見えるわけではありません。 髪を構成する面に髪のテクスチャを貼ったり、パーティクルで髪を作り出す必要があります。
EeveeおよびCyclesでのサポート状況は以下の通りです。
| レンダリング エンジン | サポート状況 | 
|---|---|
| Eevee | × ・未サポート | 
| Cycles | ○ | 
このシェーダの設定項目の詳細は、公式マニュアルを参照ください。
Toon BSDFシェーダはトゥーンレンダリング用のサーフェイスシェーダです。 Diffuse BSDFシェーダとGlossy BSDFシェーダを合わせ、ライティングをセルアニメーション風にしたようなシェーダです。

ただし、このシェーダを使っても『セルシェーディング』や『セルルック』と言えるほどのセルアニメーション風のレンダリングにはなりません。 原因はCyclesが写実的すぎるためです。 一方、Eeveeはこのシェーダはサポートしていません。
EeveeおよびCyclesでのサポート状況は以下の通りです。
| レンダリング エンジン | サポート状況 | 
|---|---|
| Eevee | × ・未サポート | 
| Cycles | ○ | 
このシェーダの設定項目の詳細は、公式マニュアルを参照ください。
ここからは、ボリュームシェーダの説明に入ります。 まずは、Principled Volumeシェーダからです。
Principled Volumeシェーダは、光を吸収 / 散乱 / 放出する物体を表現するためのボリュームシェーダです。 最初に紹介したPrincipled BSDFシェーダが万能サーフェイスシェーダなら、こちらは万能ボリュームシェーダです。

このシェーダは密度(Density) / 異方性(Anisotropy) / 吸収色(Absorption Color) / 発光強度(Emission Strength)などの多くの設定項目を持っており、このシェーダ単体で煙 / 炎 / 水 / 霧を表現することができます。
EeveeおよびCyclesでのサポート状況は以下の通りです。
| レンダリング エンジン | サポート状況 | 
|---|---|
| Eevee | △ ・バウンディングボックスの形状で描画される ・他にも制限あり(詳細はマニュアルを参照) | 
| Cycles | ○ | 
このシェーダの設定項目の詳細は、公式マニュアルを参照ください。
Volume Absorptionシェーダは光を吸収する物体を表現するためのボリュームシェーダです。 黒煙や水などを表現するために使用します。

内部に粒子があり、それが光を吸収するかのように作用します。
EeveeおよびCyclesでのサポート状況は以下の通りです。
| レンダリング エンジン | サポート状況 | 
|---|---|
| Eevee | △ ・バウンディングボックスの形状で描画される ・他にも制限あり(詳細はマニュアルを参照) | 
| Cycles | ○ | 
このシェーダの設定項目の詳細は、公式マニュアルを参照ください。
Volume Scatterシェーダは光を散乱させる物体を表現するためのボリュームシェーダです。 霧などを表現するために使用します。

内部に粒子があり、それが光を散乱させるかのように作用します。
EeveeおよびCyclesでのサポート状況は以下の通りです。
| レンダリング エンジン | サポート状況 | 
|---|---|
| Eevee | △ ・バウンディングボックスの形状で描画される ・他にも制限あり(詳細はマニュアルを参照) | 
| Cycles | ○ | 
このシェーダの設定項目の詳細は、公式マニュアルを参照ください。
Emissionシェーダは光を放出する物体を表現するためのボリュームシェーダです。 照明などを表現するために使用します。

内部に粒子があり、それが光を放出しているかのように作用します。
EeveeおよびCyclesでのサポート状況は以下の通りです。
| レンダリング エンジン | サポート状況 | 
|---|---|
| Eevee | △ ・バウンディングボックスの形状で描画される ・間接照明として扱われる | 
| Cycles | ○ | 
このシェーダの設定項目の詳細は、公式マニュアルを参照ください。
ここからは、特殊シェーダの説明に入ります。 まずは、Backgroundシェーダからです。
Backgroundシェーダは、ワールド(仮想世界)の背景色を表現する特殊シェーダです。 このシェーダで指定した背景色は、ワールド内の全ての面を等しく照らします。 つまり、環境光を表現するためのシェーダです。

背景の明るい黄色がBackgroundシェーダで指定した背景色です。 猿のメッシュや球体のメッシュの色にも影響を与えているのがわかります。
EeveeおよびCyclesでのサポート状況は以下の通りです。
| レンダリング エンジン | サポート状況 | 
|---|---|
| Eevee | ○ | 
| Cycles | ○ | 
このシェーダの設定項目の詳細は、公式マニュアルを参照ください。
Holdoutシェーダはレンダリング結果を透明にする特殊シェーダです。 陰影計算の対象の面を透明や半透明で表現するのではなく、最終的なレンダリング結果に穴を開けます。 実写との合成などで合成部分を透明にする目的などで使用します。

上図では透明部分を市松模様に置き換えています。 Holdoutシェーダが適用されている面は、光源との位置関係や視点との位置関係は関係なく、どんな方向から光があたっていようが、どんな方向から見ていようが必ず透明になります。
EeveeおよびCyclesでのサポート状況は以下の通りです。
| レンダリング エンジン | サポート状況 | 
|---|---|
| Eevee | △ ・以下のBlend Modeは未サポート? Alpha Blend Alpha Hashed Alpha Clip | 
| Cycles | ○ | 
このシェーダの設定項目の詳細は、公式マニュアルを参照ください。
Add Shaderシェーダは他の2つのシェーダの効果を加算する特殊シェーダです。 2つのシェーダからの出力を受け取り、加算して出力します。

加算であるため明るくなり過ぎるという問題もあります。 後述するMix Shaderシェーダの方が自然な結果になります。
EeveeおよびCyclesでのサポート状況は以下の通りです。
| レンダリング エンジン | サポート状況 | 
|---|---|
| Eevee | ○ | 
| Cycles | ○ | 
このシェーダの設定項目の詳細は、公式マニュアルを参照ください。
Mix Shaderシェーダは他の2つのシェーダの効果を混合する特殊シェーダです。 2つのシェーダからの出力を受け取り、混合して出力します。

比率に応じて混合するため明るくなり過ぎる心配がありません。 Add Shaderシェーダより、こちらのシェーダの方が物理的にも正しいです。
EeveeおよびCyclesでのサポート状況は以下の通りです。
| レンダリング エンジン | サポート状況 | 
|---|---|
| Eevee | ○ | 
| Cycles | ○ | 
このシェーダの設定項目の詳細は、公式マニュアルを参照ください。
シェーダには、それぞれ特徴があります。 表現したい物体や演出に合ったものを選択しましょう。
シェーダは大まかに分類すると、サーフェイスシェーダとボリュームシェーダに分かれます。 サーフェイスシェーダは面で物体を表現し、ボリュームシェーダは密度で表現します。
なお、サーフェイスシェーダとボリュームシェーダは併用することができます。
Blenderには、14種類のサーフェイスシェーダ、4種類のボリュームシェーダ、4種類の特殊シェーダが搭載されており、特徴は以下の通りです。
| サーフェイスシェーダ | 特徴 | |||||
|---|---|---|---|---|---|---|
| Principled BSDF | 様々な素材を表現する | |||||
| Diffuse BSDF | 拡散反射を表現する | |||||
| Specular BSDF | 鏡面反射を表現する | |||||
| Glossy BSDF | 光沢を表現する | |||||
| Anisotropic BSDF | 異方性反射を表現する | |||||
| Velvet BSDF | 織物や布を表現する | |||||
| Glass BSDF | ガラスを表現する | |||||
| Refraction BSDF | 屈折を表現する | |||||
| Translucent BSDF | 半透明を表現する | |||||
| Transparent BSDF | 透過を表現する | |||||
| Subsurface Scattering | 表面下散乱を表現する | |||||
| Hair BSDF | 髪を表現する | |||||
| Principled Hair BSDF | 髪や毛皮を表現する | |||||
| Toon BSDF | セルアニメーション風に表現する | |||||
| ボリュームシェーダ | 特徴 | |||||
| Principled Volume | 光の吸収 / 散乱 / 放出を表現する | |||||
| Volume Absorption | 光の吸収を表現する | |||||
| Volume Scatter | 光の散乱を表現する | |||||
| Emission | 光の放出を表現する | |||||
| 特殊シェーダ | 特徴 | |||||
| Background | 環境光を表現する | |||||
| Holdout | 最終的なレンダリング結果に穴を開ける | |||||
| Add Shader | 他の2つのシェーダの効果を加算する | |||||
| Mix Shader | 他の2つのシェーダの効果を混合する | |||||