2024年7月10日水曜日

[PBR]pbrマテリアルのSpecularRoughness初級編

Arnoldに限らず近年(2024年現在)のpbrマテリアルではSpecular(鏡面反射)のコントロールパラメーターとしてRoughnessが実装されてることが多いです。

今回はそのRoughnessの使い方について説明します。

この記事で紹介するRoughnessはSpecular Roughness、つまりSpecularのコントロールをするパラメーターの説明になります。

DiffuseやTransmissionにもRoughness(粗さ)をコントロールするパラメーターがありますがそれはまた別の機会に。

Specular Roghnessとは

Roughnessは名前の通り表面の粗さを表現するためのパラメーターです。

身近なものでも表面の荒さが違うものは多いですよね。

上の写真はこのブログを見てくださってる多くの方にはなじみ深いであろうペンタブのペンです。

これは室内で撮った写真です。

グリップの部分は電灯の光が柔らかく拡散し、上部のほうがはっきりとハイライトが映り込んでるように見えますね。

この表面処理の違いだったり、凹凸をほぼ感じない細かい傷などはRoughnessで再現するといいと思います。

それではRoughnessの動きを見てみましょう。

パラメーターによる見ための変化

上の画像は左がRoughness0、右が1で徐々に数値が変わっていくように設定しています。

左の方がツルツルで、右に行くほどザラザラになって鏡面反射がボケていくのがわかると思います。

これはもちろん金属でも同じように動きます。

上の画像はRoughnessの設定は緑のシェーダーボールと同じでMetalnessとBase Colorを変更し金属(クロームのようなもの)に設定したものです。

どちらもSpecularの具合が変わっていくのがわかるかと思います。

Bump,Normalとの使い分け

表面のザラザラ感と言われるとBump,Normalと何が違うの?って思う方もいるかと思います。

使い分けの例を見てみましょう。

上の画像は引っ掻き傷をそれぞれNormalとRoughnessで付けてみたものです。

一枚目がNormal、二枚目がRoughnessです。

傷の深さが違うのがわかると思います。

使い分けは例えば指先でそれに触った時に凸凹を感じるならBumpかNormal、感じないけど周りと質感が違う場所はRoughnessといった感じでするといいと思います。

Roughnessの設定を楽しもう!

PBR(物理ベースのレンダリング)において一番アーティストの自由度があるのがRoughnessと言われています。

腕の見せ所ですね!

Roughnessマップで鏡面反射をしっかりコントロールして質感設定を楽しみましょう!!

以上がSpecular Roughnessの初級編になります。

中級編ではSpecularのコントロールをなぜRoughnessでするべきなのか、Roughnessが実際どのようにモデルの表面に作用してるのか解説できればと思っています。

おまけ:Glossinessについて

SpecularをRoughnessではなくGlossinessでコントロールするマテリアルもあります。

Glossinessとは表面のツルツル具合を表すパラメーターです。

なので、Roughnessを反転(invert)した数値で同じような結果を得られます。

Substnace PainterではRoughnessチャンネルで作業してもExportの設定をしてあげることでGlossinessに自動変換してくれます。

最近あまり聞きませんが、Glossinessと出会ってもビビらずに対応していきましょう!