比較バージョン

キー

  • この行は追加されました。
  • この行は削除されました。
  • 書式設定が変更されました。

...

雲は、水滴の集合体の挙動や光との相互作用が複雑な現象であるため、レンダリングが非常に難しいボリュームです。煙とは異なり、雲から目に届く光は、通常、雲の内部で何十、何百回も跳ね返っています。その上、散乱挙動(雲の内部で光が跳ね返る様子)は、前方散乱と後方散乱の両方を含み、それぞれに複数のピークがあるため、非常に複雑です。

雲の密度を OpenVDB ファイルのようなファイルにベイクし、OpenVDB ファイルの密度プロパティの名前を PxrVolume Density Float PrimVar パラメータで直接使用するのが、雲自体をモデリングする一般的な方法です。雲は通常すべての光を反射するので、単純に Diffuse Color を (1, 1, 1) にしておけば十分です。雲自体の複雑な光の振る舞いを表現するためには、PrimaryおよびSecondary Anisotropyの設定に加えて、Multiple Scatteringが必要です。以下の異方性の設定は、実際の雲の複雑な散乱挙動に対する物理学的な近似値を反映しています。多重散乱が使用されるため、samplesパラメータは使用されず、1に設定することができます。最後に、雲自体に光源がない場合、等角サンプリングでは何のメリットもないため、Equiangular weightは0.0に設定できます。(一方で、嵐のような天候の場合、稲妻の閃光をシミュレートするために雲の中にライトが設置されている可能性があるため、等角サンプリングは有益であると考えられます)。

ボリューム内の散乱は、個々のディフューズおよびスペキュラートレースの深さではなく、選択したインテグレータのMax Path Lengthパラメータによって制御されることに注意してください。この点については、下記のMultiple Scatteringの項で詳しく説明しています。

Image Modified

Advanced Workflows

...

クレパスキュラー・ビーム(「God Ray」と呼ばれることもある)は、単にボリューム内での光の散乱の結果である。光が光線に分離されると(例えば、森の樹冠から抜け出るわずかな太陽光)、光を散乱させるボリュームの部分と他のボリュームの部分とのコントラストが印象的な効果をもたらします。

クレパスキュラー・ビームを効率的に表現するためには、直接照明の効果を最大限に発揮させること、つまり、光源までの経路を直接たどることができるボリュームを最大限に増やすことが重要です。ボリュームが他の表面や素材を経由して間接的に光源までの経路を辿らなければならない場合、ビームの収束が非常に遅くなり、許容できないほどのノイズが発生する可能性があります。上の画像では、右側のステンドグラスの窓が「薄いガラス」としてモデル化されています。ボリュームから光源に向かって伸びる影の光線は、二次的な(屈折しない)材料の跳ね返りに頼るのではなく、ステンドグラスの材料の影の色合いの動作にのみ頼っています。PxrSurfaceの "thin "パラメータ(glassパラメータの下にある)を使用すると、まさにこの最適化を実現することができます。

Performance Suggestions

Densityは、ボリュームを表す最も重要な特性です。ボリュームでの光の吸収量と散乱量の両方を表すものです。ボリュームの統合では、1回のレンダリングで何十億回もの密度評価が必要になることがありますので、レンダラーができるだけ早くdensity(密度)を評価できるようにすることが重要です。そこで、複雑な信号をOpenVDBなどのボリュームファイル形式に変換しておくと、レンダラーがデータから値を探すだけで済むので便利です。最高のパフォーマンスを得るためには、入力接続を使用するのではなく、可能な限りPrimVar densityパラメータを使用することを強くお勧めします(入力接続が1つのPxrPrimVarノードであっても同様です)。

PxrVolume は、RiVolume プリミティブを使用した不均一ボリュームの場合、レンダリング開始時にボリューム内のあらゆる場所の密度を自動的に計算し、この情報をレンダリング中に使用して密度サンプリングを大幅に高速化します。

この計算の精度(および変形モーションブラーの精度)は、diceアトリビュートである micropolygonlength によって制御されます。

マイクロポリゴンの長さを小さく設定すると、非常に正確な密度推定が可能になりますが、最初の計算に時間がかかり(最初のレンダリングの繰り返しが遅くなります)、レンダラーが多くのメモリを使用することになります。この値を高く設定しすぎると、密度の推定精度が低くなり、ボリューム内で密度が非常に高い孤立したポケットが見落とされる可能性があります。2Kレンダリングでは、変形モーションブラーで低い設定が必要な場合を除き、5以上の設定を使用することをお勧めします。カメラがボリュームの中や近くを通過する場合は、dicing projectionを平面からワールドまたは球体に変更することをお勧めします。カメラの近くではディテールが失われるかもしれませんが、レンズの近くでは大量のデータを作らずに済むかもしれません。

...

Anisotropic(非等方性)ボリュームは、サンプリングの性質上、等方性ボリュームよりも収束が遅くなる傾向があります。

Parameters

Diffuse Color

ボリュームの色です。

デフォルトは白(1,1,1)です。このパラメータで接続を行うと、不均一なボリュームが作成されます。

...

前述のように、PxrVolumeの他のパラメータとは異なり、変形モーションブラーの精度は、diceアトリビュートのmicropolygonlengthに直接関係し、制御されます。モーションブラーをかけたボリュームの細かいディテールが失われている場合、ディテールを取り戻すためにこのアトリビュートを減らす必要がある場合があります。これは、レンダリング時間とメモリに直接影響します。

変形モーションブラー付きボリュームは現在、Density Float PrimVar および Density Color PrimVar 入力では動作しません。代わりに、densityFloatまたはdensityColorに接続されたPxrPrimVarノードを使用する必要があります。 一般的に、OpenVDBファイルで変形モーションブラ付きーボリュームを使用する場合は、2つのPxrPrimVarノードを使用する必要があります。

...

次の画像は、このシェーダーの設定と、速度グリッドを含むOpenVDBファイルを組み合わせてレンダリングしたものです。左側の画像はブラーなしでレンダリングされ、右側の画像はベロシティ接続が適用されています。

...


Density Parameters

Density Float PrimVar

ボリュームの密度フロートをオーバーライドするジオメトリのプリミティブ変数で、デフォルトでは設定されていません。これを設定するとdensityFloat入力がオーバーライドされ、単にPxrPrimVarパターン接続を使用するよりも効率的です。

...

Max Densityのデフォルト値は1.0です。

Anisotropy Parameters

Primary Anisotropy

ボリュームが光を散乱させる方向を制御します。Primary Anisptropyパラメータは、-1から1の範囲で設定でき、デフォルトは0です。0の値は、ボリュームが等方的であることを意味します。つまり、光はすべての方向に同じ確率で散乱します。0より大きい正の値は、ボリュームが前方散乱していることを意味します。入射光が同じ方向(入射光から離れる方向)に散乱する確率が高くなります。異方性の値が0より小さい場合は、ボリュームが後方散乱していることを意味します。入射光が逆方向(入射光の方向に向かって戻る)に散乱する確率が高いことを意味します。

...

下の画像は左から順に、一次異方性=0.0,二次異方性=0.8の多重散乱ボリュームに対して,Lobe Blend Factorを0,0.5,1.0に設定したものです。1枚目と3枚目の画像は、基本的に単一異方性ローブを使用してレンダリングされていることに注意してください。

...

Sampling Parameters


Equiangular Weight

密度サンプリングではなく、等角サンプリングを使用する確率を設定します。等角サンプリングは、光源に近いボリュームの収束性を向上させますが、密度サンプリングは、密度が高い、または密度が大きく変化するボリュームを扱う場合に、より優れた手法となります。デフォルト値の0.5は、両方の手法が同等に使用され、多重重点的サンプリングと組み合わされることを意味します。ボリュームの密度が高く、光源から離れている場合は、Equiangular Weightを下げることで収束が良くなることがあります。これは、バージョン21.5以降の多重散乱ボリュームには適用されません。

...

この設定は、単一散乱ボリュームのサンプル品質を制御します。ボリュームのサンプル数を多くすると、レンダリング時間を犠牲にして、ボリュームの収束性が向上します。しかし、他のオブジェクトがあるシーンではトレードオフとして、画像内の他の場所でコストを増加させることなく、ボリュームがより多くのサンプルを採取し、結果を改善できる可能性があります。収束率はボリューム内でも異なりますので、少ないボリュームサンプル数でもそれなりに収束する領域もあれば、より多くの助けが必要な領域もあるということです。

Multiscatter Optimization

Multiscatter Optimization  ※パストレーサーで有効です。

...