25.8K Views
January 05, 22
スライド概要
講演動画 https://www.youtube.com/watch?v=MU_uq9NziUU
2021年11月27-28日に開催されたCEDEC+KYUSHU 2021 ONLINEの講演資料です
Unreal Engine 4(UE4)は現在最新リリースの4.27が最後のバージョンであり、正式リリースのUE5にも繋がる予定です。そこで、本講ではUE4.27で活用できる開発Tipsについてご紹介いたします。
http://cedec-kyushu.jp/2021/session/23.html
Unreal Engineを開発・提供しているエピック ゲームズ ジャパンによる公式アカウントです。 勉強会や配信などで行った講演資料を公開しています。 公式サイトはこちら https://www.unrealengine.com/ja/
4.27で改善されたモバイル向けの機能について Epic Games Japan Yutaro Sawada
モバイル向けレンダラーの現在 モバイルフォワード デフォルトで使用される フォワード形式のレンダラー 軽量化のため一部の機能が制限 モバイルディファード モバイルデスクトップ ディファード形式のレンダラー 実験的 (Android) / ベータ機能 (iOS) モバイル向けに軽量化されている ディファードレンダラーで、 フォワードでは利用できない描画な どを行うことができる PC版で表現されているような描画を 実現するためのレンダラー ハイスペックな端末を必要とする GLES3.1(Android) Vulkan(Android) Metal(iOS)
モバイル向けレンダラーの現在 モバイルフォワード デフォルトで使用される フォワード形式のレンダラー 軽量化のため一部の機能が制限 モバイルディファード モバイルデスクトップ ディファード形式のレンダラー 実験的 (Android) / ベータ機能 (iOS) モバイル向けに軽量化されている ディファードレンダラーで、 フォワードでは利用できない描画な どを行うことができる PC版で表現されているような描画を 実現するためのレンダラー ハイスペックな端末を必要とする GLES3.1(Android) Vulkan(Android) Metal(iOS)
モバイル向けレンダラーの現在 モバイルフォワード デフォルトで使用される フォワード形式のレンダラー 軽量化のため一部の機能が制限 モバイルディファード モバイルデスクトップ ディファード形式のレンダラー 実験的 (Android) / ベータ機能 (iOS) モバイル向けに軽量化されている ディファードレンダラーで、 フォワードでは利用できない描画な どを行うことができる PC版で表現されているような描画を 実現するためのレンダラー ハイスペックな端末を必要とする GLES3.1(Android) Vulkan(Android) Metal(iOS)
モバイル向けレンダラーの現在 モバイルフォワード デフォルトで使用される フォワード形式のレンダラー 軽量化のため一部の機能が制限 モバイルディファード モバイルデスクトップ ディファード形式のレンダラー 実験的 (Android) / ベータ機能 (iOS) モバイル向けに軽量化されている ディファードレンダラーで、 フォワードでは利用できない描画な どを行うことができる PC版で表現されているような描画を 実現するためのレンダラー ハイスペックな端末を必要とする GLES3.1(Android) Vulkan(Android) Metal(iOS)
モバイル向けレンダラーの現在 モバイルフォワード デフォルトで使用される フォワード形式のレンダラー 軽量化のため一部の機能が制限 モバイルディファード モバイルデスクトップ ディファード形式のレンダラー 実験的 (Android) / ベータ機能 (iOS) モバイル向けに軽量化されている ディファードレンダラーで、 フォワードでは利用できない描画な どを行うことができる PC版で表現されているような描画を 実現するためのレンダラー ハイスペックな端末を必要とする GLES3.1(Android) Vulkan(Android) Metal(iOS)
モバイル向け FXAA およびDesktop TAAの対応 ・モバイル向けでのAnti-Aliasing(AA)処理は、 従来Multisample Anti-Aliasing (MSAA)とMobile Temporal AA(Mobile TAA)が存在 ・4.27からモバイル向けに新たにFXAAとDesktop Temporal AA(TAA)を追加 クオリティの高いAAが可能に NoAA Mobile TAA 2x MSAA FXAA Desktop TAA Frame : 580820 clock Frame : 633280 clock (TAA Pass: 43362 clock) Frame : 953453 clock Frame : 668267 clock (FXAA Pass: 86290 clock) Frame : 659005 clock (Velocity Pass: 83701 clock) (TAA Main Pass: 544 clock) 環境 : Pixel 4, 1512x720 (r.ScreenPercentage 50) Snapdragon profiler計測
FXAAの設定について ・Project設定でMobile MSAAをNo MSAAに設定 ・Configやコマンドからr.DefaultFeature.AntiAliasingを1に変更(ランタイムで変更可能)
Mobile Desktop Gen4 Temporal AA設定方法 ・プロジェクト設定で、モバイルでデスクトップGen4 TAAをサポートしますを有効化 Anti-Aliasing MethodをTemporalAAに設定 Mobile MSAAをNo MSAAに設定 mobileHDRを有効化 ・PCと同様の設定 r.PostProcessAAQualityが3で有効化
モバイル ディファード レンダリングの改善 モバイルディファードレンダリングへの切り替え方 ・DefaultEngine.iniなどにr.Mobile.ShadingPath=1を追加 ・プロジェクト設定のAndroid - Vulkanをサポートを有効化 ・再起動するとモバイルプレビューなどにも適用 4.27で行われたアップデート ・IESライトプロファイルへ対応 ・Light Functionの対応 ・Simple Lightの対応
IESライトプロファイルへ対応 ・Illuminating Engineering Society (IES) は、 現実世界の測定データを使用した光源からの分布データをファイル形式として定義 ・プロファイルを利用することで現実世界にある特定の照明器具における 輝度やフォールオフを表現し、ライティングに反映させることができる [必要な設定] EngineShowFlags.TexturedLightProfiles 1 IES ライト プロファイル ドキュメント https://docs.unrealengine.com/4.26/ja/BuildingWorlds/LightingAndShadows/IESLightProfiles/
Light Functionの対応 モバイルディファード時のLight Functionに対応 PC上と同様にLight functionマテリアルを作成後、 ライトの設定項目からマテリアルをセットすることで設定が可能 Light 関数 https://docs.unrealengine.com/4.27/ja/BuildingWorlds/LightingAndShadows/LightFunctions/
Simple Lightの対応 [Simple Lightとは] ・Simple Lightは主にエフェクト(CascadeやNiagara)で使用されるLightの描画処理 [背景] モバイルディファードでは、r.Mobile.UseClusteredDeferredShadingが有効な場合、 Clustered Deferred Shadingが行われる。これは描画領域ごとに必要なLightを分けてクラスター化し、 カリングなどを行った後レンダリングする手法。 Clustered Deferred Shadingが有効な場合は、Simple Lightも上記の処理内で扱われる。 しかしCluster Deferred Shadingはこの処理自体ある程度の負荷があり、 ライトの数や端末スペックによっては、無効化した方が良い場合も [対応] 今回Simple Lightを軽量なパスで描画を行う対応が追加 r.Mobile.UseClusteredDeferredShadingを無効化することで高速化する可能性がある
Android Game Development Extension(AGDE)の対応 ・Visual Studioからビルドから転送、デバッグ有りで実行することが可能に
AGDEのインストール ・今回の検証ではUE4.27.1でプラグインは以下のバージョンを使用 Windows Stable AndroidGameDevelopmentExtensionSetup-v21.1.46.exe https://developer.android.com/games/agde
AGDEのセットアップ ・プラグインのインストール後、VisualStudio用プロジェクト(.sln)を再生成 ・その後VisualStudio上でソリューションプラットフォームをAndroidにすると、 接続している機種を選択するためのメニューボックスが追加される
AGDEを利用したデバッグ起動 ・デバッグの開始(F5)や、デバッグなしで開始、またはツールバーで選択した機種名をクリックすると ビルドと転送を行い実機で起動する。(デバッグ有りの場合自動でアタッチされる)
AGDEを利用したデバッグの注意点 ・現在4.27.1で初めてVisualStudioからビルド実行する際に正しく起動できない 従来のエディターでパッケージ作成、転送を1度行うことで2回目からは実行可能 ・デバッグ起動時に例外が出てしまうが、続行することでデバッグが可能
Visual Studioを用いたデバッグ ・無事起動すると、Visual Studioでデバッグが可能に Visual Studioから実行が可能になるとC++コードの開発などイテレーションが早くなるためおすすめ
AGDEのその他ツールについて ・Visual StudioのツールバーにAndroid Game Development Extensionを追加
AGDEのその他ツールについて ・ツールバーからLogcatを開いたり、 端末内のファイルをみることができるAndroid Device Explorerを起動することが可能
プロファイラの起動について ・ツールバーからプロファイラを起動可能 4.27から対応したメモリプロファイラも、こちらから確認できる
プロファイラの利用方法について
4.27で追加されたモバイル向けの機能等について -まとめ-