[Omniverse] アニメーション時のモヤモヤを緩和/Post Processing

  • by

前前回、PLATEAUの都市データに木を生やしてSun Studyでアニメーションさせたとき(RTX-Interactive(Path Tracing)を使用時)に、特に木がもやもやしていました。

今回はこれを緩和します。

FPSを表示

速度チェックのため、FPS(1秒間の描画フレーム数)をViewportの右上に表示します。

Viewportの上にあるShow/Hide(目玉のアイコン)をクリックしてポップアップメニューを表示、
HUD Stats - Fps を選択します。

また、HUD Stats - PathTracing もOnにしておくと、パストレ―シング時の計算時間も表示されます。

これでViewportの右上にFPSが表示されました。

パストレーシングでは少し待つと、指定のサンプリング数が経過した後に完全なレンダリング結果となります。
アニメーション再生時/Viewportでのカメラ操作時などでは
この完全を待たずにスキップされた状態の結果が表示され、次のフレームに移ることになります。
そのため、アニメーション途中は間接照明を計算する箇所は粗くなります。

デフォルトのアニメーション

SUn Studyを使用し、RTX-Interactive(Path Tracing)のデフォルトでアニメーションしました。


木の部分が分かりやすいですが、もやっとしてます。

アニメーション中は9.5fpsくらいになりました。

Samples per Pixel per Frameを調整

Render Settingsの「Interactive(Path Tracing)」で
「Samples per Pixel per Frame (1 to 32)」はデフォルト1です。
これは1フレームでのサンプリング数になります。

その下の「Total Samples per Pixel」が待ったときの最終サンプリング数になります。
「Samples per Pixel per Frame (1 to 32)」のサンプリング数だけ待ち、
アニメーション時やカメラ移動などの何かアクションがある場合は即打ち切られます。
この値を大きくし、1フレームのサンプリング数を上げます。
ただし、その場合はfpsが落ちることになります。

「Samples per Pixel per Frame (1 to 32)」を16にして、Sun Studyのアニメーションを行いました。


以下のように、木のもやっとが緩和されました。

このとき、4.7fpsとなり、デフォルトの9.5fpsより速度低下しました。
この部分はGPUの性能が如実に影響します。
また、複数GPUを挿している場合はより速度アップする箇所になります。

パストレーシング時のレイの追跡回数をあらわす「Max Bounces」のデフォルトは4になってます。
これを3に下げると少しだけfpsは上がります。4.8fpsになりました。
2にすると光が届かない間接照明部が出てくるため(このときは5.9fps)、品質と速度を比較すると「Max Bounces」は3以上がよさそうです。

Post Processingで盛る

もう少しリアルにするために、Post Processingを調整しました。
Render SettingsのPost Processingで、
「Tone Mapping」の「Tone Mapping Operator」を「Aces」から「Iray」に変更。
「Crush Blacks」のデフォルト0.5だと少し暗い箇所が強調されているため、0.18と変更。

「FFT Bloom」を有効にし、「Scale」を1.0から0.2に変更しました。

以下のようになりました。

好みもあるかもしれませんが、個人的にはIrayのTone Mappingが好きです。

RTX-Real-Timeでの調整

RTX-Real-Time時は木がのっぺりしてしまうのと、影が少し遅れて更新される感じです。
のっぺりを緩和させていきます。

以下はデフォルト。
前述のPost Processingの変更済みのものです。

まず、Render SettingsでRay Tracingの「Indirect Diffuse Lighting」の「Ambient Light Intensity」を1.0から0.0に変更します。

以下のようになりました。

「Indirect Diffuse Lighting」の一番下で、「Enable Indirect Diffuse GI」をOnにしました。
これで、レイトレーシングのみの場合でも間接照明の疑似計算を行います。

以下のようになりました。

アニメーション再生すると以下のようになりました。


9.7fpsとなりました。

パストレーシング時には品質は及びませんが、RTX-Real-Time時でも近い感じにはできそうです。

RTX-Real-Time時に、
影を遅延ではなく即時反映する方法、
影の解像度は上げれるのか(レイトレなのでシャドウマップは使っていないとは思うのですが)、というのは分かりませんでした。

今回はここまでです。