Principled Hair BSDF(プリンシプルヘアーBSDF)

../../../_images/render_shader-nodes_shader_hair-principled_node-melaninconcentration.png

Principled Hair BSDF under Melanin concentration.

Hair (ヘアー) BSDF

The Principled Hair BSDF is a physically-based, easy-to-use shader for rendering hair and fur.

ちなみに

リアルな髪の毛は、各毛束間で最小限の差異を持つ必要があります。シェーダーは、 Random ColorRandom Roughness の 2つの値を指定することでこれを可能にし、指定されたMelanin / Roughness値を範囲に再マッピングします。Color/Roughness±Randomization%.

入力

Color(カラー)

毛束のRGBカラー。 Direct coloring (ダイレクトカラーリング)でのみ使用されます。

ヒント

選択した色は、次の式で吸収係数に変換されます( [CBTB16] のセクション4.2 )。

σa=ln(Color)(5.9690.215βN+2.532βN210.73βN3+5.574βN4+0.245βN5)2

βN はランダム化を適用した後のヘアの放射状粗さです。(指定されている場合)

../../../_images/render_shader-nodes_shader_hair-principled_demo-color.jpg

Direct coloring (ダイレクトカラーリング)を使用してヘアを色付けします。(上の数字はRGB値です。)

Melanin (メラニン)

色素の絶対量。範囲 [0,1][0%,100%] に相当。

ヒント

これは、基になる指数関数へのリニアマッピングです。

melanin_qty=ln(max(1.0Melanin,0.0001))
../../../_images/render_shader-nodes_shader_hair-principled_demo-melanin.jpg

Melanin (メラニン)

Melanin Redness (メラニンの赤成分)

フェオメラニンとユーメラニンの比率。範囲 [0,1][0%,100%] に相当。

ヒント

比率の式は次の通りです。 eumelanin=Melanin(1.0MelaninRedness), pheomelanin=MelaninMelaninRedness

結果の量は、(指定されている場合はランダム化した後)次の式( [EFHLA11] のセクション6.1)を介して吸収濃度に変換され、 [0,1] の範囲に調整されます。

σa=eumelanin[0.5060.8411.653]+pheomelanin[0.3430.7331.924]
../../../_images/render_shader-nodes_shader_hair-principled_demo-melanin-redness.jpg

Melanin Redness (メラニンの赤成分)

Tint (チント)

メラニン色素をつけた後、髪を染めるのに使う色。ランダム化の対象ではありません。色を白に設定することで無効化します。

ヒント

これは上記のカラーマッピングで変換され、メラニン濃度の吸収係数に追加されます。

../../../_images/render_shader-nodes_shader_hair-principled_demo-tint.jpg

色合い、Melanin値の0.1および対応するRGB値を使用。

Absorption Coefficient (吸収係数)

吸収係数 σ

Roughness

髪の毛の軸方向において、輝きをどの程度滑らかにするかを指定します。値が小さすぎると、髪が滑らかで、金属に見えるようになり、輝きが Fireflies のように見えます。設定が高すぎると、ランバート風の外観になります。

../../../_images/render_shader-nodes_shader_hair-principled_demo-roughness.jpg

Roughness (粗さ)

Radial Roughness (天使の輪の粗さ)

Specify how much the glints are smoothed in the direction of the hair tangent. Too low values will concentrate the glint; while setting it too high will spread the light across the width of the strand.

ヒント

数学的には、このパラメーターはロジスティック分布のスケール係数 s にマッピングされます。( [CBTB16] のセクション 4.1)。

../../../_images/render_shader-nodes_shader_hair-principled_demo-radial-roughness.jpg

Radial Roughness (天使の輪の粗さ)

Coat (コート)

最初の光のバウンス(ディフューズ)についてのみ、粗さを所定の係数まで下げることにより、光沢のある毛皮のコートをシミュレートします。元の粗さの [0%,100%] の範囲の換算に相当します。

../../../_images/render_shader-nodes_shader_hair-principled_demo-coat.jpg

Coat (コート)

IOR

レイが方向を変える量を定義する屈折率( IOR )。1.0では、レイは透明なマテリアルのように直進します。値が大きいほど屈折が大きくなります。デフォルト値は 1.55

Offset(オフセット)

毛幹に対する毛のキューティクルの鱗の角度を大きくすることにより、髪の輝きを傾けます。通常、人間の髪の毛の値は低い値です。

Random Color (ランダムカラー)

各毛束について、メラニン濃度を RandomFactor において変化させます。[0,1] の範囲は初期メラニン濃度の [0%,100%] に相当します。

ヒント

メラニン濃度は次のように randomFactor によって乗算されます。randomFactor=1.0+2.0(Random0.5)RandomColor.

../../../_images/render_shader-nodes_shader_hair-principled_demo-random-color.jpg

Random Color (ランダムカラー)

Random Roughness (ランダムな粗さ)

各毛束について、両方の粗さを RandomFactor において変化させます。[0,1] の範囲は初期粗さ値の [0%,100%] に相当します。

ヒント

適用される数式は、 Random Color と同じです。

../../../_images/render_shader-nodes_shader_hair-principled_demo-random-roughness.jpg

Random Roughness (ランダムな粗さ)

Random(ランダム)

乱数ソース。ここにノードが接続されていない場合、ノードは Hair Info ‣ Random から取得した値で自動的にインスタンス化されます。

Properties(プロパティ)

Color Parametrization (色のパラメータ化)

シェーダーは、髪束に色を付ける3つの異なる方法、つまりパラメーター化を提供します。

Direct Coloring (ダイレクトカラーリング )

目的のRGBカラーを選択すると、シェーダーが必要な absorption coefficient (吸収係数:下記) を概算します。

Melanin Concentration (メラニン濃度)

このモードは、髪と毛皮における、ユーメラニン(茶色がかった黒髪に多く見られる)、フェオメラニン(赤髪)に見られる色素量と比率として色を定義します 。量は Melanin 入力で指定され、それらの間の比率は Melanin Redness で指定されます。濃度を上げると髪が暗くなります(以下は Melanin Redness1 の場合です)

  • 白 (Melanin 0)

  • ブロンド (Melanin 0.25)

  • 赤 (Melanin 0.5)

  • 茶 (Melanin 0.75)

  • 黒 (Melanin 1)

さらに、 Tint 入力により、髪を希望の色に染めることができます。

Absorption Coefficient (吸収係数)

減衰係数 σa を指定します。 Beer-Lambert law によって適用されます。このモードは、主に文献からの係数を変換せずに使用したいテクニカルユーザーを対象としています。

出力

BSDF

標準シェーダー出力。

参考文献

このシェーダーは、ディズニー映画 "ズートピア" ® で使用された、Chiang et alによる論文の実装です。[CBTB16]

CBTB16(1,2,3)

Chiang, M. J. , Bitterli, B. , Tappan, C. and Burley, B. (2016), A Practical and Controllable Hair and Fur Model for Production Path Tracing. Computer Graphics Forum, 35: 275-283. doi:10.1111/cgf.12830

EFHLA11

d'Eon, E. , Francois, G. , Hill, M. , Letteri, J. and Aubry, J. (2011), An Energy‐Conserving Hair Reflectance Model. Computer Graphics Forum, 30: 1181-1187. doi:10.1111/j.1467-8659.2011.01976.x