概要
このページは、必要な各種ソフトウェア コンポーネントおよびシステム設定が UE4 Android プロジェクト開発に使用するコンピューターへインストールおよび設定されていることを確認するための概要です。
Android SDK 要件
UE4 での Android 向けゲーム開発要件は、現在以下となっています。
コンポーネント | 環境変数 |
---|---|
|
|
コンポーネントのインストール
コンポーネントを取得する方法は何通りかあります。コンポーネントのうち既に幾つかをインストール済みの場合、対応するセクションで追加用件をご確認ください。
CodeWorks for Android 1R7u1
CodeWorks for Android 1R71 (NVIDIA 製) は、Android 開発の必要品のワンストップ ショップです。CodeWorks for Android 1R71 をインストールすれば、Android 開発要件をすべて満たすことができます。
CodeWorks for Android 1R71 のインストーラは、Windows 向け Unreal Engine 4 に含まれています。場所はこちらです。
[ENGINE INSTALL LOCATION]\Engine\Extras\Android\CodeWorksforAndroid-1R7u1-windows.exe
以下が重要な構成要素になります。
- Android SDK (ベース、プラットフォーム、ツール、ビルドツール)
- Android 4.4.2 (API 19) - SDK プラットフォーム
- Android 5.0.1 (API 21) - SDK プラットフォーム
- Android 6.0.0 (API 23) - SDK プラットフォーム
- Android N (API 24) - SDK プラットフォーム
- Android SDK サポート ライブラリ
- Android ツールチェーン
- Android NDK 12b
- Java SDK
- Apache Ant
- USB ドライバー
- オプション インストール
- Gradle
- 開発ツール (オプション)
- Nsight Tegra、 Visual Studio Edition
- USB ドライバー デフォルトのインストール セットで、最低限のコンポーネントがインストールされます。インストールをカスタマイズすると、さらにアイテムを追加できます (プロファイラなど)。インストール中は、
サブインストーラが 1 つか 2 つ表示されたままになる場合がありますが、やがて完了します。インストールの所要時間は 30 分から 45 分ほどです。コードを書く予定がないのであれば、[Customize (カスタマイズ)] を選択すると良いでしょう。 これは、SDK、Ant、Java のみインストールされるので (NDK と Nsight デバッガを抜かして)、インストールが非常に早くなります。CodeWorks for Android 1R71 の Nsight は、デバイス上で Android ゲームをデバッグするために使用されます。 C++ コードのコンパイルは必要ありません。

CodeWorks for Android 1R7u1 (NVIDIA 製) は、Android 開発の必要品のワンストップ ショップです。CodeWorks for Android 1R7u1 をインストールすれば、Android 開発要件をすべて満たすことができます。
CodeWorks for Android 1R7u1 のインストーラは、Mac 向けアンリアル エンジン 4 に含まれています。保存場所はこちらです。
[ENGINE INSTALL LOCATION]/Engine/Extras/Android/AndroidWorks-1R7u1-osx.dmg
以下が重要な構成要素になります。
- Android SDK (ベース、プラットフォーム、ツール、ビルドツール)
- Android 4.4.2 (API 19) - SDK プラットフォーム
- Android 5.0.1 (API 21) - SDK プラットフォーム
- Android 6.0.0 (API 23) - SDK プラットフォーム
- Android N (API 24) - SDK プラットフォーム
- Android SDK サポート ライブラリ
- Android ツールチェーン
- Android NDK 12b
- Java SDK
- Apache Ant
- USB ドライバー
- オプション インストール
- Gradle
- デベロッパー ツール
- Nsight Tegra、 Visual Studio Edition (オプション インストール)
- USB ドライバー
デフォルトのインストール セットで、最低限のコンポーネントがインストールされます。 インストールをカスタマイズすると、さらにアイテムを追加できます (プロファイラなど)。インストール中は、サブインストーラが 1 つか 2 つ表示されたままになる場合がありますが、やがて完了します。PC によっては、インストールに 30 分から 45 分ほどかかる場合があります。 コードの記述をする予定がなければ [Customize (カスタマイズ)] を選択する方法もあります。(NDK と Nsight デバッガを飛ばして) SDK、Ant と Java のみ をインストールするので、インストールが非常に早くなります。CodeWorks for Android 1R7u1 の Nsight は、デバイス上で Android ゲームをデバッグするためのものなので、C++ コードのコンパイルは必要ありません。

環境変数
備え付けの UE4 インストーラから CodeWorks for Android 1R7u1 をインストールしていない場合は、環境変数が正しく設定されているか確認する必要があります。
(System Control パネルで環境変数を設定、または CodeWorks for Android 1R7u1 をインストールして) インストールが完了したら、 エディタとランチャーの両方のアプリケーションを再起動が必要になります。Windows アプリケーションによる環境変数の格納方法および開始したアプリケーションに合わせて古いバージョンをパスするためです。
Android SDK が正しくインストールされていないことを示すメッセージが表示され続ける場合は、端末の再起動を推奨します。
環境変数の設定は以下の方法で行います。
- Computer アイコン上を 右クリック するか、キーボードの [Windows] - [Break] を押します。
- 左側の [Advanced system settings (詳細システム設定)] を選択します。
- [Environment Variables...(環境変数)] をクリックします。
- それぞれに変数に対して (以下を行います)。
- (以下から) 環境変数を検索して、このリスト (System または User) のいずれかに既に設定されていることを確認します。
- 見つからない場合、[System] セクションの隣にある [New...] をクリックします。
- 名前と値を入力します。
- [OK] をクリックします。
- [OK] をクリックして [Environment Variables (環境変数)] ウィンドウを閉じます。
以下は、依存する変数と、それが示す場所です。
ANDROID_HOME
- ADT をインストールしている場合は、このディレクトリを Android SDK または
sdk
ディレクトリをインストールしたディレクトリに設定します。 platform-tools
というディレクトリを含まなければなりません。
JAVA_HOME
- JDK がインストールされている場所に設定します。
jdk1.8.0_121
のようなファイル名になっています。 - その中に
javac.exe
がついたbin
というディレクトリを含まなければなりません。
ANT_HOME
- ANT を解凍した場所に設定します。
- その中に
ant.bat
がついているbin
という名前のディレクトリを含まなければなりません。
NDKROOT
- NDK を解凍した場所に設定します。
android-ndk-r11c
のようなファイル名が付きます。 ndk-build.cmd
という名前のファイルを含まなければなりません。
CodeWorks for Android 1R7u1 をインストールしていない場合は、環境変数が正しく設定されているか確認する必要があります。
(.bash_profile ファイルを編集、または CodeWorks for Android 1R7u1 をインストールして) インストールが完了したら、エディタもしくはランチャー アプリケーションを再起動する必要があります。
環境変数を設定するには、ホーム ディレクトリで .bash_profile ファイルを編集しなければなりません。 ファイルは [Finder (ファインダー)] の中に隠れているので、編集用に開くにはターミナルを使用します。 Unix ターミナル コマンドがよく分からない場合は、以下の操作をしてください。
- /Applications/Utilities から [Terminal app] を開きます。
- ファイルが存在しない場合は、「touch .bash_profile」 とタイプして作成します。
- 「open .bash_profile」 とタイプして、テキスト エディタでファイルを開きます。
-
以下の行をファイルにコピーして (SDK とツールをインストールした場所を示すパスを置き換えて) 保存します。
- export ANDROID_HOME="/Users/epicgames/Devel/NVPACK/android-sdk-macosx"
- export NDKROOT="/Users/epicgames/Devel/NVPACK/android-ndk-r12b"
- export ANT_HOME="/Users/epicgames/Devel/NVPACK/apache-ant-1.8.2"
以下は、依存する変数名と、それが示す場所です。
- ANDROID_HOME
- ADT をインストールしている場合は、Android SDK または SDK ディレクトリをインストールしたディレクトリに設定します。
- 「platform-tools」というディレクトリを含まなければなりません。
- ANT_HOME
- ANT を解凍した場所に設定します。
- その中に ANT という名前のファイルが入っている「bin」というディレクトリが含まれなければなりません。
- NDKROOT
- NDK を解凍した場所に設定し、android-ndk-r12b のような名前のファイルを探します。
- 「ndk-build」 というファイルを含まなければなりません。
Android のヒントとトリック
[Launch] メニューに自分のデバイスが表示されない場合は、以下を試してみてください。
- 数秒間待って再度確認する。接続デバイスのバックグラウンド スキャンに時間はほとんどかかりません。
- USB デバッグ接続がすべて動作していることを確認する。
- コマンド プロンプトを開く ([Windows] + [R] を押して
cmd.exe
を実行)。- 次のコマンドをタイプする:
adb devices
- 何もデバイスがリストされない場合は、USB ドライバーが正しくインストールされていません。ドライバーのインストール方法は Android デバイスのモデルによって異なります。使用しているデバイス モデルと「USB ドライバ」をオンライン検索して、 ドライバーをインストールしてください。
- さらに、使用するデバイスの Developer モードと USB デバッグがそれぞれオンになっていることを確認してください。詳細は ハードウェア デバイスを使う Android デベロッパーのためのガイド (特に 2 項と 3 項) を参照してください。
- その後で、
adb devices
コマンドが機能することを確認します。これを行わないと、エンジンがお持ちの Android デバイスと機能することができなくなってしまいます。 使用するデバイスが Launch メニューに表示されているのにデバイスに展開できない場合は、デバイスが PC に承認されていないため通信不可能になっていることが多いです。プログレスバーの [Show Log (ログを表示)] をクリックすると、
- 次のコマンドをタイプする:
最後の行は adb uninstall
を呼び出していることを示しています。
- 上記の通り、
cmd.exe
を使ってadb devices
コマンドを実行します。 - デバイスが表示されても権限がないと表示される場合は、デバイスに PC に認証させるかどうかを尋ねさせる必要があります。
- デバイスを表示させるためには、デバイスを一旦抜いて再接続する必要があるかもしれません。
- [Always allow (常に許可)] チェックボックスにチェックを入れておくことを推奨します。
[Launch] メニューにデバイスが表示されない場合は、以下を試してみてください。
- 数秒おいてから再度確認する。接続デバイスのバックグラウンド スキャンはデバイスの登録にほとんど時間がかかりません。
- USB デバッグ接続がすべて動作していることを確認する。
- ターミナル アプリケーションを開いて、以下を試してみる。
- コマンド
adb devices
をターミナルに入力する。 - USB ドライバーが正しくインストールされていないと、デバイスが何も表示されません。ドライバーのインストール方法は Android デバイスのモデルによって異なります。使用するデバイス モデルと USB ドライバ をオンライン検索して、必要なドライバーをインストールします。
- さらに、使用するデバイスの Developer モードと USB デバッグがそれぞれオンになっていることを確認してください。詳細は ハードウェア デバイスを使う Android デベロッパーのためのガイド (特に 2 項と 3 項) を参照してください。
- その後で、
adb devices
コマンドの動作確認をします。これを行わないと、エンジンが使用する Android デバイスと機能できなくなってしまいます。
- コマンド
使用するデバイスが [Launch] メニュー に表示されてもデバイスに展開できない場合は、デバイスが Mac に承認されていないため通信不可能になっていることが多いです。
プログレス バーの Show Log 行をクリックして、最後のラインが adb uninstall
の呼び出しになっていたら、以下の操作をしてください。
- ターミナル アプリケーションを開いて
adb devices
コマンドを実行する - デバイスが表示されても権限がない場合は、認証させるかどうかをデバイスが Mac に確認する必要があります。
- [Always allow (常に許可)] チェックボックスにチェックを入れて、常に Mac とデバイスが通信できる状態にしておくことを推奨します。
Android テクスチャ フォーマット
Android デバイスはすべて同じ構成をしているわけではありません。特に、レンダリング ハードウェアは 4 種類あります。それぞれが異なるフォーマットの圧縮テクスチャをサポートしています。
フォーマット | 説明 |
---|---|
ETC1 | すべての Android ベース デバイスでサポートされますが、アルファ テクスチャの圧縮はできません (圧縮されないまま格納されます)。アルファをうまく圧縮するには、RGB および別々のアルファ テクスチャの使用を推奨します。 |
ETC2 | すべての OpenGL 3.x クラス デバイスでサポートされ、アルファ テクスチャの圧縮もサポートします。 |
ATC | Qualcomm Adreno GPU でサポートされ、アルファ テクスチャの圧縮もサポートします。 |
DXT | Nvidia Tegra GPU でサポートされ、アルファ テクスチャの圧縮もサポートします。 |
PVRTC | PowerVR GPU でサポートされ、アルファ テクスチャの圧縮もサポートします。 |
ASTC | 最新のテクスチャ圧縮フォーマットで、ブロック サイズを指定して細かい品質調整を可能にします。アルファ圧縮をサポートします。現時点では使用できるデバイスは限られていますが、Vulkan Level 1 では必要になります。 |
Android プラットフォーム向けにゲームをデプロイまたはパッケージ処理を行った場合、データは Android デバイスで利用できるフォーマットへ変換されます (このプロセスを「クック」と呼びます)。各デバイスがサポートする圧縮フォーマットはそれぞれ異なるので、 クックするフォーマットはユーザーが選択します。サブメニューの [Launch] または [Package] を選択すると、Android で利用できるフォーマットが表示されます。
最初の (Android) は、事実上すべてのフォーマットを取り込んで、これらをクックしてパッケージへまとめます。処理時間は多少長めで、作成されるパッケージ サイズも大きくなりますが、 ランタイム時に最適のフォーマットを選択すれば、使用メモリは必要最低限に確実に抑えられます。すべてのデバイスに機能します (Android (ETC1)のように)。
Unreal Engine 4.8 以降のバージョンで、ES31 および AEP レンダリングを Tegra K1 デバイス上で使用できるようになりました。 現在 ES31 と AEP レンダリングをサポートしているデバイス数が限られているため、現段階ではパフォーマンスおよび互換性テストがほとんど完了していないことに留意してください。 これらのデバイスのどれかを使用する場合、プロジェクトの中でデバイスが期待する動きをするように、拡張パフォーマンスと互換テストを行うことを推奨します。
フォーマットの選択
ユーザーのみなさんは、おそらく使用デバイスに最適なフォーマットを選択されるでしょう。デバイスに搭載されている GPU のタイプがわかる場合、上記の表を参照してフォーマットを選択してください。タイプがわからない場合、[Android] または [Android (ETC1)] を選択します。ゲームの実行時にスクリーンを指 4 本で一度にタップすると、ダイアログが表示されます。このダイアログ ボックスは通常コンソールコマンド (stat fps などの) の入力に使用しますが、ユーザーのデバイスがサポートしているフォーマットも表示します。表示されたリストの中からデプロイおよびパッケージングにより適したタイプを選択します。対象デバイスでサポートしていないフォーマットが選択された場合、読み込みが失敗します。