Unreal Engine 5 グラフィックス関連Tips

34.1K Views

February 26, 24

スライド概要

第一回 Unreal Engine KYUSHU LT会の講演資料です。Shadow Methodを選ぶ際の注意点とLocal Height Fog機能を紹介しています。

profile-image

Unreal Engineを開発・提供しているエピック ゲームズ ジャパンによる公式アカウントです。 勉強会や配信などで行った講演資料を公開しています。 公式サイトはこちら https://www.unrealengine.com/ja/

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

Unreal Engine 5 グラフィックス関連Tips Epic Games Japan Software Engineer, Developer Relations Yutaro Sawada

2.

内容 ・Shadow Methodを 選ぶ際の注意点 ・Local Height Fog

3.

Shadow Methodを 選ぶ際の注意点

4.

2つの設定 r.Shadow.Virtual.Enable : 1でVirtual Shadow Maps、0だとShadow Maps

5.

注意点 - デフォルト設定 UE4からUE5に移行した場合 UE5で新規作成した場合 Shadow Maps Virtual Shadow Maps

6.

大きな違い Shadow Maps ・UE4からの手法 ・ライトやメッシュの可動性によって 様々な手法で影を表現 ・静的ライティング等の 組み合わせが可能 ・セットアップにもよるが比較的軽量 Virtual Shadow Maps ・Virtual Textureの技術を活用し 広域かつ高品質な影を表現可能 ・効率的にキャッシュシステムを 活用した場合非常に高速 ・メモリ消費量は多くなりがち

7.

VSM - 活用

8.

Virtual Shadow Mapsの概要 必要な場所に必要な解像度のTextureを利用するVirtual Textureを応用 高解像Shadow Mapを利用 Page 128 × 128

9.

Virtual Shadow Mapsのメリット・デメリット ライトの種類問わずに綺麗な影描画が可能 デフォルト設定でPoolSize(使用するメモリ)が512MB。メモリや負荷が高め

10.

VSMの挙動や設定について Unreal Engine 5 における レンダリング & デバッグTips https://www.docswell.com/s/EpicGamesJapan/5Q8Q67-2023-12-21-185240

11.

Shadow Maps - 動的Shadow メモリの考慮や目標とする品質によっては、従来のShadow Mapsを選択する場合も ・Level全域で動的Shadowを表現するためのDirectional Lightの設定を紹介

12.

Directional Light - Shadow Maps ・Directional Lightはどこまでも影響範囲があるため、 視点からの距離で領域を決め、領域を分割してShadowMapを作り、 複数枚に分けることで広範囲なShadowMapを作成 -> Cascade Shadow Maps(CSM) 1枚のShadow Depth解像度 r.Shadow.MaxCSMResolution = "2048"

13.

Directional Light - Memory ・Num Dynamic Shadow Cascade:4 4枚分の解像度 * R16 Buffer(16bit) 2048 * 4 * 2048 * 16 / 8 / 1024 / 1024 = 32MB ・Num Dynamic Shadow Cascade:3 3枚分の解像度 * R16 Buffer(16bit) 2048 * 3 * 2048 * 16 / 8 / 1024 / 1024 = 24MB

14.

Directional Light - Num Shadow Cascade

15.

Directional Light - Shadow Distance

16.

Directional Light - Shadow Distance ・範囲を広くすると、それだけ対象のオブジェクトも増える -> 負荷増加 ・高品質に描くためには解像度が必要になる -> メモリが増える ・目指す品質目標に対してバランスを取る事が必要 ・近距離だけ動的Shadowで それ以上は簡易的なShadowを表示したい -> Distance Field Shadow や Contact Shadow

17.

Directional Light - Distance Field Shadow ・プロジェクト設定からDistance Fieldの有効化が必要(日本語設定名:メッシュ距離フィールド) 有効化するとメッシュごとの必要なメモリは増える ※ソフトウェアLumenを利用する場合にも使用

18.

Directional Light - Distance Field Shadow

19.

Directional Light - 広域なShadow ・CSMで広域を見せたい場合は距離などの調整が必要 静的なShadowで問題なければDistance Field Shadowを利用し表現が可能

20.

Directional Light - Contact Shadow ・品質をそこまで求めない場合はContact Shadowも利用可能(Screen Space Shadow) Distance Fieldsを必要としないため手軽に利用することが可能

21.

Shadow Methodsまとめ ・目指す品質や動作要件によっては従来のShadow Mapsが選択肢に入ることも ・どちらの方法の場合も、それぞれ最適化が必要になりますので 必要に応じて資料等をご確認ください https://www.docswell.com/s/EpicGamesJapan/5Q8Q67-2023-12-21-185240 https://qiita.com/EGJ-Yutaro_Sawada/items/2a8a1467ebaaa9795fe0

22.

Local Height Fog

23.

UEのHeight Fogについて Exponential Height Fog Volumetric Fog 基本的には全体で調整 Volumetric Fogはローカルで調整することも可能ですが、 Niagara等でVolumetric Materialの作成が必要

24.

Exponential Height Fog 高さをベースとする描画 位置により変化

25.

Exponential Height Fog

26.

Volumetric Fog

27.

Local Height Fog 局所的に配置、コントロールが可能

28.

Local Height Fog エディタの+アイコンから ビジュアルエフェクト -> Local Height Fog

29.

Local Sphere Fog

30.

Local Height Fog - 各種設定(1)

31.

Local Height Fog - 各種設定(2)

32.

Local Height Fog - 複数置いた場合 Instanced描画となっており 複数置くことも可能

33.

Local Height Fog - まとめ これまでのFogは全体で調整 →Local Height Fogを活用することで より柔軟な調整が可能に

34.

まとめ