ほとんどの新規 Unreal Engine (UE) プロジェクトには、すぐに使用できる強力なレンダリング機能が多数備わっており、チームでは不要な機能を削除または無効にして、プロジェクトを最適化することが期待されています。
モバイルや自動車の HMI プロジェクトではハードウェアを最大限に活用し、可能な限り応答性の高いユーザー エクスペリエンスを提供します。 そのため、このタイプのプロジェクトで最も生産的なワークフローは、可能な限り最小限の機能セットから開始し、含める機能を慎重に選択することです。
このガイドでは、最小限の仕様を備えたテンプレート プロジェクトを設定する手順と、パフォーマンス志向の新規プロジェクト向けに UE のオーバーヘッドを最小限に抑える方法を説明します。
これらの手順に基づいて最初にアセットをプロジェクトにインポートすると、無効にされたレンダリング機能によってアセットの忠実度が損なわれる可能性があります。 可能な限り高い忠実度でアセットを表示したい場合は、高い忠実度向けに設定された別のプロジェクトにインポートすることをお勧めします。
プロジェクトを作成する
プロジェクトを設定するには、次のガイドをお勧めします。
Android クイック スタート (Android および HMI デベロッパー向け)
iOS クイック スタート ガイド (iOS、tvOS、iPadOS デベロッパー向け)
これにより、デバイス上でモバイル プロジェクトをサポートしてパッケージ化するために必要なすべてのコンポーネントを設定することができます。
プラグインを無効にする
デフォルトでは、UE には数多くのプラグインが有効になっているため、ユーザーはさまざまなツールやプラットフォームを試すことができます。 このセクションでは、モバイル プロジェクトに影響を与えないプラグインをすべて削除する方法について説明します。
不要なプラグインを無効にするには、次の手順を実行します。
コンピュータでプロジェクトのディレクトリを見つけます。
.uprojectファイルは、プロジェクトのルート フォルダにあります。.uprojectファイルを右クリックして、テキスト エディタで編集します。.uprojectファイルの [Plugins (プラグイン)] セクションで、次のテキストをコピーして貼り付けます。Console Output"Plugins": [ { "Name": "SteamVR", "Enabled": false }, { "Name": "MagicLeapMedia", "Enabled": false }, {必要なプラグインは、後からプラグイン マネージャーで再有効化することができます。
C++ プロジェクトを使用している場合は、
.uprojectファイルを右クリックしてから[Generate Project Files (プロジェクト ファイルを生成する)] をクリックし、IDE のプロジェクト ファイルを再生成します。Unreal Editor を再起動し、プロジェクトをロードします。
プロジェクトを低スケーラビリティ設定に調整する
スケーラビリティ設定は、シャドウ、ライティング、テクスチャ品質などの設定グループのプリセットです。 各設定では複数のコンフィグ変数を使用し、それらを Low (低)、Medium (中)、High (高)、Epic (エピック)、および Cinematic (シネマティック) の品質レベルに分類します。 Low は最小限まで抑えた設定を表し、Epic はリアルタイム アプリケーション向けに使用する最高の設定を表します。
UE では通常、新規プロジェクトのスケーラビリティ設定を Epic に設定し、新しいアート アセットをインポートする際に可能な限り最高のビジュアルを提供します。 このセクションでは、簡単にすべてのスケーラビリティ設定を Low に設定し、最小限のオーバーヘッド プロジェクトから機能セットを構築する方法について説明します。
スケーラビリティ設定を調整するには、次の手順を実行します。
Unreal Editor でプロジェクトを開きます。
メイン ツールバーで [Settings (設定)] ボタンをクリックします。
[Engine Scalability Settings (エンジンの拡張機能設定)] サブメニューを選択します。 [Low] をクリックして、すべてのスケーラビリティ グループを最も低い設定に調整します。
エディタでスケーラビリティ設定を変更しても、最終ビルドには影響しません。 Unreal Engine ではコンフィギュレーション ファイル (.ini) を使用して、起動時にロードされる値を設定します。 スケーラビリティ設定は「Engine/Config/BaseScalability.ini」およびプラットフォーム固有のコンフィグ ファイル (「Engine/Config/Android/AndroidScalability.ini」など) で定義されます。
コンフィグ ファイルは、次の画像に示す順序で優先されます。
デバイスごとにデバイス プロファイル内に値を設定する方法については、「Android のデバイス プロファイルとスケーラビリティをカスタマイズする」を参照してください。
スケーラビリティ設定の詳細については、「パフォーマンス プロファイリングと構成の概要」や「拡張性のリファレンス」を参照してください。
プレビュー プラットフォームを設定する
プレビュー プラットフォームは Unreal Editor のビューポートで再現するターゲット プラットフォームです。 インエディタのプレビュー プラットフォームは、ターゲット プラットフォームでアプリケーションがどのように表示されるかを予測するものです。 より正確なテストを行うには、実際のデバイス、Android Studio の Android エミュレータ、または Xcode の iOS エミュレータでテストすることが重要です。 ただし、プレビュー プラットフォームを使用することで、エディタから直接、ビジュアルを簡単に確認することができます。
プレビュー プラットフォームを設定するには、以下の手順を実行します。
エディタのメイン ツールバーで [Settings (設定)] ボタンをクリックします。
[Preview Platform (プレビュー プラットフォーム)] のサブメニューを選択します。
エディタでエミュレートするプラットフォームを選択します。
Unreal Editor で新しいプラットフォームのシェーダーが再コンパイルされるまで、しばらく時間がかかりますが、完了すると、選択したプレビュー プラットフォームのデバイス プロファイルが反映されたビジュアルが表示されます。 また、.json ファイルをテスト デバイスから読み込み、そのデバイス固有のデバイス プロファイルと設定を使用して、より詳細に調整されたプレビューを表示することもできます。
プレビュー プラットフォームの設定の詳細については、「モバイル プレビューア」のドキュメントを参照してください。
Android のデベロッパーと HMI のデベロッパー向けに、UE では Vulkan レンダリング機能レベルをサポートしています。 UE での Vulkan の互換性の詳細については、「Android Vulkan モバイル レンダラ」ページを参照してください。
参考文献
プロジェクトのオーバーヘッドが削減されたので、この機会にさまざまな設定をテストして、アプリケーションの忠実度とパフォーマンスへの影響を確認してみましょう。
パフォーマンス プロファイリングの概要については、「パフォーマンス プロファイリングと構成の概要」を参照してください。 少なくとも Stat コマンドを使用してアプリケーションをプロファイリングできるようにしておくことをお勧めしますが、Unreal Insights と RenderDoc も使用できるように準備しておくのが理想的です。
これらのリソースを設定したら、モバイル固有のパフォーマンスに関する考慮事項とスケーラビリティのツールの概要について、「モバイルのグラフィック パフォーマンスを構成する」を参照してください。