Houdini 20.5 SolarisとKarma Karmaユーザガイド

Karmaユーザガイド ノイズの軽減: Karma CPU

On this page

Previous ノイズ

概要

Karma CPUは、AutomaticおよびPath Traced収束モードで特定のタイプのノイズを対象とするコントロールを多数備えています。

Automatic収束

様々なコントロールがあるため、迷ってしまいがちです。以下の方法に従うと、複雑さが緩和され、レンダリングをクリーンアップする過程でオーバーサンプリングが生じるのを防ぐことができます。

  • Karmaのサンプリング設定を最初にすべて1に設定すると非常に効果的です。

  • プライマリサンプルから構築し、Karmaのシーンのサンプリングについて理解を深めていくと効果的です。

  • 様々な値の組み合わせを時間をかけて試した後、すべてをデフォルトにリセットし、何が変わったかを確認することも有効です。または、デフォルトで新しく作成したKarma Settingsノードで分岐するだけでも、同じ効果が得られます。

プライマリサンプル

最初のステップは、プライマリサンプルを正しく設定することです。プライマリサンプルは、ジオメトリの品質や、レンダリング中にKarmaが実行するその他すべてのサンプリングに影響します。セカンダリサンプルにはピクセルサンプルが乗算されるため、 Min/Max Secondary Samples を1に設定することで、後で調整にかかる時間を短縮することができます。これにより、Karmaが既に行なっているプライマリサンプリングに基づいて、後処理用のプライマリサンプルコントロールをすべて構築することができます。

Tip

プライマリサンプルの値には、簡単に2乗できる値(例えば、4、9、16、25など)を設定することで、ノイズの解決に役立つ場合があります。

通常は、ビューティーパスを見るだけで、より多数のプライマリサンプルが必要な箇所を判断することができます。

ビューティーパスのアルファチャネルも役に立ちますが、Cryptomatte AOVを追加すると、複雑なシーンでサンプリング不足のプリミティブエッジを特定できるのでさらに便利です。(ビューティー、アルファ、またはCryptomatte平面で)次のどれかの特徴が粗かったりノイズが多い場合は、目的の品質になるまでプライマリサンプルを増やしてください:

  • ノイズが多いヘアーまたはファー(BasisCurves)、エイリアシングがかかったジオメトリのエッジ。

  • ピクセル化されている、または、ノイズが多いように見えるカーブの束。

  • ノイズの多いモーションブラー、または、エイリアシングがかかった被写界深度。

primarysamples AOVによる検査は、プライマリサンプルを増やしても品質が向上しない場合に役立ちます。これは、被写界深度(DOF)やモーションブラーの品質の影響を大きく受けるレンダリングで発生しやすいです。実際のピクセルサンプル数がPrimary Samplesパラメータで設定した値に達していない場合、Pixel Oracleが十分なピクセルサンプリングを妨げていると考えられます。Pixel OracleのVariance Thresholdを下げて、送られるピクセルサンプルが増えるかどうかを確認してください。増えない場合、続けてプライマリサンプルを増やすか、または、Uniform Pixel Oracleに切り替えるとよいでしょう。

Tip

モーションブラーが非常に多い領域で、モーションブラーノイズのように見えるものが、実際にはセカンダリサンプルであるという場合があります。ピクセルサンプルが正しい場合でも、他のセカンダリサンプルAOVを時折チェックする必要があります。

セカンダリサンプル

適切なプライマリサンプルが得られたら、次はセカンダリサンプルからノイズを減らします。 Min/Max Secondary Samples パラメータは、 すべての 直接および間接光線の品質に同時に影響します。サンプルを増やすと、直接AOVおよび間接AOVのすべてでノイズが減少します。

Min/Max Secondary Samples

様々な最適化AOVを調査した後、ノイズがかなり均一である場合は、 Max Secondary Samples を2または3に増やします。これにより、画像内のセカンダリノイズが減少し始めるはずです。

サンプルが足りないように見える領域がある場合は、品質スライダを調整する前に、 Secondary Samples Noise Level0.005などの値に下げてみてください。このセカンダリノイズレベルは、カラー設定、モニタのキャリブレーション、プリファレンスなど、多数の要因に大きく依存しています。セカンダリノイズレベルを適切にすると、全体のレンダリング時間はなるべく増やさないようにしながら、目立つノイズをターゲットにすることができます。

Indirect Samples Quality

Indirect Samples Quality コントロールを使用すると、特定の光線タイプをターゲットにして、最後に少し残ったノイズを取り除くことができます。以下のAOVは、それぞれの品質コントロールに呼応しています:

コントロール

AOV(Render Var)

Diffuse Quality

directdiffuseindirectdiffuseindirectemission

Reflection Quality

directglossyreflectionindirectglossyreflection

Refraction Quality

glossytransmission

Volume Quality

directvolumeindirectvolume

SSS Quality

sss

ビューティーレンダリングでノイズを調整する時は、上記のAOVを参照ポイントとして使用します。ライティングやその他の要因によって、他よりも目立つ光線タイプが出てくることでしょう。AOV自体を完全に解決する必要がある場合を除き、ビューティーパスをクリーンアップすることに集中してください。

Light Sampling Quality

プライマリおよびセカンダリサンプルの調整をすべて行なった後も、ソフトシャドウがまだサンプリング不足の場合は、 Light Sampling Quality を使用すると、画像のそのような領域を改善することができます。

Light Sampling Quality: 1
Light Sampling Quality: 2
Light Sampling Quality: 3

デフォルトでは、Karmaはライトを1回だけサンプリングします。 Light Sampling Quality を増やすと、Karmaによるライトのサンプリング頻度が上がります。シャドウの品質は、通常、ビューティーパスを見るだけではっきり分かります。directdiffuse AOVは、シャドウ品質を個別に判断するのに役立ちます。

Path Traced

Path Traced収束モード(Karma XPUで使用できる唯一のモード)では、パストレースサンプルを増やすことが、すべてのタイプのノイズを減らせる主な制御です。

Pixel Oracleの Variance Threshold を下げると、ノイズを減らすことができます。primarysamples AOVを調べると、Pixel Oracleがピクセルサンプルを制限しているかどうか、またはパストレースサンプルを増やす必要があるかどうかが分かります。これは、ビューポート、Mplay、Render GalleryのInspectツールで行なうことができます。Variance Thresholdを下げても画像が改善しない場合は、 Path Traced Samples を上げる必要がある可能性があります。

シャドウを改善したい時は Light Sampling Quality を上げますが、他の方法でノイズを減らすには、パストレースサンプルを増やす必要があります。

Tip

パストレースのサンプルの値には、簡単に2乗できる値(例えば、4、9、16、25など)を設定することで、ノイズの解決に役立つ場合があります。

特定のプリミティブ上のノイズを解説する

プライマリおよびセカンダリサンプリングを調整した後も、ノイズの多いオブジェクトがレンダリングにしつこく残る場合があります。このような状況に対処するため、Karmaはオブジェクト毎のレンダリングプロパティに対応しています。これらのプロパティを使用すると、シーン内の 特定のオブジェクト のサンプリングを改善することができます。

選択したエンジンおよび/または収束モードが指定したグローバルプロパティに対応していない場合、オブジェクト毎のプロパティには何の効果もありません。例えば、Karma XPUを使用してレンダリングした場合、Min/Max Secondary Samplesは何も作用しません。

球のReflection Quality
円柱のRefraction Quality
立方体のSSS Quality

Render Geometry Settings

オブジェクト毎のレンダリングプロパティを設定します。このノードでは、primvars:karma:objectネームスペース内のすべてのKarmaプロパティが利用可能なはずです。

Light

ライト毎のレンダリングプロパティを設定します。このノードでは、inputs:karma:lightネームスペース内のすべてのKarmaプロパティが利用可能なはずです。

Note

Primary SamplesとPath Traced Samplesは、オブジェクト毎に設定することが できません

ほとんどの場合、各オブジェクトプロパティはそれに呼応するグローバルプロパティで乗算されます。グローバルプロパティをスケールしないプロパティは、そのオブジェクトのオーバーライドとして機能します(オブジェクト毎のMin/Max Secondary Samplesなど)。ライトは、ライト毎の Sampling Quality プロパティを介して、グローバルなライトのサンプリング品質をスケールすることができます。

Karmaユーザガイド

Appendices