Houdini 19.0 ノード VOPノード

Hair Model VOP node

強力且つ柔軟な一般的なヘアー/ファーシェーディング用のモデルです。

This node type is hidden. It is no longer supported.
On this page
Since 12.0

概要

このノードは、十分な機能を備えたヘアー/ファーシェディングのモデルです。 これにより、実際のヘアーの基本的なビジュアルコンポーネントであるハイライトやグリント(閃光)、バックライティングに関する制御ができます。 Surface Modelと同様に、Hair Modelは(光源から)直接光および間接光(シーンで他のオブジェクトに跳ね返った光)を計算します。

このノードは、ヘアー/ファーシェーダネットワークの開始点となるように設計されています。 Hair Model自体はライティングを処理し、ほとんどの物理的なプロパティをシミュレーションするため、Hair Model VOPを単に出力に接続すれば、 ヘアー/ファーサーフェスの大半をシミュレーションできる “uber-shader(超シェーダ)”を作成します。

VOPを使用したマテリアルシェーダの構築に関する詳細情報はマテリアルを作成するを参照してください。

Hair Modelの利点

  • 物理的ベースのヘアーモデル

  • PBR、レイトレーシング、およびマイクロポリゴンレンダリングエンジンと連携可能

  • ハイライトのサイズおよび位置に関する簡単なコントロール

  • エネルギー保存

非物理的ベースのレンダーでは、このノードは下記の項目についてのサポートを追加します:

  • ライトごとのエクスポート

  • エリアライトに対する変動アンチエイリアスサポート

  • レイトレーシングに対する変動アンチエイリアスサポート

Tip

ほとんどのパラメータを入力として使用することができますが、デフォルトでは非表示です。非表示の入力接続に関する詳細はVOPの取り扱いを参照してください。

3つのライトパス: R, TRT, TT

ヘアーモデルはシェーディングヘアーに対して物理的ベースのアプローチを行ないます。 光線がヘアーの個別の束に跳ね返る時のいろいろな方法を考慮に入れて対応します。

ヘアーモデルは3つのライトパスをシミュレーションします。 反射(一次またはR)、透過-反射-透過(二次またはTRT)、そして透過-透過(透過またはTT)の3つのパスです。 一次パスはヘアーに当たり反射します。二次パスはヘアーの中に入り、ヘアーの後ろから反射し、ヘアーの前面から抜けます。 透過パスはヘアーの中に入り、後ろから抜けます。下記の図ではパスを描いています。

各ライトパスは独特のビジュアル効果を生成します。例えば、一次パスは広がって散乱する傾向があり、結果として均一のカラーになります。 一次コンポーネントはDiffuse(拡散反射)コンポーネントと同様に考えることができます。事実、光源で Diffuse Contribution を有効にして、一次ライトパスからの寄与度を取得する必要があります。

二次コンポーネントは、本来、一次コンポーネントよりも方向性を持ち、ハイライトになります。二次コンポーネントはスペキュラーハイライトとして考えることができます。

透過コンポーネントは、髪の束を通過するライトの量を制御します。これにより、ヘアー/ファーを後ろから照らしている状況でヘアー/ファーの質感を制御しやすくなります。

反射性

反射性に関する考察はSurface Modelを参照してください。

反射と透過のサイズ

サイズパラメータは、反射ローブ(分布領域)または透過ローブ(分布領域)の角度のある拡散を制御します。 値が小さいと、狭い円錐角上にライトを反射/透過する集中ローブ(分布領域)を生成し、値が大きいと、広い円錐角上にライトを反射/透過するローブ(分布領域)を生成します。 例えば、Diffuse(拡散反射)のルックを作成したい場合は大きなサイズを使います。シャープなハイライトの場合は、小さなサイズを使います。

反射と透過のシフト

シフトパラメータは、反射ローブ(分布領域)または透過ローブ(分布領域)の一般的な方向を制御します。 値は、-1(根元へ向う)から1(毛先へ向う)までの範囲になります。0の値は、ヘアーと垂直の方向になります。 通常、 Secondary Reflection タブの Reflection Shift パラメータは、二次反射の位置を制御する場合に最も便利です。

画像プレーンをエクスポートする

このノードは、OpenEXRフォーマットへレンダリングする時に、追加の画像プレーンの作成に使用できる多数の変数をエクスポートします。 特別なエフェクトを合成して、シェーダにより一次および二次反射を別の画像として出力する場合に便利です。

例えば、シェーダの直接/間接/複合Diffuse(拡散反射)/反射/屈折の出力、サンプルなどをエクスポートすることができます。 各変数に対する合計の出力をエクスポートしたり、またはライト毎にエクスポートを分けたりすることができます。

詳細は、Mantraレンダーノード追加画像プレーンパラメータを参照してください。

Hair Model VOPと他のヘアーVOPの比較

Hair Model VOPは他の3つのヘアーVOP(Physically Based Hair (Primary Reflection)Physically Based Hair (Secondary Reflection) およびPhysically Based Hair (Transmission))のエフェクトを結合します。 これは、Surface ModelPhysical Based DiffusePhysically Based SpecularのVOPのエフェクトを結合する方法に似ています。

Hair Model VOPはより高度なレベルの機能を扱います。例:

  • ディープラスターのエクスポート

  • エネルギーの保存

  • 不透明度

他の物理的ベースのVOPはBSDFを作成するだけです。 この2つは別々に使用することができますが、通常では、結合して使いたいと思うはずです。 Hair Model VOPはこれらのBSDFを使用して全体のヘアーエフェクトを取得します。

FAQ

このシェーダを使ってヘアーのクローズアップをレンダリングすることができますか?

あまりクローズアップしない方がよいと思います。 このシェーダは、個々のヘアー/ファーの束の幅がピクセルよりも小さい場合に最も仕上がりがよくなります。 顕微鏡レベルでヘアーをレンダリングしたい場合はSurface Model VOPを使用してみてください。

ヘアーが平らになってしまうのはなぜですか?

Houdiniは、カメラの方へ向いた平らなジオメトリとしてヘアーをレンダリングします。 カメラがヘアーから十分離れている限り、うまく働きます。これで解決しない場合、 Secondary Reflection によりシャープなハイライトを作成してみてください。

グリント(閃光)の制御はどのようなものですか?

グリント(閃光)の制御により、ヘアーのBSDFでウサギの耳のように見えるシャープなハイライトを作成します。 描画については、上記の 3つのライトパス: R, TRT, and TT の画像を参照してください。

ヘアーをあまり脂っぽく見えないようにするにはどうすればよいですか?

ヘアーの幅を小さくして密度を上げてみてください。ヘアーの束が広くなりすぎると脂っぽく見えることがあります。

アニメーションのエイリアスとノイズを減らすにはどうすればよいですか?

まず、エイリアス/ノイズの原因を特定してください。例えば、シャドウマップやスペキュラー反射によるものかもしれません。 追加画像プレーンを使ってレンダリングし、どのチャンネルにエイリアス/ノイズが含まれているのかを確認します。 シャドウマップを使用している場合は、解像度を上げ、ピクセルサンプルを増やしてみてください。出力ドライバのピクセルサンプルも同様に増やしてください。 モーションブラーを少し追加すると、アニメーションがスムーズになることがあります。

シャドウマップやレイトレースシャドウを使った方がよいでしょうか?

どちらの方法も効果があります。それぞれの方法を試して、シーンでどちらのレンダリングが速いかを確認してください。 静止シーンをレンダリングしている場合は、シャドウマップの方が速くなります。

Textured Hairマテリアルは、最終的にHair Model VOPへ送り込む追加のテクスチャオプションを提供します。 これにより、例えば、あるテクスチャマップをヘアーの根元に設定して、別のテクスチャマップを毛先に設定することができます。

パラメータ

Conserve Energy

サーフェスが受け取る量以上のライトを反射しないようにします。 これは、レイトレースの跳ね返りが増加してもシーンのイルミネーションが増加しないようにするために、物理ベースのレンダリングやレイトレーシングでは重要です。 例えば、( Conserve Energy をオフにして Reflection Intensity を2に設定することにより)受け取るライトの2倍のライトを反射するサーフェスでは、 Reflect Limit を上げると、不自然に明るいレンダリングが作成されます。

この設定は、1よりも大きい反射率をノードが検知した場合、その逆の反射率でBSDFを測定してエネルギーを保存します。 これにより、同じ指数でサーフェスモデルのすべてのコンポーネントが減少し、線形的にサーフェスを暗くします。

サーフェスの合計反射率を計算するには、 Transmission Intensity と一次および二次反射の Reflection Intensity を合計します。 予想通りの結果を得るには、強度または反射率のパラメータを限定してエネルギーを手動で保存してみてください。

Enable Fake Rounding

処理が軽い微調整を有効にして、チューブのようにカーブが幅方向に丸くなるようにします。 このトリックは、カーブs座標だけに依存し、ライティングには影響しません。したがって、スペキュラーハイライトはライティングが変化してもカーブの幅方向へは動きません。

Max Ray Distance

非PBRレンダリングの反射と屈折に対して、いずれのジオメトリとも交差せずに、この距離(Houdiniワールド空間単位)よりも遠くまで飛んだ光線は、ジオメトリを見失った光線として処理します。

Primary Reflection

このタブは、一次反射とサーフェスの全体のカラーを制御します。デフォルト値では、入力するライトの40%を反射します。

Enable Primary Reflection

一次反射を有効にします。

Reflection Intensity

一次コンポーネントとして反射する入力ライトの比率で、0(反射なし)から1(入力するすべてのライトが反射する)の範囲の値になります。

Reflection Color

オブジェクトにより反射するカラー(赤、緑、青のカラーコンポーネントの反射率)です。

Reflection Size

反射コンポーネントの角度のある拡散を制御します。詳細は、上記の反射と透過のサイズを参照してください。

Reflection Shift

反射コンポーネントの角度シフトを制御します。詳細は、上記の反射と透過のシフトを参照してください。

Secondary Reflection

このタブには(スペキュラー反射に類似した)二次反射のパラメータがあります。 有効にすると、サーフェスは Reflection Intensity に比例したライトを反射します。 二次反射を使用すると、ライトは、より集中して特別な方向へ反射します。 これにより、エフェクトがライトおよびビューイング方向の変化に対してより敏感になります。

通常の強度、カラー、サイズ、シフト制御に加えて、 Secondary Reflection タブにはグリント(閃光)を追加する特別な制御があります。 これらのグリント(閃光)、つまり明るいスポットは、内部で反射したライトにより形成した真のコースティクスです。 これらのグリント(閃光)は、ヘアーに対して垂直になる臨界角で対になって現れます。グリント(閃光)は、入射光の角度に関して対称です。

Enable Secondary Reflection

二次反射またはスペキュラー反射としても考えることができるハイライトを有効にします。

Reflect Lights

(環境ライトなどの)光源を反射します。光源反射は、一般的にはスペキュラーハイライトとして知られています。

Reflect Objects

レイトレーシングを使用してシーンの他のオブジェクトを反射します。

Reflection Intensity

二次反射で反射したライトの比率で、0(反射なし)から1(すべてのライトが反射する)の範囲の値になります。デフォルトは0.2(20%)です。

Reflection Quality

レイトレースした二次反射のサンプリング精度です。値を大きくすると、より多くのレイトレースサンプルを反射用に送り、精度が上がりますが、シェーディング時間も長くなります。

Reflection Color

二次反射(赤、青、緑のカラーのコンポーネントの反射性)の色付けです。例えば、反射カラーを1, 0, 0に設定すると、赤ライトのみが反射します。

Reflection Size

二次反射の角度のある拡散を制御します。詳細は、上記の反射と透過のサイズを参照してください。

Reflection Shift

二次反射の角度シフトを制御します。詳細は、上記の反射と透過のシフトを参照してください。

Glint Intensity

反射と比較したグリント(閃光)の相対的サイズです。値を上げると輝きが増加します。

Glint Size

グリント(閃光)コンポーネントの角度のある拡散を制御します。詳細は、上記の反射と透過のサイズを参照してください。

Glint Shift

2つのグリント(閃光)の角度分離を制御します。0に近い値では、2つの重なりあうグリント(閃光)になり、大きな値にするとはっきり区別できる2つのグリント(閃光)になります。

Transmission

このタブには、透過(ヘアーを通過するライト)のパラメータがあります。有効にすると、サーフェスは Transmission Intensity に比例したライトを透過します。

Enable Transmission

ヘアーを通過するライトのシミュレーションをオンにします。

Transmit Lights

(環境ライトなどの)光源を透過します。

Transmit Objects

レイトレーシングを使用してシーンの他のオブジェクトを透過します。

Transmission Intensity

サーフェスを通る透過ライトの比率は、0(透過ライトなし)から1(入力するすべてのライトが透過する)です。

Transmission Quality

レイトレース透過のサンプリング精度です。値を大きくすると、より多くのレイトレースサンプルを送ります。

Transmission Color

透過したライトの色付けで、さまざまなカラーコンポーネントの透過量です。例えば、透過カラーを1, 0, 0に設定すると、サーフェスは赤ライトのみを透過します。

Transmission Size

透過コンポーネントの角度のある拡散を制御します。詳細は、上記の反射と透過のサイズを参照してください。

Transmission Shift

透過コンポーネントの角度シフトを制御します。詳細は、上記の反射と透過のシフトを参照してください。

Opacity

このタブのパラメータはレンダリングするサーフェスの不透明度を制御します。

Opacity Scale

Opacity Color パラメータの値を測定します。 これは、 Opacity Color パラメータの3つのコンポーネントすべてをまとめて変更する必要があるというよりはむしろ、それらを単一の数として操作するのに役に立ちます。

Opacity Color

各カラーコンポーネントの不透明度です。

Enable Fake Caustics

透過するオブジェクトは半透明のシャドウを作成します。 このシャドウは、実際のコースティクスをレンダリングした場合に透過するライトの量を概算しようとします。 実際のコースティクスをIndirect Lightによりレンダリングする場合は、このパラメータをオフにします。

Min Shadow Intensity

フェイクのコースティクスに使用するシャドウの最小強度です。これが増加すると、シャドウの最も明るい部分が暗くなります。

Max Shadow Intensity

フェイクのコースティクスに使用するシャドウの最大強度です。これが増加すると、シャドウの最も暗い部分が明るくなります。

入力

Hair Modelノードを正確に操作するために、これらのいずれの入力も接続する必要はありません。未接続の状態にしておくと、それに相当する名前のグローバル変数またはアトリビュートが自動的に結びつけられます。

P

サーフェスの位置で、サーフェスからのレイトレース操作の原点として使用します。

N

サーフェス法線です。

I

入射光線の方向です。

tip

毛先の方向です。指定しなかった場合、dPdtが使われます。

出力

サーフェスコンテキスト内の同じ名前の出力変数に出力値を接続することができます。

Cf

シェードがかかり、ライトが当たったサーフェスカラーで、マイクロポリゴンのレンダリングやレイトレーシングレンダリングエンジンで使用します。

Of

サーフェスの不透明度です。

F

サーフェスのBSDFです。

See also

VOPノード