広告
広告

Principled BSDF の使い方

カテゴリ:blender

目次

Principled BSDF の特徴

使い方

THE PBR GUIDE

リンク

設定例

金属

ヘアライン加工

Principled BSDF の特徴

フレネルの自動調整

実際のマテリアルでは表面が粗いときフレネルは小さくなる。従来のノードの場合、粗さを上げたときに手動でフレネルノードを調整しなければならなかった。Principled BSDF の場合は粗さを変更すると、ノードの内部で自動的に最適なフレネルを設定する。

PBR のデファクトスタンダード(2018年現在)

Substance Painter、Render Man、Unreal、Houdini でも使われており、それらのツールと連携するならば Principled BSDF を使う方がいい。

PBR に基づいてマテリアルを作成すると、アーティストのスキルに依存せずにリアリティのあるマテリアルを作成できる。Principled BSDF の最大の利点はツール間でマテリアルのルックの違いを最小化するところにある。

使い方

よく使うパラメータ

ベースカラー

マテリアルの色で、テクスチャを使うときはディフューズまたはアルベドテクスチャを接続する。

メタリック

金属であれば1、そうでなければ0を指定する。0~1の間も指定できるが、現実世界の物質で半メタリックのマテリアルはめったに存在しない。

テクスチャを渡すときは色空間を非カラーデータにする必要がある。

粗さ

光沢の有無をきめる。テクスチャを渡すときは色空間を非カラーデータにする必要がある。

ノーマル(法線)

テクスチャで法線を渡すときは色空間を非カラーデータにする必要がある。

normal

そのほかのパラメータ

スペキュラー

反射の明るさを調整できる。スペキュラーを変更するときは IOR も変更する必要があり、0.5 から変更しない方がいい。Substance Painter では4%の反射率が Principled BSDF のスペキュラーの 0.5 に対応する。この反射率はプラスチックの反射率で、たいていのマテリアルでこの値が推奨されている。

スペキュラーと IOR は関連があり、スペキュラーの 0-1 は IOR の 1.0-1.8 に対応する。スペキュラーを変更するときは IOR もそれに応じて変更する。以下のパターンがよく使われる。

材質 IOR スペキュラー
1.33 0.25
ガラス 1.5 0.5
ダイアモンド 1.417 2.15

ハイライトが不要な時は粗さを上げるようにする。

スペキュラーチント

ハイライトに Base Color の色をつける。これも変更しない方がいい。一般的な絶縁体(非金属)の反射には色がないからだ。

シーン(Sheen)

シーンは布を表現するときに便利だ。シーンチントは布のハイライトに色を付ける。

クリアコート

クリアコートは自動車のワックスなどを表現するのに使える。それを表現するにはメタリックを1にし、いくらかの粗さを設定してクリアコートを1にする。

透過

メタリックを0、透過を1にすればガラスを表現できる。ただしガラスならばガラス BSDF を使った方がわかりやすい(結果もほとんど同じ)。

Node Wrangler

Principled BSDF のテクスチャを自動設定する機能が Node Wrangler に追加されている。やり方は

  1. Principled BSDF ノードを選択した状態で Ctrl + Shift + T を押す
  2. ファイルを開くウインドウが表示されるので、ベースカラーや法線などのテクスチャを選択する

Node Wrangler はテクスチャ名でどのテクスチャをつなぐかを判断しており、ファイル名の一部に以下の名前があると適切に設定される。

src
命名規則

THE PBR GUIDE

THE PBR GUIDE - 2018 EDITION(英語)

『THE COMPREHENSIVE PBR GUIDE Volume 1: The Theory of PBR by Allegorithmic』私家訳版

『THE COMPREHENSIVE PBR GUIDE – Vol. 2: Practical guidelines for creating PBR textures 』 私家訳版

THE PBR GUIDE には F0(面に光が垂直に当たったときのフレネル反射率) の話が頻繁に出てくる。しかし Principled BSDF は粗さを設定すると適切な反射率を設定するのでこれを考慮する必要がない。ただし Substance Painter からマテリアルをインポートしたときに正しく反射率が設定されていないことがあるので、Substance Painter を使うなら F0 について理解しておく必要がある。Principled BSDF ではスペキュラーで F0 を設定できるが、この値はデフォルト値(0.5)から変更しない方がいい。

以下の絶縁体(非金属)の値は F0 値であって色ではない。金属は線形空間の F0 値をベースカラーとして扱える。

color table
絶縁体(非金属)と金属の F0 値テーブル

線形空間とガンマ

ガンマが導入されたのは CRT ディスプレイが原因だ。CRT ディスプレイは中間の明るさが暗めに表示される特性がある。なのであらかじめ画像データの中間の明るさを明るくしておけば CRT ディスプレイで正しく表示できる。このため sRGB プロファイルで作成した画像は見た目よりも明るいデータが格納されている。

ガンマを補正せずに画像を加工すると正しい結果にならない。そこで画像を線形空間へ戻す工程が必要になる。Blender ではこのガンマ補正は自動的に行われる。しかしマスク画像や法線、高さマップなどの画像ではガンマ補正は不要だ。ガンマ補正を無効にするには非カラーデータを指定する。

normal

sRGB の値を線形値に直すには (sRGB値/255)^2.2 を計算すればいい。これは Google で計算できる。たとえば sRGB で 128を線形空間に直すと、その計算式は 0.5^2.2 であり、結果は 0.218 となる。この記事では sRGB 値の後ろのパーレン()に線形値を記載する。

PBR の色について

絶縁体(非金属)の色は sRGB で 30~50(0.009~0.028) を下回る値や sRGB で 240(0.875) を上回る値を取るべきではない(ブラックホールや太陽を表現するのでない限り)。それでも暗さが足りない場合はアンビエントオクルージョンで調整するべきである。

金属の色は sRGB で 180~255(0.465~1.000) の範囲の値を取る。様々な材質の sRGB 値は Sébastien Lagarde のDONTNOD Physically based rendering chart for Unreal Engine 4が有用だ。特にメタル/ラフネスチャートはチェックしておくといいだろう。

マスクを作成する場合

金属部分のマスク値(メタリックにつなぐテクスチャの値)は sRGB で 235~255(0.836~1.000) の値にする。非金属の部分のマスク値は sRGB で 234(0.828) 以下にする。ただし半メタリックのマテリアルは現実にはほとんど存在しないので、非金属の部分のマスク値は非常に小さい値にする。また半メタリックのマテリアルは IOR を調整しないと反射が強すぎる傾向にある。

metalic

設定例

金属

デフォルト設定のメタリックを1にすると金属になる。ベースカラーと粗さとを調整してマテリアルを設定する。以下の表の線形空間の値をベースカラーに設定する。これらの値は現実のマテリアルから計測された値で、これらの値から大きく外れた値を設定しない方がいい。

pbr metal base color table
金属のベースカラーテーブル

ヘアライン加工

メタリックと異方性とを1にする。異方性の詳しい解説はIntroduction to Anisotrophic Shading in Blender(英語)を参照。

オブジェクトの Z 座標の方向にしかヘアラインが出ないことに注意する。様々な方向からヘアラインを出したい時は、独立したオブジェクトに分割する。もしくは接線を設定する

ヘアライン独特の加工は以下のテクスチャを法線として使うことで実現している。

ヘアラインの法線テクスチャ
node
法線を設定するノード

ヘアラインの数を増やしたい時は光源の数を増やす。

How to Use Blender's new ULTIMATE Shader: Principled

Principled Node

Principled BSDF – Cycles gets a native PBR shader

Physically-Based Shading at Disney(pdf)

THE PBR GUIDE - 2018 EDITION(英語)

『THE COMPREHENSIVE PBR GUIDE Volume 1: The Theory of PBR by Allegorithmic』私家訳版

『THE COMPREHENSIVE PBR GUIDE – Vol. 2: Practical guidelines for creating PBR textures 』 私家訳版

関連リンク

Blender 記事の目次


広告
広告