On this page | |
Since | 11.0 |
Tip
このノードの機能は、surface model VOPに取り入れられていますが、スキャタリング(散乱)のより細かい制御が必要であれば、このノードを使うと良いでしょう。
サブサーフェススキャタリング(表面下散乱)は、肌、ヒスイ、果物、大理石、牛乳などのマテリアルの見た目をシミュレーションします。 それらのマテリアルでは、光が半透明な肌に入り、その肌の下で光が跳ね返って、光を吸収またはサーフェスの別々の箇所に存在するようになります。 詳細は、 Wikipedia を参照してください。
Physical SSSノードは、以前のバージョンのノードとは違って、物理的に正しいライティングモデルを使用しています。
このノードは、レイトレースやポイントクラウドのどれかを使って、単一スキャタリングまたは複数スキャタリングをシミュレーションすることができます。
ワークフロー ¶
-
マテリアルによっては、単一スキャタリングだけでも表現することが可能です。 単一スキャタリングと複数スキャタリングの両方を試してみてください。 複数スキャタリングで見た目に効果がなければ、複数スキャタリングをオフのままにしてもよいでしょう。
-
品質を良くするには、単一スキャタリングの Samples パラメータの値を上げたり、 複数スキャタリングのポイントクラウド内のポイント数( Auto Size Factor/Auto Point Cloud Size )を上げます。
ポイントクラウドの管理 ¶
Point Cloud Mode パラメータを使えば、ポイントクラウドファイルの読み込みと書き込みを制御することができます。
デフォルトでは、ノードは、レンダリングする度にポイントクラウドを再生成します。 これは、シーンを実験する時に役に立ちますが、ジオメトリが安定すれば、ポイントクラウドをキャッシュ化することでレンダリング、特にアニメーションのレンダリングが高速になります。
ポイントクラウドファイルは、サーフェスのST座標に基づいているので、変形サーフェスに対してポイントクラウドを再生成する必要がありません。 しかし、シェーディングするサーフェスのトポロジーが変わる場合は、ポイントクラウドを再生成する必要があります。 ポイントクラウドは、Mantraの本来のSとTの座標に基づいているので、ポイントクラウドを動作させるためにUVをポリゴンに割り当てる必要がありません。
To... | Do this |
---|---|
サブサーフェススキャタリングのポイントクラウドファイルをキャッシュ化する |
|
Tip
ポイントクラウドは、gplayを使ったり、File SOPを使って.pcファイルをHoudiniに読み込むことで見ることができます。
この方法でポイントクラウドを見ると、ポイントクラウドが自動的にジオメトリに変換されます。
それらのポイント上に保存されたP
アトリビュートは、ポイントクラウドを生成したレンダリングでの位置で、レンダラーで生成した最終的な位置とは限りません。
パラメータ ¶
Parameter Mode
アーティストが馴染みやすいカラー制御と物理ベースの制御のインターフェースを切り替えます。 Physical モードは、特定のマテリアルの物理特性のスキャタリング値がある時に役に立ちます。
Artist
Diffuse Color, Attenuation Density, Attenuation Color のパラメータを有効にします。
Physical
Absorption Coefficient, Reduced Scattering Coefficient, Scattering Scale のパラメータを有効にします。
1セットの制御を変更すると、Houdiniは、それらの値を他のセットの制御に自動的にマッピングします。しかし、いくつかの値は完全には移動しません。
Diffuse Color
これは、サーフェスに照らされた領域の主なカラーになります。
Attenuation Density
ライトが散乱した時のライトの強度が弱くなる速さ。 値が高いほど、ライティングレベルが速く下がります。 Parameter mode が Artist の時に利用可能です。
Attenuation Color
照らされていないサーフェスの領域あたりのカラー。 この値は濃度を調整して、より高いAttenuation Colorのカラーコンポーネントがより遠い距離にあるライトを散乱し、より低いAttenuation Colorのカラーコンポーネントがより近い距離にあるライトを散乱します。 Parameter mode が Artist の時に利用可能です。
Absorption Coefficient
カラーチャンネル(赤、緑、青)単位でライトを吸収する確率(1距離単位あたり)。このパラメータは、あるマテリアルの物理特性の値を持っている時に役に立ちます。 Parameter mode が Physical の時に利用可能です。
その確率は1距離単位あたりなので、この値は0
から無限大の範囲になります。
Reduced Scattering Coefficient
カラーチャンネル(赤、緑、青)単位でライトが散乱(等方性スキャタリングと想定)する確率(1距離単位あたり)。 このパラメータは、あるマテリアルの物理特性の値を持っている時に役に立ちます。 Parameter mode が Physical の時に利用可能です。
その確率は1距離単位あたりなので、この値は0
から無限大の範囲になります。
Scattering Scale
このパラメータは、スキャタリング/吸収のイベントのスケールを調整します。 1より小さい値は、スキャタリングをより局所化して、サーフェスをより不透明にし、1より大きい値は、スキャタリングの局所化を少なくして、サーフェスをより透明にします。 Parameter mode が Physical の時に利用可能です。
Scattering Phase
スキャタリングの性質を制御します。プラスの値は、前方に散乱し、0
は等方に散乱し、マイナスの値は後方に散乱します。
範囲は、-1
(完全なBackscattering:後方散乱)から1
(完全なForward Scattering:前方散乱)です。
値は、モデル化しようとしているマテリアルのタイプに依存します。例えば、皮膚は高いforward scattering(前方散乱)で、大理石はBackscattering(後方散乱)です。
Inside IOR
サーフェスの媒体(シェーダがシミュレーションする見た目の物理マテリアル)の絶対屈折率。
Outside IOR
周辺の媒体(例えば、空気)の絶対屈折率。
色々なマテリアルの屈折率のリスト を参照してください。
Enable RGB Spectral Scattering
赤、緑、青のカラーコンポーネントの独立したスキャタリングを有効にします。 有効にすると、独立したスキャタリングと吸収の係数が各カラーコンポーネントで使用され、より正確なレンダリングをすることができます。 しかし、その結果が時にはAttenuation Colorの補色を表示する場合があります。 例えば、青のAttenuation Colorを使うと、より短いスキャタリング距離は、黄色でレンダリングされます。 部分的にこの予測できない効果を軽減するには、このトグルを無効にしてください。
Single Scattering ¶
Enable Single Scattering
サーフェス内で1度正確に散乱するライトのシミュレーションを有効/無効にします。 あるタイプのサーフェス(例えば、皮膚)は、単一スキャタリングからほとんど光を得られないので、このオプションを無効にして、精度にほとんど影響のない計算を減らします。
Optimize Secondary Rays
このオプションをオンにすると、ノードはBRDFを使って、散乱する光線を近似します。このオプションは高速ですが、精度が悪いです。
Samples
単一スキャタリングのサンプル数。このオプションを上げると、シェーディングが遅くなりますがノイズが減ります。
Multiple scattering ¶
Enable Multiple Scattering
サーフェス内で2回以上散乱するライトのシミュレーションを有効にします。 低いAlbedoマテリアル(低い Diffuse Color)では、複数スキャタリングは、画像にあまり変化がないので、このオプションを無効にして、計算時間を短くします。
Model
複数スキャタリングの計算方法を設定します。 通常では、ポイントクラウドを使う予定ならば Local And Global モードを、ポイントクラウドなしで複数スキャタリングを計算するなら、 Ray Tracing を使います。 ポイントクラウドを使うと、より滑らかで速い結果が得られますが、ポイントクラウドの事前計算とポイントクラウド内の各ポイントのIrradianceの計算(レンダリング毎に1回)が必要になります。
Ray Tracing
ポイントクラウドではなく、レイトレースを付かて複数スキャタリングを近似します。 このオプションは、ポイントクラウドの計算を回避しますが、ノイズを軽減させるためにサンプリング数がたくさん必要になります。
Full Ray Tracing
単一オブジェクトが複数のパックプリミティブ(つまり、複数のAlembicシェイプノード)で構成されている時、各シェイプには、ローカルの複数スキャタリングを持ちます。 Full Ray Tracingを使うと、複数スキャタリングを計算する時に、すべての個々のパックプリミティブが考慮されます。
Local BRDF
BRDF関数のみを使って、複数スキャタリングを計算します。 このオプションが一番高速ですが、サブサーフェスのDiffuseが生成されません。
Global Point Cloud
ポイントクラウドを使って、複数スキャタリングを計算します。 このオプションは、ポイントクラウドを生成する事前計算ステージと、ポイントクラウド内のサーフェスのIrradiance値の計算とキャッシュ化のステージが必要になります。
Local And Global
ローカルの複数スキャタリングの計算でBRDF関数を、グローバルの複数スキャタリングの計算でポイントクラウドを使います。 Local Radius Scale パラメータは、ローカルの半径を制御します。 このオプションは、通常ではポイントクラウドだけを使うよりも、特に短いスキャタリングの距離で精度が良いです。
Path Tracing
ボリュームとしてパストレースすることでサブサーフェススキャタリングをシミュレーションします。 このオプションは、遅くてノイズがありますが、一番精度が高いです。そのため、他の方法と比較すると、グラウンドトゥルースの生成に使われます。
Global Light Quality
Model が Global Point Cloud または Local And Global の時のポイントクラウドの寄与度で使用するライトサンプリングの品質。 この値は、 Model が Ray Tracing の時の光線サンプルの数の制御にも使われます。
Local Light Quality
Model が Local BRDF または Local And Global の時のBRDFの寄与度で使用するライトサンプリングの品質。 ローカル品質は、結果に悪影響を与えずに、グローバル品質よりも品質が悪いですが、より高速に評価することができます。
Optimize Secondary Rays
BRDF近似を使って、副光線の複数スキャタリングを計算します。 このオプションをオンにすると高速になりますが、精度が悪くなります。
Local Radius Scale
Local And Global モデルのローカルBRDFから寄与度を制御します。 値が小さいほど、局所的な領域の統合が少なくなり、鮮明さがなくなって、周波数の低いノイズになる可能性があります。 値が大きいほど、鮮明さが上がり、周波数の低いノイズが減ります。
Point Cloud Mode
シェーダがポイントクラウドを生成する方法を設定します。一番単純なオプションは、 Generate At Render Time です。 これは、レンダリングする度に新しくポイントクラウドを作成します。 計算時間を減らすには、まず最初のレンダリングで Write To File モードを使い、それ以降のレンダリングで Read From File モードを使ってポイントクラウドを再利用することです。 これは、アニメーションをレンダリングする時に推奨する方法でもあります。その理由は、シェーダはフレーム間で滑らかにポイントクラウドを補間するからです。 この例外は、モデルのトロポジーが変わる時です(例えば、2つの繋がったポリゴンが分離した時)。この場合では、新しいポイントクラウドを生成しなければなりません。 Write To File モードでは、ポイントクラウドファイルが既に存在すると、それを上書きすることに注意してください。 Write To File モードでレンダリングが完了する前にレンダリングを中断すると、使用できないポイントクラウドファイルが作成されてしまいます。
詳細は、ポイントクラウドの管理を参照してください。
Generate At Render Time
ノードがレンダリングする度にポイントクラウドを再生成します。これは、ファイル管理を考える必要がないので便利です。 そして、同時にシェーダとモデルを修正する時に役に立ちます。 しかし、効率を上げたい、特にアニメーションをレンダリングする時は、ポイントクラウドをキャッシュ化した方が良いです。
Read From File
Write To File モードを使って生成したポイントクラウドファイル(以下の Point Cloud パラメータで指定)からポイントクラウドを読み込みます。
Write To File
以下の Point Cloud パラメータで指定したファイルにポイントクラウドを書き出します。
Point Cloud
Point Cloud Mode が Write To File または Read From File の時に書き込み/読み込みするポイントクラウドのファイルを設定します。 ポイントクラウドがサーフェスのUVに基づいているので、モデルのトポロジーが変わらない限りは、各フレームで新しくポイントクラウドファイルを書き出す必要がありません。
Cache Positions/Normals/Areas
ポイントクラウドにポイントポジション、法線、面積を抱き出します。 これはシェーディングを高速化しますが、静的ジオメトリと静的カメラに限られます。 ジオメトリやカメラが動く場合は、このオプションをオフにするか、ポイントクラウドを再生成してください。
Cache Irradiance
ライト情報をポイントクラウドに書き出します。 これは、たくさんのポイントを持つポイントクラウドのシェーディングを高速化しますが、静的ジオメトリと静的カメラに限られます。 ジオメトリやカメラが動く場合は、このオプションをオフにするか、ポイントクラウドを再生成してください。
Auto Point Cloud Size
このオプションをオンにすると、ノードがサーフェスのスキャタリング特性に基づいて、ポイントクラウドで使用するポイントの数を自動的に決めます。 このポイントの数をスケールするには、 Auto Size Factor パラメータを使います。 このオプションをオフにすると、ポイントクラウド内のポイントの数を手動で設定することができます。 ポイントクラウドのポイント数が小さいほど生成とレンダリングが速くなるので、サイズを小さくすることで、レンダリングを高速化することができます。
Auto Size Factor
Auto Point Cloud Size がオンの時に、ノードが選択したポイントクラウドのポイント数をスケールすることができます。
Point Cloud Size
Auto Point Cloud Size がオフの時に、ポイントクラウドで生成するポイント数。 ポイント数が多いほど計算時間がかかりますが、品質が良くなります。
Filter Multiple Scattering
ポイントクラウドのポイント上に複数スキャタリングの結果をキャッシュ化し、サンプルポイントでの値を計算するためにキャッシュ化した値を補間します。 これは非常に効率的ですが、サーフェス上の各サンプルポイントでスキャタリングを再計算するよりも精度が悪いです。
このオプションを有効にすると、このVOPの Multiple Scattering Color (Global) 出力をParameter VOPを通してエクスポートしなければなりません。
これをするには、Parameter VOPを作成して、その Parameter Type を Color に、 Parameter Name をmultiglobclr
に、 Export を Always に設定してから、
その入力をこのVOPの Multiple Scattering Color (Global) 出力に接続します。
他の方法として、physicalsssノードの Create Export Bindings メニュー項目をクリックして、各出力のエクスポートを作成します。
Filter Samples
フィルタリングするポイントクラウドのポイント数( Filter Multiple Scattering を参照)。 ポイント数を上げると、よりブラーのかかった結果が生成され、ポイント数を下げるとシミだらけの結果が生成されます。
パフォーマンスTips ¶
-
Auto Size Factor または Point Cloud Size を小さくすることで、ポイントクラウド内のポイント数を制限します。 できるだけ低いポイント数にしてみてください。
-
Filter Multiple Scattering を有効にします。
-
単一スキャタリングと複数スキャタリングの両方で Optimize Secondary Rays を有効にします。
-
Multiple Scattering Model を Local and Global に設定します。
-
Light Quality パラメータを小さくします。
入力 ¶
Position
カラーを計算するサーフェスポジションを上書きすることができます。
Blur position
サーフェスポジションを上書きすると、Blurポジション(開始フレームでのBlurポジション)を上書きする必要があります。
Normal
Blurポジションを上書きすると、Normal(法線)を上書きする必要があります。
Transmitted
このノード外でフレネル(屈折)をシミュレーションしていれば、Fresnel Transmissionベクトルを上書きすることができます。 通常では、ノードは、fresnel関数を使って屈折角度を計算します。
Fresnel transmission
Fresnel Transmissionベクトルを上書きすると、この入力は、透過ライトの量を上書きすることができます。
出力 ¶
Color
サブサーフェススキャタリングの結果。
No scattering color
ライトがサーフェスを通過しても散乱しなかった時に減衰したライト。
Single scattering color
ライトがサーフェスを通過した時に一度散乱したライト。
Multiple scattering color
ライトがサーフェスを通過した時に2回以上散乱したライト。
Multiple scattering color (Local)
2回以上散乱して、BRDFを使って計算したライト。
Multiple scattering color (Global)
2回以上散乱して、ポイントクラウドを使って計算したライト。
Fresnel reflectance
サーフェスポイントで反射したライトの量。
See also |