オブジェクト表面の光の反射や、オブジェクト上の影などを表現するシェーダーを使いこなすために、詳しく見ていきましょう

Blender_光沢BSDF

Contents

  1. 光沢BSDFとは
  2. ディフューズBSDFの2つの反射モデル
  3. 各入力値を変更してみる

1. 光沢BSDFとは

光沢BSDFとは、オブジェクト表面上にマイクロファセットというごく小さな面を仮定し、金属表面や鏡面のような光の反射を表現します。

Blender_光沢なし_R0.5
光沢なし
Blender_光沢あり_R0.5
光沢あり
Blender_光沢のみ_R0.5
光沢のみ


2. 光沢BSDFのプロパティ

オブジェクトの材質や質感などの違いは、表面の小さな凹凸による光の散乱によって起こります。この凹凸を微小な平面で仮定するのですが、このような微小な平面全てについて光の反射を計算すると、膨大な計算となるので、これらの平面の法線がどの程度決まった方向を向いているかという法線の分布を数式で表します。これをマイクロファセット法線分布関数といいます。

これには様々な分布関数があり、Blenderには以下が準備されています。
  • シャープ
  • ベックマン
  • GGX
  • Ashikhmin-Shirrley
  • 複合散乱 GGX
それぞれの分布関数で大きな特徴があるというよりは、表面の粗さの値を変化させたときの反応が異なります。
Blender_光沢_R0.5_シャープ
シャープ
Blender_光沢_R0.5_ベックマン
ベックマン
Blender_光沢_R0.5_GGX
GGX
Blender_光沢_R0.5_Ashikhmin-Shirley
Ashikhmin-Shirley
Blender_光沢_R0.5_複合散乱GGX
複合散乱GGX

3. 各入力値を変更してみる

ディフューズBSDFノードには以下の値の設定が必要です。
 
    Color    

表面の色を設定します。デフォルトは白です。

    Roughness    

表面の粗さを指定します。値を小さくするとキラッとしたシャープな反射となり、値を大きくするとぼやけた反射になります。
Blender_ディフューズ+光沢_R0.2
粗さ0.2
Blender_ディフューズ+光沢_R0.5
粗さ0.5
Blender_ディフューズ+光沢_R0.8
粗さ0.8

    Normal    

法線を指定します。