
文系の blender 4.0 スペキュラってなに?
レンダーやマテリアル設定項目に頻出する、スペキュラーとディフューズについて整理してみました。中学の教科書にあるような初歩的なことのようですが、文系には初耳なことが多いかもしれません。
あくまで文系の理解範囲になります。間違いがある場合はご指摘ください。
環境 Blender 4.0.2 , Mac Mini M1 OS 14.2
スペキュラーとディフューズ
物体に届いた光の一部は、表面で鏡面反射する。これをスペキュラーと呼ぶ。また、一部は物体の内部で拡散して特定の色の波長の光を放射する。この拡散反射をディフューズと呼ぶ。
ごく簡略化すれば、ひとの眼やカメラに、物体の「光沢」を伝える反射が スペキュラー であり、物体の「色」を伝える反射が ディフューズ ということになる。

非金属の反射
HDRI背景光で全方向から照らされた「非金属」の球を、それぞれ、スペキュラーのみ、ディフューズのみ、どちらも、の3種でレンダリングした。

左のスペキュラーのみでは、フレネルの法則に従っておもに球の周辺部に鏡面反射が起こっており、中央のディフューズのみでは、球全体にほぼ平均して、ベースカラーの黄色が拡散反射している。
そのふたつの反射を組み合わせることにより、右の通常の球がレンダリングされている。
細かくなるが、スペキュラーのみ、の鏡面反射には、ベースカラーの黄色が反映されていない。「非金属」の場合、鏡面反射には物体の色は反映されない。
金属の反射
同様に、「金属」(設定はそのままで、メタリックを 1.0 とした)の球をレンダリングした。

スペキュラーのみでは、非金属とは異なり、周辺部に加え全体に強い鏡面反射を示し、背景が映り込んでいる。ディフューズのみではなにもレンダリングされない。金属には、ディフューズがないからだ。
そのため、右の通常のレンダリングは、スペキュラーのみと同一になる。金属の反射はスペキュラーのみなのである。
また、非金属と異なり、スペキュラーは、ベースカラーを反映して全体に黄色を帯びている。「金属」の場合、鏡面反射には物体の色が反映される。
金属の色はどこから?
物質の色を伝えているはずのディフューズがないのに、なぜ金属に色がつくのか、という疑問が起こるが、どうも金属特有のプラズマ振動というものが金属の色を生んでいるとのこと。
それ以上は、文系の処理能力を逸脱する。金属には、ディフューズではない、特有なしくみで色がつくのだ、という理解でCG的には問題ないのではないだろうか。
まとめ
光の反射は、スペキュラー(Specular / 鏡面反射)と、ディフューズ(Diffuse / 拡散反射)に大きく分かれる。
スペキュラーとディフューズの働きは、金属と非金属では異なる。
金属の光の反射は、スペキュラーのみ。スペキュラーには物質の色が反映される。
非金属の光の反射は、スペキュラーとディフューズ両方からなり、スペキュラーには物質の色は反映されない。
結論
理系の方には(あるいはわたし以外のほとんどの方には)、そんなことはコドモでも知ってます、といわれそうだが、少なくともわたしはこれまで、経験に頼ったごく漠然とした理解のままレンダリングを行ってきた。
やや調べたおかげで、ああ、あれはああいうことだったのね、といままで敬遠してきた専門用語的な設定項目にも、すこし光が差してきたような気がします。