【Blender4.4】Principled BSDFの基本的な使い方

blender
記事内に広告が含まれています。

ガラス、金属、布など、さまざまな質感をBlenderで再現したいときに頼りになるのが、Principled BSDFシェーダーノードです。このノードひとつで、幅広いマテリアルを表現できるという、まさに万能シェーダーといえます。

Principled BSDFには、透明度、粗さ、サブサーフェススキャタリング、光沢、薄膜干渉など、豊富なパラメータが用意されており、細かい質感のニュアンスまで調整することが可能です。

ただし、その分設定項目も多く、すべてを使いこなすにはそれなりの知識と経験が求められます。初心者のうちは、「色だけ調整」「透過だけ使う」など、部分的に活用したり、Glass BSDFやDiffuse BSDFといった専用ノードで済ませるケースも多いでしょう。

しかし、「もっとリアルな質感を再現したい」「幅広いマテリアルを自分の手で作りたい」と感じるようになったら、Principled BSDFの理解は避けて通れません。

この記事では、Principled BSDFの各パラメータの意味や使い方をわかりやすく解説していきます。より複雑でリアルなマテリアルを表現するためのスキルアップに活用していただければ嬉しいです。

この記事は、BlenderのPrincipled BSDFを解説した初心者~中級者向けの記事です。

難易度 3.0

※使用している図はわかりやすさを重視したもので、正確ではない可能性があります。もっと詳しく知りたい方は最後に載せている参考サイトや記事をお読みください。

スポンサーリンク

Principled BSDF(プリンシプルBSDF)ノードについて

Principled BSDF(プリンシプルBSDF)ノードの特徴

Principled BSDFは、複数のシェーディング要素を一つにまとめた、使いやすい万能ノードです。これ1つで、さまざまな種類のマテリアル(材質)を再現することができます。

Blenderのマニュアルによると、このノードはOpenPBRサーフェスシェーディングモデルをベースにしており、他のソフトウェアにあるDisneyやStandard SurfaceなどのPBR(物理ベースレンダリング)シェーダーと互換性のあるパラメータを提供しています。

たとえば、Substance Painterなどでペイントやベイクされた画像テクスチャを、そのままこのノードの対応する入力に接続することで、すぐに使うことができます。

Substance Painter(サブスタンス・ペインター)は、3Dモデルにリアルな質感(テクスチャ)を描き込むことができるAdobeのソフトウェアです。プロのゲーム開発、映画、アニメ、プロダクトビジュアライゼーションなどで広く使われています。※有料ですが30日間の無料期間があるようです

BSDFとは?

ざっくり言うと、BSDFはBidirectional Scattering Distribution Function(双方向散乱分布関数)の略で、「反射+透過(屈折)」をまとめて扱うモデルです。

BRDF+BTDF=BSDFのイメージ図。散乱は反射や透過、拡散反射、表面化散乱も全部含めたもの、光が方向を変えられたら散乱というらしい。

BSDFは、反射を扱う BRDF(Bidirectional Reflectance Distribution Function:双方向反射分布関数)と、透過を扱う BTDF(Bidirectional Transmittance Distribution Function:双方向透過分布関数)を統一的に扱う包括的なモデルです。

反射から透過まで幅広い質感を表現できる多機能なシェーダーというわけですね。

スポンサーリンク

Layers(レイヤー)について

Principled BSDFでは、マテリアルの見た目を構成する複数の層(レイヤー)を使って質感を表現しています。

下のベースレイヤー(基本層)で大まかな質感を決め、上層CoatSheenで更に表層の仕上げ表現を追加することができます。

Principled BSDFのレイヤー構成の図。Blenderマニュアルのものを参考にしています。

ベースレイヤー(基本層)

ベースとなる層は、以下の4つの要素を滑らかにブレンドして構成することができます

  • 金属(Metal):光を反射するだけで、完全に不透明です。
  • 拡散(Diffuse):光を反射しつつ吸収する、こちらも不透明です。
  • サブサーフェス(Subsurface):表面のすぐ下で光が散乱する性質が加わります(皮膚など)。
  • 透過(Transmission)光の反射と屈折の両方を持つ、透明マテリアルの表現に使われます。

例えば右図のスザンヌは以下の設定のマテリアルをつけています

  • Metallic…0.5
  • Subsurface…0.5
  • Transmission…0.5

これは金属・拡散・サブサーフェス・透過を全部混ぜたものです。現実ではこのような物質は存在しませんが、クリエイターが見た目を自由に調整できるように、すべてのベースレイヤーを混ぜることが可能になっています。(Emissionも混ぜることができますが、光ってわかりにくくなるため除外しています。)

拡散とサブサーフェスの上には、スペキュラー(鏡面反射)層が重なっており、ハイライトなどの光沢を表現します。

たとえば右図のスザンヌは、サブサーフェスとDiffuseを半分ずつ使ったマテリアルです。そこに、光沢の弱い設定と強い設定を比較することで、表面のスペキュラー反射の効果がよくわかります。

サブサーフェスは表層の内部で光を拡散・散乱し、Diffuseは表面付近で色を拡散反射し、さらにその上にスペキュラー反射が重なることで、より複雑で多層的な質感が生まれています。

Specular, Diffuse, SSSの光の経路のイメージ図。

追加の上層レイヤー

  • コート(Coat):全てのベースレイヤーの上に重なる光沢層で、ニスやクリア塗装のような効果を再現できます。
  • シーン(Sheen):コートのさらに上にのる、ほこりや繊維のような微細な反射を再現する層です(布地などに有効)。

詳しくは以下の記事に書いています。

発光(Emission)

マテリアルが光を発する(発光する)ように設定することもできます。発光はコートやシーン層の下から光が出ているように表現されるため、たとえば光沢のあるディスプレイや、ほこりをかぶった発光体などのリアルな質感を作ることが可能です。

スポンサーリンク

入力パラメータについて

Base Color(ベースカラー)

マテリアルの基本となる色です。ディフューズ(拡散反射)、サブサーフェス(内部散乱)、金属、透過など、ほとんどの質感に影響します。

Roughness(ラフネス / 粗さ)

表面のザラつき具合を設定します。

  • 1.0 → 表面がとてもザラついていて、ぼんやりとした反射になります(光が広がる)。
  • 0.0 → 表面が鏡のようにツルツルで、鋭い反射になります。

Metallic(メタリック)

金属っぽさを設定します。

  • 0.0 → 非金属(プラスチック、布、ガラスなど)として扱われます。
  • 1.0 → 完全な金属になり、反射はベースカラーの色を帯びた鏡面反射になります(拡散や透過は消えます)。

IOR(屈折率)

光が素材に入るときに曲がる度合い(屈折)を示す値です。

  • 1.0 → 空気(屈折なし)
  • 1.5 → ガラス(Blenderのデフォルト)
  • 4.0 → ダイヤモンドやゲルマニウムなどの高屈折素材
    ※主に反射や透過の計算に使われます

Alpha(アルファ / 透明度)

表面の透明度を制御します。

  • 1.0 → 完全に不透明
  • 0.0 → 完全に透明
    通常は、画像テクスチャのアルファチャンネルなどと組み合わせて使います。

Normal(ノーマル)

表面の凹凸(バンプ)や方向を疑似的に変えるための入力です。ノーマルマップを使うことで、リアルな質感を作ることができます。

Diffuse(ディフューズ)[※Cycles専用]

表面の基本的な光の拡散反射を制御します。

  • Roughness(粗さ):
    値が低いと一般的なランバート反射になり、値が高いとオーレン・ネイヤーという、よりリアルな拡散反射が有効になります(Cycles限定)。

ランバート反射は「拡散反射表面を理想的に扱った反射モデル」になります。表面の見える方向に関係なく、光が当たった面がどれだけ光を受けているか(入射光と法線の角度)だけで反射量を決めます。

オーレン・ネイヤーは、表面のマイクロファセット(微細な凹凸)による拡散反射をモデル化したものであり、表面が粗い材質における広がりのある光の反射を再現できる。

「Diffuse(拡散反射)」という現象自体は、
光が表面に当たって物体の浅い内部に少し入り、ランダムに散乱して外に出る、という現実の物理現象です。でも、ランバートやオーレン・ネイヤーのような一般的な Diffuseシェーディングモデルでは、
「表面反射の一種」として、内部には実際には入れずに近似して計算しているらしいです。

Subsurface(サブサーフェス)

Specular(スペキュラー)

鏡面反射の強さを調整します。金属のような強い反射から、プラスチックのような控えめな反射まで調整可能です。
ディフューズやサブサーフェスの上に乗る反射層にも関係します。

Transmission(透過)

ガラスや液体のように、光が中を通過する素材を表現します。
この値を高くすると、表面での反射と内部への透過の両方が現れます

Coat(コート)

表面にクリアコートやラッカー、車のクリア塗装のような光沢のある層を加えるための機能です。
金属の上にクリア塗装をかけたような質感にしたいときに使います。

Weight

コーティングの強さ。コーティングの量や、薄さ、厚さとして調整できる。

Sheen(シーン)

布地や繊維のような微細な反射を表現します。
特に布やベルベットのような素材に有効で、エッジ部分にやわらかい光沢が出ます。また、ホコリや粉っぽさの表現にも応用できます

Weight

効果の強さを調整します。1以上の強さにもできます。

Roughness=0.5

Emission(放射 / 自発光)

マテリアルが光を発する(発光する)ようにするための設定です。
例:LED、ネオン、モニターなど。環境が暗くても、自分自身が明るく表示されます。

発光させるには他の設定が必要です。以下の記事に詳細を書いています↓

Thin Film(薄膜干渉)※Cycles専用

Thin Filmは、マテリアルの表面にあるごく薄い膜によって起こる干渉効果をシミュレートします。この効果によって、スペキュラー反射(鏡面反射)の色が変化し、見る角度や膜の厚さ、屈折率(IOR)によって虹色のような色味が現れます。

スポンサーリンク

Material Outputノード

Principled BSDFではないですが、そこから最終的につなぐMaterial Outputノードについても少し解説しておきます。

SurfaceとVolume

普通のシェーダーノードはマテリアルのSurface(表面)で作用しますが、Volume系ノードはVolume出力に接続され、内部のマテリアルとして作用します。

Emissionノードはどちらにもつなげます。

スポンサーリンク

Displacement

ディスプレイスメントとは、3Dモデリングやレンダリングにおいて、ジオメトリ(形状)を変形させる機能です。通常、ディスプレイスメントマップ(グレースケール画像)を使って、表面のディテールを加えるために使用されます。このマップの値に応じて、頂点の位置を上下に変動させることができます。

ボロノイテクスチャをディスプレイスメントマップとして使っています。
スポンサーリンク

Thickness(厚み)【EEVEE専用】

Thickness(厚み)は、オブジェクトの内部構造を簡易的に再現するための設定です。計算負荷をかけずに、内部の厚みを仮想的にシミュレーションする目的で使われます。

この設定は、以下のシェーダー効果で使われます:

  • Subsurface Scattering(サブサーフェススキャタリング)
  • Translucent BSDF(半透明)
  • Refraction BSDF(屈折)
  • 上記を含むノード

厚みの指定方法と動作

  • 何も接続されていない場合、オブジェクトの最も小さいサイズ(軸方向)をもとに自動で厚みが決まります。
  • 数値を接続すれば、その値がオブジェクト空間(スケールの影響を受ける)での厚みとして使われます。
  • 0を指定すると、厚みの近似を無効化し、オブジェクトは表面1枚だけのものとして扱われます。

右図:サブサーフェスで使ってみた例

Thicknessに値を接続することでサブサーフェスの散乱光の見え方が変わってきます。

下にThicknessの値を変えて比較した図を載せています。

注意点(EEVEE限定)

  • 屈折(Refraction)効果では、この厚みの範囲内にあるものは屈折されません。
  • 影(シャドウ)も、この厚みの中では落ちなくなります。

Blender 4.4 Manualより

ワンポイントアドバイス

  • 木や草などのような複雑で大きなメッシュでは、葉っぱや草の1枚ごとの厚みに合わせて設定するとリアルになります。
  • より正確な結果を得るために、厚みの値をテクスチャやカスタム属性としてベイクすることも可能です。

Blender 4.4 Manualより

スポンサーリンク

参考にさせていただいた記事・サイト