このページでは、Android デバイスへデプロイするための Unreal Engine (UE) 全体をパッケージ化する方法について説明します。UE で Android プロジェクトを簡単にパッケージ化し、便利なファイルに出力して、スマートフォンでテストするためにプロジェクトをインストール / アンインストールすることができます。
基本設定
まず、以下の要件およびプロジェクト設定を満たしていることが必要です。
- Android Studio をコンピュータに設定する必要があります。「SDK と NDK をセットアップする」を参照してください。
- 使用する Android デバイスの Development Mode と USB Debugging を有効にします。「開発用に Android をセットアップする」を参照してください。
- Android 用に プロジェクト設定 を設定し Android SDK ライセンス契約に同意する必要があります。「Android クイックスタート」を参照してください。
まだプロジェクトを作成していない場合は、Third-Person Template の [Target Hardware] を [Mobile/Tablet]、また品質を [Scalable] に設定してプロジェクトを作成してください。
1. プロジェクトをパッケージ化する
このセクションでは、プロジェクトを .APK
ファイルとしてパッケージ化します。
このゲームは現在テスト中なので [Development] にパッケージ化しますが、ゲームが完成したら、[Shipping] を使用してパッケージ化することができます。[Platforms] > [Android] へ移動してパッケージングの設定をするために [Shipping] を選択します。
- [File] メニューで [Package Project] > [Android] を選択し、パッケージ化したいテクスチャ フォーマットを選びます。この例では、すべてのデバイスがサポートしている Android ETC2 を使うことにします。
どのハードウェアで実行するかによって、サポートするテクスチャ フォーマットはデバイスごとに異なります。各種フォーマットの詳細は「Android 開発リファレンス」を参照してください。
形式 | 説明 |
---|---|
ETC2 | すべての OpenGL 3.x クラス デバイスでサポートされ、アルファ テクスチャの圧縮もサポートします。 |
DXT | Nvidia Tegra GPU でサポートされ、アルファ テクスチャの圧縮もサポートします。 |
ASTC | 最新のテクスチャ圧縮フォーマットで、ブロック サイズを指定して細かい品質調整を可能にします。アルファ圧縮をサポートします。現時点では使用できるデバイスは限られています。 |
既存プロジェクトをサポートするために Unreal Engine の古いバージョンを使用している場合は、以下のレガシー テクスチャ形式も利用することができます。
形式 | 説明 |
---|---|
ETC1 | すべての Android ベース デバイスでサポートされますが、アルファ テクスチャの圧縮はできません (圧縮されないまま格納されます)。アルファをうまく圧縮するには、RGB および別々のアルファ テクスチャの使用を推奨します。 |
ETC1a | アルファ値を持たないテクスチャに ETC1、アルファ テクスチャに ETC2 を使用します。デバイスが ETC2 をサポートしていない場合、アルファ テクスチャは実行時に RGBA に展開されます。RGBA は ETC1 と ETC2 の両方で使用できますが、アルファ値を含まないテクスチャに ETC1 を使用した場合、ETC2 の場合ほど高い品質は得られません。 |
ATC | Qualcomm Adreno GPU でサポートされ、アルファ テクスチャの圧縮もサポートします。 |
PVRTC | PowerVR GPU でサポートされ、アルファ テクスチャの圧縮もサポートします。 |
- パッケージ化したゲームの保存場所を聞かれます。保存場所のデフォルトはプロジェクト フォルダです。新規フォルダを作成し、「Android_Builds」と名前を付けます。
-
ゲームのパッケージ化処理中は、処理の進捗状況が右下隅に表示されます。
-
パッケージ化が正常に終了すると、パッケージ化の完了メッセージがエディタの右下隅に表示されます。
-
ステップ 2 で作成したフォルダを開くと、
2.パッケージ化したプロジェクトをデバイスへデプロイする
プロジェクトを .APK
にパッケージ化したので、このセクションではビルドをデバイスにデプロイする方法を説明します。
-
Android デバイスを USB ケーブルで PC に接続します。プロンプトが表示されたら、PC にファイル変更を許可します。
-
Android_ETC1 フォルダを開いて `Install_[ProjectName]_Development.bat バッチ ファイルを ダブル クリック して、Android デバイス上にプロジェクトをインストールします。
実行時にデバイスが USB で接続されていないと、.BAT
ファイルは何も処理しません。
-
Android デバイスを USB ケーブルで PC に接続します。プロンプトが表示されたら、PC にファイル変更を許可します。
-
Android_ETC2 フォルダを開いて Install__Development_armv7-es3.command バッチ ファイルを [ProjectName]ダブル クリック して、Android デバイス上にプロジェクトをインストールします。
実行時にデバイスが USB で接続されていないと、
.command
ファイルは何も処理しません。-
Android デバイスを USB ケーブルで PC に接続します。プロンプトが表示されたら、PC にファイル変更を許可します。
-
「Android_ETC2」フォルダを開いて、パッケージ化プロセスで作成したファイルを確認します。
インストール および アンインストール シェル スクリプト (.sh) に加え、ETC1 圧縮スキームをサポートする Android デバイスにプロジェクトをインストールするのに必要なすべてのファイルを含んだ Android アプリケーション パッケージ (.apk) があります。
- フォルダ内を右クリックし、[Open in Terminal (ターミナルで開く)] を選択して、このフォルダの場所からターミナルを開きます。
- ターミナルに「
./Install_LinuxAndroidProject_Development-arm64.es2.sh
」と入力して、Android デバイスにプロジェクトをインストールします。シェル スクリプトの実行で問題が発生した場合は、ターミナルに「
adb devices
」と入力して、デバイスがコンピュータに接続しているかどうかを確認します。 - インストール プロセス中、シェル スクリプトによってターミナルに次の出力が表示されます。
シェル スクリプトによるインストール処理が完了すると、「Installation successful」 メッセージが表示されます。
この操作ガイドを終了すると、プロジェクトは Android デバイス上に以下の画像のように表示されます。
さらに、
.APK
ファイルおよび関連するヘルパをテストするために、他のデバイスへデプロイします。App Bundles をパッケージ化する
Android App Bundles は
.APKs
をパッケージする別の手段として Google から提供されている配布形式です。さまざまなデバイスのサブセットに対して異なる.APKs
を作成するかわりに、単一の Android App Bundle build (.aab
) を作成し、Google Play Store へアップロードすることができます。その後ストアのダイナミック ディストリビューション システムは、アプリケーションがダウンロードされた時に App Bundle のコンテンツを使ってユーザーの専用デバイスに対して最適化された.APKs
を生成します。Google Play Store でのビルドの維持に関わる作業を十分考慮するだけなく、App Bundle builds は
.APKs
をこれまの 100 MB から最大 150 MB で配布することができます。この制限は最終的な.APKs
に適用されます。.APKs
を生成するための App Bundle には適用されません。App Bundle Build を作成するには、Project Settings を開き、[Platforms] > [Android] セクションを開きます。[App Bundles] セクションで [Generate Bundle (AAB)] を有効にします。
プロジェクトを Android 用にパッケージ化するには、
.aab
ファイルを生成して Google Play にアップロードします。テストのためにユニバーサルな.apk
を生成することもできます。Google Play Store の制約により、Android App Bundles は
.obb
ファイルで配布することはできません。App Bundle ビルドを設定するための別の設定を使って、プロジェクト用の最終的な
.apks
の生成に App Bundle が使用する感度の微調整ができます。設定項目 説明 Generate Universal APK from Bundle (バンドルからユニバーサル APK を生成) この設定により App Bundle がどのデバイスでも実行可能な、エンドユーザー向けのユニバーサルな .apk ファイルを生成することができます。マシンでテストするために生成したユニバーサルな .apk には影響を与えません。 Enable ABI Split (ABI 分割を有効化) App Bundle はユーザーの CPU で使用される Application Binary Interface に基づいて別の .apk を生成します。例: arm64-v8a, x86, x86_64. Enable language split (言語分割を有効化) App Bundle はユーザーの言語に基づいて別の .apk を生成します。ユーザー用にローカライズされたストリングのみダウンロードされます。 Enable density split (密度分割を有効化) App Bundle は画像解像度と DPI に基づいて別の .apk を生成します。ユーザーのデバイスと互換性のあるアイコンおよびスプラッシュ画面のみダウンロードされます。 たとえば、ABI 分割を有効にして言語分割を無効にした場合、.
.aab
は ユーザーのデバイスに互換性のある ABI に基づいてユーザーのデバイスに対して最終的なAPK
を調整しますが、すべてのユーザーはデバイス設定や言語設定に関係なく全言語のリソースを受け取ります。デフォルト設定では最終的な
.apk
が可能最小サイズになり、デフォルト設定を無効にすると.APKs
は大きくなります。.APKs
または.AABs
を Google Play Store にアップロードする方法については、「Android でシッピングする」を参照してください。
-