概要
Android 開発リファレンスの各ページでは、Unreal Engine (UE) の Android プロジェクトの開発に利用するコンピュータに必ずインストールおよび設定する必要がある、さまざまなソフトウェア コンポーネントおよびシステム設定に関する概要を示しています。
Android の開発要件
Unreal Engine の現在のバージョンに必須の SDK コンポーネントおよび互換性のあるハードウェアの詳細については、「Android の開発要件」のページを参照してください。
環境変数
提供された UE のインストーラから CodeWorks for Android 1R7u1 をインストールしていない限り、一部の変数が適切に設定されているかどうか確認する必要があります。
インストールが完了 (システムのコントロール パネルで環境変数を設定するか、CodeWorks for Android 1R7u1 をインストール) したら、エディタと Launcher の両方のアプリケーションを再起動する必要があります。
これは、Windows アプリケーションでは、環境変数を保存してから、起動するアプリケーションに古いバージョンがパスされるためです。
Android SDK が適切にインストールされていないことを示すメッセージが引き続き表示される場合は、コンピュータを再起動することをお勧めします。
環境変数を設定するには:
コンピュータ アイコンを右クリックするか、またはキーボードの Windows-Break を押します。
左側の [Advanced system settings (システムの詳細設定)] を選択します。
[Environment Variables... (環境変数...)] をクリックします。
各変数 (以下を参照) に対し、以下のことを行います。
[OK] をクリックし、[Environment Variables (環境変数)] ウィンドウを閉じます。
利用する変数と、それが指す場所を以下に示します。
ANDROID_HOME
JAVA_HOME
AGDE_JAVA_HOME
ANT_HOME
NDKROOT
CodeWorks for Android 1R7u1 をインストールしていない限り、一部の変数が適切に設定されているかどうか確認する必要があります。
インストールが完了 (.bash_profile ファイルを編集するか、CodeWorks for Android 1R7u1 をインストール) したら、エディタと Launcher の両方のアプリケーションを再起動する必要があります。
環境変数を設定するには、home ディレクトリ内の .bash_profile ファイルを編集する必要があります。
Finder ではこのファイルは非表示になっているため、編集するために開くにはターミナルを利用する必要があります。
Unix ターミナル コマンドに詳しくない場合は、次のことを行ってください。
/Applications/Utilities から ターミナル アプリ を開きます。
まだ存在しない場合は、「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
ANT_HOME
NDKROOT
Android のヒントとコツ
[Launch (起動)] メニューのリストにデバイスが表示されていない場合は、次のことを試してください。
数秒待機してから再度確認します。バックグラウンドで接続されたデバイスをスキャンするには少し時間がかかることがあります。
USB のデバッグ接続が機能していることを確認します。
コマンド プロンプトを開きます (Windows+R を押し、「cmd.exe
」を実行する)
コマンド「adb devices
」を入力します
リストに表示されるデバイスがない場合は、USB ドライバが適切にインストールされていません。ドライバのインストール方法は、お使いの Android デバイスによって異なります。オンラインでデバイス モデルと「USB ドライバ」で検索し、
ドライバをインストールします。
さらに、デバイスで Developer モードが有効になっていて、USB デバッグがオンになっているのを確認する必要があります。詳細については、ハードウェア デバイスを使う Android デベロッパーのためのガイド (特に 2 項と 3 項) を参照してください。
その後、adb devices
コマンドが機能することを確認します。これがないと、Engine は Android デバイスで何も行うことができません。
お使いのデバイスが [Launch] メニューに表示されたものの、デバイスへのデプロイが滞っている場合、最もよくあるのはデバイスが PC と通信することを許可されていないことによるものです。進捗バーの [Show Log (ログを表示)] をクリックすると、
最後の行は `adb uninstall`を呼び出していることを示している場合があります。
上記のとおり、cmd.exe
を使って adb devices
コマンドを実行します。
デバイスが表示されても権限がないと表示される場合は、デバイスに PC に認証させるかどうかを尋ねさせる必要があります。
デバイスを表示させるには、デバイスの電源をいったん抜いて再接続しなければならない場合があります。
[Always allow (常に許可)] チェックボックスにチェックを入れておくことをお勧めします。
[Launch] メニューのリストにデバイスが表示されていない場合は、次のことを試してください。
お使いのデバイスが [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
などの) の入力に使用しますが、ユーザーのデバイスがサポートしているフォーマットも表示します。表示されたリストの中からデプロイおよびパッケージングにより適したタイプを選択します。お使いのデバイスでサポートされていないフォーマットが選択された場合、読み込みが失敗します。