Unity
Oculus
VR
GearVR

【初心者向け】Gear VR with Controller 開発準備 on Unity

はじめに

今更GearVRのセットアップかよと思われるかもしれませんが、私はようやく環境が整い、いざ「VRアプリ作ったろ!」とsdkを入れた所でいくつかの凡ミスから躓いて時間を取られてしまいました。世界中のどこかには自分と同じ箇所で苦しんでいる人がいるはずという過剰な自意識から、共有したいと思います。

開発環境

mac book pro (Sierra 10.12.6)
Unity 5.6.2f1 (5.~版のほうが安定してる旨の記事をどこかで読んだので、2017版ではなくこちらにしました)
Oculus SDK 1.21.0

インストール

Unity ダウンロードアーカイブ (5.~版はここで落としました)
https://unity3d.com/jp/get-unity/download/archive

Oculus SDK
https://developer.oculus.com/downloads/package/oculus-utilities-for-unity-5/1.21.0/
で落としたzipを解凍して出てきたunitypackageをUnityプロジェクトを開いてる状態で開いてインポートしてください。
スクリーンショット 2018-01-04 15.28.30.png
こんな感じにアセットフォルダに2つ出てくると思います。

カメラのセットアップ

デフォルトのカメラオブジェクトは削除して、
インポートしたSDKの
OVR/Prefabs/OVRCameraRigをヒエラルキーに置きます。
スクリーンショット 2018-01-04 15.31.20.png
これを開くと、中にLeftHandAnchorRightHandAnchorがあるので、それぞれに
OVR/Prefabs/TrackedRemoteを置きます。
スクリーンショット 2018-01-04 15.33.52.png
TrackedRemoteにアタッチされてるOVRTrackedRemoteのControllerでLeftは「L Tracked Remote」、rightは「R Tracked Remote」をそれぞれ選択します。
スクリーンショット 2018-01-04 15.35.32.png

ビルド設定

私はここでかなり時間を取られました。

Oculus署名ファイル(osig)の作成・配置

GearVRのアプリを実機で検証する時にっは署名ファイルが必要らしいです。
やり方は公式でめずらしく分かりやすく書かれていたので参照してください。
Oculus署名ファイル(osig)ジェネレーター
https://dashboard.oculus.com/tools/osig-generator/

PlayerSettings

まず Edit -> Project Settings -> Player でPlayerSettingsを開きます。(Build Settingsからでも開けます)
スクリーンショット 2018-01-04 15.39.45.png

PlayerSettingsで以下の部分を設定します。
スクリーンショット 2018-01-04 15.40.57のコピー.png
①Android用の設定タブに切り替えます。
②マルチスレッドレンダリングに対応させます。
③VRに対応させて、扱うSDKを指定します。今回はOculus Gear VRなので、Oculusを選択します。
④デフォのままだとBundleErrorが出る可能性があるので、パッケージネームを変更します(デフォじゃなければ何でもいいです)。
⑤対応させるAndroidOSVersionを指定します。OculusSDK自体、API19以上でないと動作しないため、API19以上を指定し、Targetはそれ以上とします。

BuildSettings

File -> Build Settings で開けます。
スクリーンショット 2018-01-04 15.55.54.png
Androidを選択して、SwitchPlatformでビルド対象をAndroidにします。
そしてTexture CompressionをASTCに変更します。

ここまで来たらAndroid実機に接続してAndroid端末をデバッグモードにしてBuild And Runしましょう!

oculus update required

そのままアプリが問題なく起動した方はおめでとうございます。
私は起動しませんでした。

GearVRに接続すると、「Oculus Appをアップデートしてね!やり方は自分で調べて!(意訳)」
的な画面が出て来ます。
しかし、アプリ上では手動アップデート出来ません。
調べてみると
「Android端末上にインストールされてる Oculus & GearVR系 のアプリを片っ端からアンインストールして、再度GearVRに接続してインストールするとアップデートできるよ!(意訳)」
的なことが書いてあったので片っ端からアンインストールしました。出来ました。本当にありがとうございました。