【講演メモ】UNREAL FEST EXTREME 2022 SUMMER - 「アイドルマスター スターリットシーズン」におけるグラフィックス実装事例と最適化事例
UNREAL FEST EXTREME 2022 SUMMER
「アイドルマスター スターリットシーズン」におけるグラフィックス実装事例と最適化事例
のメモ書きです。
・可変フレームレートを採用
→PCでは60FPS以上の駆動も行えるように。ビジュアルクオリティの上昇を目指す
UE4、Deferred Rendering採用
・描画分類
アイドル、衣装持ち物、動物
ToonShading
3D背景、小物
PBR
ポストプロセス
UE4の基本機能を利用、一部改造/追加
・トーンマッパ設定
レガシートーンマッパを利用
r.TonemapperFilm=0(UE5では利用できない)
→UE5での対応記事があった
ToonShadingについて
Shading Modelを追加している
ToonLit→アイドル&衣装
ToonHybridLit→DefaultLitとほぼ同じ挙動、一部衣装の金属など
→ShadingModelの追加実装、参考リンク
UE4.24で独自のShading Modelを追加する - Qiita
Creating a Custom Shading Model in Unreal Engine 5 - Asset Creation - Unreal Engine Forums
GBufferは一部用途変更(スライド参照)
→実装参考リンク(GBufferカスタマイズ)
エンジン改造-Gバッファの拡張 - UE4 Document@com04
レンダリングフロー(スライド参照)
ToonLitの挙動
リフレクション、LightShaftなども通常通り反映される
LightFunctionもそのまま利用できる
LightFunction
[UE4] Light Functionの基本と応用|株式会社ヒストリア
Pc,DirectX12環境でレイトレ使っている
→キャストシャドウが起きないように調整
レイトレリフレクション(反射(スライド参照)
レイトレの制約(スライド参照)
レイトレのパフォーマンス
品質を下げ、一部機能をカット
導入することが最初からわかっていたら
DLSS FSRのような超高解像度技術
DLDSR
などの導入も検討していた
キャラマテリアル→GCWorldの特集あり
NdotLを利用したトゥーン描画が基本
2Dの特殊効果
背景に対してフローマップを適用して動きをつける。川、水面など
それ以上のことはエフェクト
Cinematic DOF
焦点範囲の調整が出来るように改造
コード例あり
半透明問題
アルファに補正をいれて浮き出ないようにする
ここらへんの問題
【UE4】被写界深度半透明物体共生戦略手法零式(Type-0) - だらけ者だらけ
FrameBufferのキャプチャ
SceneCaptureやFrameGrabberは重かった
描画結果を2箇所のタイミングでキャプチャ出来る機能作成
UDNでのやりとりがあった
RDG
https://docs.unrealengine.com/5.0/en-US/render-dependency-graph-in-unreal-engine/
最適化
DefaultEngine.iniの設定色々(スライド参照)
観客
5万人前後の観衆
Foliageとして設置している
Foliage ツール | Unreal Engine ドキュメント
恐らくHISMでの描画
UE4 Instanced Static MeshとHierarchical Instanced Static Meshの違い - Let's Enjoy Unreal Engine
PerInstanceRandom...インスタンス毎にランダムの値を与える
@nasubi_s 横から失礼します。"Per Instance Random"を使えばインスタンス毎にランダムな値(0~1)を拾えるので、マテリアルの中で添付画像のように組んでいけばカラーやテクスチャを切り替えられますよー pic.twitter.com/uh8HgNOBO6
— テツオ (@tetsu_oh) 2016年5月7日
VATでアニメーション。VATのLODも作る
GlobalClipPlane
PlanerReflectionを利用するため、GlobalClipPlaneを有効に。
頂点シェーダにSV_ClipDistanceのシステムセマンティックが宣言されてしまうため
PlanarReflectionと関係ないメシュについては、SV_ClipDistanceを宣言させないように改造
多人数ライブ
CPUへの作業割当を調整
PCO→あんまり効果が出なかった
→保守コストもあり適用しない