Slide 1

Slide 1 text

学園アイドルマスターの アイドルをより輝かせる ライティング手法 QualiArts 渡邉俊光

Slide 2

Slide 2 text

自己紹介 渡邉俊光 - 2012年CyberAgent新卒入社 - 株式会社QualiArtsのテクニカルアーティスト室所属 - オルタナティブガールズ等の開発を経て、 学園アイドルマスターのレンダリング実装を担当 THE IDOLM@STER™ & ©Bandai Namco Entertainment Inc. 配信元 ㈱バンダイナムコエンターテインメント

Slide 3

Slide 3 text

学園アイドルマスター - 2024/5/16 サービス開始 - 歌とダンスが上手くなるアイドル育成シミュレーション THE IDOLM@STER™ & ©Bandai Namco Entertainment Inc. 配信元 ㈱バンダイナムコエンターテインメント

Slide 4

Slide 4 text

Contents 実行環境 ライティング 反射 まとめ

Slide 5

Slide 5 text

実行環境 1

Slide 6

Slide 6 text

実行環境 - Unity2022.3.21f1 - UniversalRenderPipeline 14.0.10 - プラットフォーム - Android Vulkan - iOS Metal iOS GPU Family4 - ※リリース時点 THE IDOLM@STER™ & ©Bandai Namco Entertainment Inc. 配信元 ㈱バンダイナムコエンターテインメント

Slide 7

Slide 7 text

ライティング 2

Slide 8

Slide 8 text

ライティング機能 - 不透過 DeferredLighting - 透過 Forward+ - キャラクター 自作Forward - デカールライト - Distance ShadowMask - Hi-Z SSR - Hi-Z SSAO (Amplify Occlusion) THE IDOLM@STER™ & ©Bandai Namco Entertainment Inc. 配信元 ㈱バンダイナムコエンターテインメント

Slide 9

Slide 9 text

Deferred Lighting - DeferredLightingとは先に法線やマテリアル情報等を事前に生成 その後それらのデータを使用してライティング - ライブのライト制限数を解決するため、DeferredLightingにすることを 最初から決めていた - URP12からUnity標準でDeferredLightingに対応 - GBufferPassは標準のまま使うとパフォーマンスと拡張に向いていない - 自作してDeferredLightクラスを使用した方がいい - GBufferLayoutは様々なパターンを検証 - 一番パフォーマンスと機能性が高くなるように - https://docs.unity3d.com/Packages/[email protected]/ manual/rendering/deferred-rendering-path.html THE IDOLM@STER™ & ©Bandai Namco Entertainment Inc. 配信元 ㈱バンダイナムコエンターテインメント

Slide 10

Slide 10 text

THE IDOLM@STER™ & ©Bandai Namco Entertainment Inc. 配信元 ㈱バンダイナムコエンターテインメント

Slide 11

Slide 11 text

GBuffer Layout R G B A GBuffer 0 (Memoryless) R8G8B8A8_SRGB Albedo Albedo Albedo MainShadow + ShadowMask R GBuffer 1 (Memoryless) R8G8B8A8_UNorm Metallic Occlusion Smoothness ShadowMaskGBA (3:3:2) GBuffer 2 R16G16B16A16_SFloat Normal (Motion Vector) Normal (Motion Vector) Normal (Depth) Material Flags Light Layer GBuffer 3 B10G11R11_UFloatPack32 Emission Emission Emission - GBuffer 4 B10G11R11_UFloatPack32 GI (Lit Color) GI (Lit Color) GI (Lit Color) - THE IDOLM@STER™ & ©Bandai Namco Entertainment Inc. 配信元 ㈱バンダイナムコエンターテインメント

Slide 12

Slide 12 text

SceneView THE IDOLM@STER™ & ©Bandai Namco Entertainment Inc. 配信元 ㈱バンダイナムコエンターテインメント

Slide 13

Slide 13 text

ライト配置ルール - シーン内は特に制限なくライトを配置していいが画面内のライトは32個まで - LightCookieManagerが32個までしか保持できず描画バグが発生するので注意 - GameViewから見えるライトは各ピクセルに対して5個以上極力重ならないように - RenderingDebuggerがDeferredに対応していないので改造して対応 - シーン上は280個程度存在 THE IDOLM@STER™ & ©Bandai Namco Entertainment Inc. 配信元 ㈱バンダイナムコエンターテインメント

Slide 14

Slide 14 text

デカールライト - UnityLightと別にRenderTextureの 色を拾いライティングを行う - 計算処理はUnityLightと同じなので 無駄を削ったライトのイメージ - エリアライト, カプセルライト, ポイントライトの3種類を用意 - Instancingで一括描画 (このシーンは110個程度) THE IDOLM@STER™ & ©Bandai Namco Entertainment Inc. 配信元 ㈱バンダイナムコエンターテインメント

Slide 15

Slide 15 text

反射 3

Slide 16

Slide 16 text

直接光反射 1. PlanarReflection(平面反射)実行 2. ScreenSpaceReflectionトレース 3. ScreenSpaceReflection解決(キャラを含まない1フレーム前の描画結果を使用) 4. Smoothness用MipmapBlur THE IDOLM@STER™ & ©Bandai Namco Entertainment Inc. 配信元 ㈱バンダイナムコエンターテインメント

Slide 17

Slide 17 text

間接光反射 - ReflectionProbeの計算はForward+のデータを使用 - デカールで法線等が書き換わるので遅延させる必要がある - ReflectionProbeの値を上書きするLocalReflection - 元々ReflectionProbeをBox扱いでDeferredLighting していたがForward+の方が負荷が低い - 直接光反射がある場合はブレンド THE IDOLM@STER™ & ©Bandai Namco Entertainment Inc. 配信元 ㈱バンダイナムコエンターテインメント

Slide 18

Slide 18 text

まとめ 4

Slide 19

Slide 19 text

機種依存問題 - 問題端末 Pixel6, iPhone12 - この2機種に関連する問題は相当数発生した - 例: iPhone12でForward+を実行するとクラッシュ - 例: Pixel6のAndroid14でReflectionProbeが正しく描画されない - 今後は必ずこの2機種でチェックしないと痛い目を見る - Vulkan必須にすることで実装方法の分岐がないのはだいぶ楽になる THE IDOLM@STER™ & ©Bandai Namco Entertainment Inc. 配信元 ㈱バンダイナムコエンターテインメント

Slide 20

Slide 20 text

まとめ - ライトは多ければ多いほどリッチに見える - Deferredは負荷削減にかなりの覚悟が必要 - 問題が発生しやすい端末に注意 - ぜひアプリをインストールしてチェックしてみてください THE IDOLM@STER™ & ©Bandai Namco Entertainment Inc. 配信元 ㈱バンダイナムコエンターテインメント