simplestarの技術ブログ

目的を書いて、思想と試行、結果と考察、そして具体的な手段を記録します。

UnrealEngine4.12でAndroidアプリ作成とインストール

フィーリングで探すと File メニューからパッケージ化するというものが見つかります。

パッケージ化メニューからAndroid(すべて)を選べばインストールバッチファイルが作成されます。
これを実行すればAndroid端末にUnreal Engineのゲームがインストールされます。

やった、インストールできた!なんて喜んでいるあなた
はい、アウト~
実はすでに落とし穴x3にハマっていますので、一つずつ抜け出しましょう。

落とし穴1.スタートアップコンテンツ有りにしているとパッケージ化に時間を要します。(30~40分くらい?)
落とし穴2.ディフォルトのレベルを指定していないとブラックスクリーンになります。(エディタのアクティブなレベルは表示されないのですよ。)
落とし穴3.すべてのAndroidでパッケージ化すると、ファイルがデカ過ぎてゲームを実行できなくなります。

最初の落とし穴から抜け出すのは簡単ですね、プロジェクト作成時に余計なコンテンツを入れなければよいだけです。(コンテンツブラウザから削除してもよい)
二つ目の落とし穴から抜け出すのは難しいですね。Unityの感覚でシーンを指定していなくても、エディタでアクティブだったらそれが表示されると思っていたら大間違いです。
Unreal Engine は Blank プロジェクトを実行すると Black Screen になるのが正しい動作なのです。
適当なこと書いているブログだと Mobile HDR のチェックを外すとかありますが、そんな情報には惑わされないでください!

具体的な解決方法は次の図の通り、プロジェクト設定にてディフォルトのレベルを指定します。
f:id:simplestar_tech:20160703115846j:plain
これでゲーム起動時のブラックスクリーン問題は解決します。

最後の落とし穴もまた抜け出すのが難しい。
スタートアップコンテンツ有りですべてのAndroid向けにビルドすると2.3GBほどのファイルサイズになってしまい
Androidにインストールが成功しても、ストレージに余裕がないなどの理由でOBBファイルは一緒に入らず、ファイルにアクセスできずNo Google Play Store Keyのダイアログが出て先に進めなくなります。

同じような問題はこちらに示されています。
No Google Play Store Key - UE4 AnswerHub

具体的な解決方法としては Blank プロジェクトにして、スタートアップコンテンツは無しにして、パッケージ化の項目で Android(ETC1) を選びます。
パッケージ化も高速で終わり、OBBファイルも小さく(それでも50MBあったけど)インストールで入りきらないなんてこともなくなります。

はい、そんな落とし穴x3にハマったのは私です!
で、すべての落とし穴から抜け出すと次の図で示すように、お手持ちのAndroid端末にてUnreal Engineで作ったゲームが遊べるようになります。

f:id:simplestar_tech:20160703121445j:plain

ちなみに、fps は 60 出てました。
fps を表示したいときは指4本でタップして、コンソールコマンドに stat fps を打ち込むと表示されるようになります。

ゲームエンジン初心者が一番最初に行うだろう作業に
空のプロジェクトをビルドしてAndroid端末で動作チェックするという作業がありますが
Unreal Engineには、こんな落とし穴があるということをここに記録しておきましょう。

プラグイン作成中ですが、つい共有したくなったので書きました。
では、プラグイン作成の作業に戻ります。