VR開発メモトップ

UE4+Gear VR開発メモ

最終更新日:2017年01月03日

UE4でGear VR対応アプリを開発する方法やTipsをまとめています。Gear VR自体についての解説やTipsは「Gear VRについて」を参照してください。

更新履歴

(2017年1月3日)UE4.14.1で確認、ボリューム表示その他不要になった記述を削除、「トラッキングをリセットするには」を追加
(2016年9月8日)UE4.13のボリューム表示について追記
(2016年8月15日)項目の整理
(2016年6月10日)「アプリの終了やグローバルメニュー、ボリューム表示に対応するには」を追加
(2016年6月9日)最低限ビルドするところまでメモ 

目次


UE4でGear VR対応アプリを作るには

UE4のGear VR対応について

Unreal Engineには標準でGear VRプラグインが搭載されています。基本的には、端末の署名ファイルを用意して、プロジェクト設定のチェックボックスを一つオンにするだけでGear VR向けのアプリをビルドできます。

描画はフォワードレンダリングになり、アンチエイリアスはMSAAが適用され、綺麗なポリゴンエッジで表示されます。

Gear VRアプリをビルドするには

新規プロジェクトを作成します。まずは、プロジェクトウィザードで「空のプロジェクト」を「モバイル / タブレット」「スケーラブルな3D・2D」「スターターコンテンツ無し」で作成してください(スターターコンテンツがあるとビルドに非常に長い時間がかかります)。

プロジェクトをGear VRに対応させる

設定>プロジェクト設定で「プラットフォーム - Android」の画面を開いて、赤く表示されている2箇所のバーのところで「今すぐ設定」をクリックします。

さらに下のAdvanced APKPackagingにある「Configure the AndroidManifest for deployment to GearVR」をチェックしてください。

Oculusの署名ファイルを作成する

個々の端末と紐付けられるOculus Signature Fileという署名ファイルが必要になります。コマンドラインから、adbコマンドを「adb devices」で実行して、デバイスIDを確認します。

C:\Users\{ユーザー名}\AppData\Local\Android\sdk\platform-tools>adb devices
List of devices attached
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
{デバイスID}        device

下のページにアクセスし(Oculus VRのアカウントが必要)、デバイスIDを入力して「Download File」で署名ファイルをダウンロードします。

「oculussig_{デバイスID}」という名前の署名ファイルをダウンロードします。

Unreal Engineが起動していたらいったん終了し、Unreal Engineのインストールフォルダ(UE4.14ならC:/Program Files (x86)/Epic Games/4.14)のEngine/Build/Android/Javaフォルダにassetsフォルダを作成し、署名ファイルを格納します。

パッケージング

パッケージングするには、ファイル>プロジェクトをパッケージ化>Androidで「Android (ETC2)」を選択して、出力先フォルダを選択します。パッケージングが完了したのち、出力先フォルダをエクスプローラーで開くと、apkファイルと、Installという名前で始まるバッチファイルが生成されていますので、バッチファイルをダブルクリックで実行するとコマンドラインウィンドウが開き、端末にアプリが転送されます。

アプリを端末でタップして実行すると「このアプリケーションを起動するには、端末をGear VRに挿入します」と表示されますので、その状態のままで端末をGear VRに挿し込んでかぶるとアプリが起動します。


開発Tips

バーチャルスティックを消すには?

プロジェクト設定の「エンジン - インプット」を開いて、Default Touch Interfaceの設定値「DefaultVirtualJoysticks」をクリアしてください。

タッチパッドその他の入力を取るには

タッチパッドの入力はタッチ入力となるようです。「インプットTouch」ノードで状態を取得できます。

また、「Android の Backボタン」でBackボタンを取得できます。

トラッキングをリセットするには

「Reset Orientation and Position」ノードを使用します。例えばタッチパッドのタップでリセットするならレベルブループリントで以下のようにしてください。

「Thread priority security exception. Make sure the APK is signed.」というエラーが出る

署名ファイルが上手く設定できていない可能性がありますので、上記手順を確認してみてください。また、Unreal Engineを再起動してパッケージングし直してみてください。


参考リンク

書いた人:こりん(@k0rin
リンク切れや間違いなどございましたらメールやTwitterでご指摘ください。
VR開発メモトップ RSS