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

Blender_ディフューズBSDF

Contents

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

1. BSDFとは

BSDF "Bidirectional Scatter Distribution Function" とは、双方向散乱分布関数といい、オブジェクト表面の光の反射や吸収を表現する計算モデルなります。

2. ディフューズBSDFの2つの反射モデル

ディフューズBSDFには、ランバート反射モデルとオーレン-ネイヤー反射モデルという2つの反射モデルが含まれています。2つは基本的には同じモデルで、オーレン-ネイヤー反射はランバート反射の一般形となります。

(1) ランバート反射

どの方向から見ても同じ明るさの光となるようなモデルで、ポリゴンごとに反射を計算します。違う角度から見ると明るさが変わるようなつやのある表面は表現しづらくなります。

(2)オーレン-ネイヤー反射

オブジェクトの表面に微小な面(マイクロファセット)を仮定し、粗い表面での光の拡散を計算します。これらの微小面それぞれについて計算するため、計算負荷が大きくなりますが、粗い面をうまく表現できます。

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

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

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

    Roughness    

表面の粗さを指定します。「0」とするとランバート反射、0以外とするとオーレン-ネイヤー反射となります。

Blender_Diffuse_BSDF_Rough0
粗さ 0
Blender_Diffuse_BSDF_Rough0.5
粗さ 0.5
Blender_Diffuse_BSDF_Rough1
粗さ 1

ちょっと粗くなったような感じですが、もう少し複雑な形状のほうがわかりやすいのかもしれません。


    Normal    

法線を指定します。法線による違いについてはまた調べてみたいと思います。