17. UNREAL ENGINE Raytracing Night | 2019.4.24. | Tokyo 17
非リアルタイムのワークフロー
・最終的な画質は思いのほか良好
RTGI の Samples Per Pixel は上限が「64」
レイトレにアダプティブサンプリングもない
オフラインレンダラーの常識からすると粗すぎる
そのわりには妙にきれいなのでは……?
Skylight なしで RTGI のみの(超★厳しい)テスト
18. UNREAL ENGINE Raytracing Night | 2019.4.24. | Tokyo 18
非リアルタイムのワークフロー
・最終的な画質は思いのほか良好
実は基本のレイトレサンプリングはかなり粗い
Denoiser、AA などすべてオフの素の状態はこれ →
この後に 3 段構えで画質が向上する
(0)サンプリング
(1)Denoise(GI など)
(2)Temporal AA
(3)Screen Percentage による Supersampring
素のサンプリングの状態
19. UNREAL ENGINE Raytracing Night | 2019.4.24. | Tokyo 19
非リアルタイムのワークフロー
・RTGI の Denoise
GI のサンプルノイズをなじませる
間接照明のノイズがわりと消える
GI Denoiser OFF GI Denoiser ON
20. UNREAL ENGINE Raytracing Night | 2019.4.24. | Tokyo 20
非リアルタイムのワークフロー
・Temporal AA
Temporal AA は「時間的にサンプルを平均化するアンチエイリアス」
レイトレのランダムなノイズには極めて有効
AA なし Temporal AA 9 フレーム経過
21. UNREAL ENGINE Raytracing Night | 2019.4.24. | Tokyo 21
非リアルタイムのワークフロー
・Temporal AAとFXAA の比較
FXAA はそれなりに有効だが、時間的に平均化されないので動くとチラチラする
AA なし FXAA
(FXAA と Temporal AA を動画で比較)
22. UNREAL ENGINE Raytracing Night | 2019.4.24. | Tokyo 22
非リアルタイムのワークフロー
・Temporal AA にはタイムラグがある
Temporal AA の効果が現れるまでには数フレーム分の蓄積が必要 → カットの頭はジャリジャリ
動きのある部分に残像も出る(これはしょうがない、モーションブラーでなんとか……)
カット頭のフレームでは効果なし 動きのある部分に残像
23. UNREAL ENGINE Raytracing Night | 2019.4.24. | Tokyo 23
非リアルタイムのワークフロー
・シーケンサーの「ムービー出力設定> Animation」に「Warm Up」設定
「シミュレーションやポストプロセスがなじむまで待ってくれる」設定らしい……?
Temporal AA にも効くのでは?
→ 実際やってみたところ、「レンダリング出力範囲の先頭」のみ効果あり (理屈は不明の経験則)
「Delay Before Shot Warm Up」を「0.3」程度にすると出力範囲の先頭から Temporal AA が効く
ドキュメントの説明では「Delay Before Shot Warm Up」は「ショットの境界で ( リアルタイムで ) 待つ秒数です。」とあるが
実際の動作を見ると「出力範囲の先頭で ( タイムトラック時間で ) 待つ秒数」のように見える
どの設定も「ショットの境界」は効かないようだが、境界がないようカメラカット毎に分けて出力すればヨシ
24. UNREAL ENGINE Raytracing Night | 2019.4.24. | Tokyo 24
非リアルタイムのワークフロー
・Post Process Volume の「Misc」にある「Screen Percentage」
本来はリアルタイムでのフレームレートを稼ぐ目的でダウンサンプルを行うものらしい
画面の出力は 1080P だけど 3D の描画は 720P を引き伸ばしてるゲームとかありましたね、PS3 で
100% より高くした場合は Super Sampling となる → 200% にすれば実質サンプル数は 4 倍
GI でいうと「64 x 4 = 256」、Super Sampling AA の「2 x 2」に相当する(はず)
25. UNREAL ENGINE Raytracing Night | 2019.4.24. | Tokyo 25
非リアルタイムのワークフロー
・Post Process Volume の Misc にある Screen Percentage
単純な力業だが、画面全体にランダムなノイズが生じるレイトレではとても有効
定石とされているらしい「n 倍で出力して後から 1/n に縮小する」とたぶん同じ結果(整数倍の縮小ならアルゴリズムの影響はごく小さい)
100% 200%
26. UNREAL ENGINE Raytracing Night | 2019.4.24. | Tokyo 26
非リアルタイムのワークフロー
・レイトレの画質向上の流れをまとめるとこんな感じ
素の状態 GI Denoise Temporal AA Screen Percentage 200%