ぼっちプログラマのメモ

UE4とかUE5とかについて書いたり書かなかったり。

UE4でGear VR開発してみる 準備編

f:id:pafuhana1213:20150425204551j:plain

4/26に発売された、Galaxy S6 edgeを購入したので、
早速、UE4でGear VR用コンテンツを作成する環境を整えてみました。

※注意
・Gear VR実機がないため、実機上での正常動作は未確認です(2015/04/25 現在)
・Gear VR向けのアプリ開発をするためには、4.7.4以降のバージョンの
 UE4が必要になります
・Gear VR実機がなくても、Gear VR向けにビルドしたアプリを
 スマホ上で動かすことも出来る筈なのですが、上手くいっていません…
 ダレカタスケテ(2015/04/25現在)

 解決済み


Android向けアプリを開発する準備

Gear VRは、Samsung製のGalaxyシリーズで動作するので、
Android開発環境が必要になります。

で、肝心のAndroid開発環境のセットアップですが、
お馴染みのヒストリアさんのブログに、全て書かれています。
[UE4] Android端末でサンプルを実行する手順まとめ | historia Inc - 株式会社ヒストリア

※私の環境では、ADBドライバのインストールはしなくても、
 PCとUSB接続するだけで端末が認識されるようになりました

以降の説明は、この記事で説明されている内容を実践済みという前提でします。


Gear VR向けアプリを開発する準備 (PC上)

参考:
Unreal Engine | Samsung Gear VR Headset Prerequisites

Visual Studioのインストール

2015/04/25現在、C++プロジェクトでないと
Gear VRアプリを開発することができないので、VisualStudioが必要になります。

以下のサイトから、VisualStudioをインストールします。
今ですと、VisualStudioCommunityがオススメです。勿論、無料です。
https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspx
f:id:pafuhana1213:20150425205547j:plain


Oculus Signature File(osig)のダウンロード

Gear VRアプリを開発するには、OSIG Fileが必要になります。
まずは、以下のOSIG Fileの生成サイトにアクセスします。
Oculus Rift PC SDK, Samsung Gear VR Mobile SDK, Docs, Integrations | Oculus Developer Center
f:id:pafuhana1213:20150425210139j:plain
↑の赤枠の部分に、端末のIDを入力します。

端末IDは、コマンドプロンプト上での「adb devices」で確認できます。
↓の赤枠で囲った部分です。
f:id:pafuhana1213:20150425210706j:plain

端末ID入力後、DOWNLOAD FILEをクリックするとOSIG Fileの
ダウンロードが開始します。ダウンロード完了後、
UE4のEngine/Build/Android/Java/assetsに、OSIG Fileを移動します。


私の環境ではパスは、"C:\Program Files\Unreal Engine\4.7\Engine\Build\Android\Java\assets"でした。
また、assetsフォルダがなかったので自分で作りました。

Gear VR向けのプロジェクト作成・設定

C++プロジェクト作成

まずは、いつものようにプロジェクトを作成したい所ですが、ここで注意です。
「BluePrintプロジェクトで作成すると、おそらくGear VR上で動作しないだろう」
と、公式ドキュメントでアナウンスされています。(↑の参考ページ参照)
(2015/04/25現在)

ですので、C++プロジェクトで作成する必要があります。
C++プロジェクトで作成しても、いつも通りBluePrintを使うことができるので、
特に心配する必要はありません。
f:id:pafuhana1213:20150425212712j:plain
(公式ドキュメントから画像拝借)

Create Projectを押すと、VisualStudioが勝手に立ち上がりますが、
特に操作する必要はなく、少し待つとUE4のエディターが立ち上がります。

参考:
Unreal Engine | 1. Gear VR C++ Project Creation


プロジェクト設定

この部分に関しては、公式ドキュメントを見た方が早いです。
アニメーションする画像を使った解説で、超分かりやすいです。
Unreal Engine | 2. Gear VR Project Setup

一応、手順は以下のとおりです。

  1. GearVRプラグイン有効に、Oculus Riftプラグイン無効
  2. AndroidプラットフォームのAPKPackagingを有効に
  3. APKPackagingにおける、Minimum SDK Versionを19に(デフォルトは9)
  4. Advanced APKPackagingのConfigure the ~ to GearVRにチェックを入れる
  5. Android SDKのSDKConfigの各入力項目の設定
  6. パッケージング設定のFull Rebuildのチェックを外す

パッケージングと端末へのインストール

参考:
Unreal Engine | 3. Gear VR Project Packaging & Deployment

まずは、Android(ETC2)でパッケージングを実行します。
f:id:pafuhana1213:20150425215320j:plain
(公式ドキュメントから画像引用)

パッケージング完了すると、指定した箇所に「Android_ETC2」というフォルダが
生成されます。
その中にあるbatファイルをPCとスマホを繋いだ状態で
実行し、スマホにアプリをインストールします。

色々とウィンドウが立ち上がるので、お茶でも飲んで眺めます。
完了すると自動的にウィンドウが閉じます。アプリケーション一覧を見ると、
インストールしたアプリが追加されていると思います。


はじめてのGear VRアプリ起動

インストールされたアプリを実行すると、↓な感じの画面が立ち上がります。
立ち上がらない場合は、Gear VRアプリとして認識されていません…
設定に不備がないか、色々と確認しましょう…
f:id:pafuhana1213:20150425220026j:plain

あとは、表示されるガイドに従って、
公式VRアプリのインストールや、Oculusアカウントのログイン、
OCULUS PINの設定を行います。

色々と完了した後は、再度インストールしたアプリを実行してみましょう
↓のメッセージが表示されます…残念無念…
f:id:pafuhana1213:20150425220539j:plain


Gear VR開発者モードを有効に

参考:
Unreal Engine | Samsung Gear VR Debugging

実はGear VRがなくても、スマホ上でGear VRアプリを動作確認することができます。
まずは、スマホのアプリケーション一覧から
「設定」→ 「アプリケーション」→「アプリケーション管理」にある
Gear VR Serviceを選択します。(デフォルトですと、設定は歯車アイコンです)
f:id:pafuhana1213:20150425221400p:plain

次に、「ストレージ管理」を選択すると、↓のような画面が表示されます。
そして、VR Service Versionを6回押します。
すると、↓のようにデベロッパー向けの設定項目が表示されるようになります。
(表示されない場合は、一度前の画面に戻ってから再度この画面に戻ってみてください)
f:id:pafuhana1213:20150425221556p:plain

この開発者モードを有効にすると、Gear VR実機がなくても
スマホ上でGear VRアプリを立ち上げることができるようになります。
f:id:pafuhana1213:20150425221952j:plain
(見辛いですが、Oculus 360 Videos(公式VRアプリ)が動作しています)


これで、先ほどインストールした自作のUE4製Gear VRアプリが
スマホ上で動作確認できる…はずでした
f:id:pafuhana1213:20150425222208j:plain
アイエエエエ! エラー!? エラーナンデ!?

という訳で、ダレカタスケテ
(この記事の作成理由の90割はこれ)

UE4エディタ上で、AndroidSDKなどのパスを通してなかったのが
原因だったようです。お騒がせしました。

捕捉

Unityのように、OSIGファイルをプロジェクトに入れなくていいの?

Unityの場合は、Assets/Plugins/Android/assetsにOSIGファイルを
入れる必要がありますが、UE4は、おそらく不要です。

パッケージングフォルダ(Android_ETC2)の中にある、apkファイルを
てきとーな解凍ソフトで開いてみて下さい(拡張子を.zipに変えるが楽です)

assetsフォルダ下に、OSIGファイルが配置されているのが確認できます。

Gear VR開発者モードを有効にすると、なんか画面の色味が変わったんだけど…

Galaxy S6(edge)のみで起きている不具合…かもしれません。
(Note 4では起きていないようです)

チカチカして目が痛いので、Gear VRアプリ開発しない時は、
開発者モードを切ったほうがいいかもしれません…

Gear VR向けの高速化や最適化ってどうするの?

公式ドキュメントを見よう!
Unreal Engine | Samsung Gear VR Best Practices

…まだ日本語訳されていませんが
Gear VR実機が手に入ったら、検証しつつまとめたいですね…