Let's Enjoy Unreal Engine

Unreal Engineを使って遊んでみましょう

UE4 Cardboardなどで動くモバイルVRアプリを作ってみる

UE4にはGoogle Cardboardなどで使えるモバイルVRアプリを作るための機能が標準で用意されています。使うだけであれば本当に簡単ですが、色々と注意しなければならない点もあります。

Google CardboardはiOSAndroidに限らず利用可能ですが、ここではAndroidを利用します。まずはAndroidの開発環境をインストールするところまで済ませておいてください。

なお今回はUE4.10.4を使って確認をしています。

docs.unrealengine.com

 プロジェクトの作成

最初の段階でモバイルVRアプリ用にプロジェクトを作成しておきます。ここの設定は後からでも変更が可能ですが、最初から設定しておいた方が余計な手間を踏まずに済みます。

f:id:alwei:20160303161320p:plain

Androidアプリを作成する場合はブループリント、C++プロジェクトのどちらでも構いませんが、ここではブループリントプロジェクトを選択しています。

ここで注目するのはモバイル用に設定を切り替えておくことです。画像のように"モバイル/タブレット"、"スケーラブルな3D・2D"を選択しておきます。

これでプロジェクトを作成しておくと自動的にモバイルやVR向けに調整されたプロジェクトになります。

プラグインの設定

プラグインを設定しておきます。メニューから"編集"→"Plugins"を開き、"Virutual Riality"の中にある、"SimpleHMD"プラグインの"Enabled"にチェックをつけ、それ以外のVRプラグインのチェックを外しておきます。

f:id:alwei:20160303164635p:plain

プラグインの設定を変えると再起動を求められますので、一度エディターを再起動します。これでモバイルVRアプリを作成するための準備が完了します。

Androidへの転送

既にAndroid環境の準備ができているのであれば、Android端末を接続するだけでプロジェクトの転送ができるようになります。

転送方法は複数ありますが、ここでは最も簡単な"起動"ボタン横を選択してから、直接端末に転送をしてみます。

f:id:alwei:20160303171313p:plain

端末が接続されている状態であればAndroid端末の名前が表示されているはずです。

選択されている状態になっていればそのまま"起動"ボタンから処理が開始されて、しばらく待っているとAndroid上に転送されて、自動的にアプリが開始されます。

 

端末への転送としてもうひとつの手段が、通常のパッケージングを行なってから転送を行なうやり方です。これはメニューから"ファイル"→"プロジェクトをパッケージ化"→"Android"から必要な圧縮フォーマットを選択します。

f:id:alwei:20160303171848p:plain

テクスチャー圧縮フォーマットは端末ごとに違いますが、どの端末でも利用可能なフォーマットを選択する場合には"ETC1"を選択しておきます。ここでは"ASTC"を選択していますが、これはGalaxy S6などの一部の端末のみに対応している特殊なフォーマットです。

パッケージ化が完了するとフォルダーができているので、端末を接続したままの状態でファイルを選択して転送を開始します。

f:id:alwei:20160303172137p:plain

特に問題がなければ"Install_ProjectName_Shipping(Development)-armv7-es2.bat"などようなバッチファイルがありますので、それをダブルクリックすると自動的にAndroid端末へと転送されます。転送状況がコマンドプロンプトを通じて表示されますので、それが閉じるまで待機しておきます。

コマンドプロンプトが閉じるとアプリとしてAndroid端末上に追加されているはずなので、それをタップして起動させれば、VRアプリとして起動します。

手軽に楽しめるモバイルVRアプリ…が注意することも

これで既にAndroid上にVRアプリとして遊べる状態になっているはずです。

 これまでも何度か紹介してきたMMDモデルも表示可能です。ただし、Android上に表示するにはいくつか制限もあるので、そこには注意する必要があります。

 あとはCardboard上に入れれば立派にVRアプリとして遊ぶことが可能です。

 ここまでかなりお手軽にモバイルVRアプリが作れることがわかりましたが、実際には色々と問題があります。モバイルVRアプリを作成するためのSimpleHMDプラグインは本当にシンプルな機能しか提供しておらず、カメラを操作するための機能すら持っていません。

実質的には簡単なVRビューワーといった程度でしょう。またジャイロセンサーの精度にもよりますが、ドリフトという現象が発生する可能性があります。温度や衝撃により、センサーの軸がズレてしまう現象です。

結果的に時間が経つにつれてカメラの向きが傾いてしまったりするので、その調整を行なう必要があります。この調整を行なうにはブループリントのみではシンプルな機能しかないので、厳しいです。

とは言えこのようなモバイルVRアプリを簡単に作れるのは魅力的だと思いますのでぜひ挑戦してみてください。