はじめに
今更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プロジェクトを開いてる状態で開いてインポートしてください。
こんな感じにアセットフォルダに2つ出てくると思います。
カメラのセットアップ
デフォルトのカメラオブジェクトは削除して、
インポートしたSDKの
OVR/Prefabs/OVRCameraRigをヒエラルキーに置きます。
これを開くと、中にLeftHandAnchorとRightHandAnchorがあるので、それぞれに
OVR/Prefabs/TrackedRemoteを置きます。
TrackedRemoteにアタッチされてるOVRTrackedRemoteのControllerでLeftは「L Tracked Remote」、rightは「R Tracked Remote」をそれぞれ選択します。
ビルド設定
私はここでかなり時間を取られました。
Oculus署名ファイル(osig)の作成・配置
GearVRのアプリを実機で検証する時にっは署名ファイルが必要らしいです。
やり方は公式でめずらしく分かりやすく書かれていたので参照してください。
Oculus署名ファイル(osig)ジェネレーター
https://dashboard.oculus.com/tools/osig-generator/
PlayerSettings
まず Edit -> Project Settings -> Player でPlayerSettingsを開きます。(Build Settingsからでも開けます)
PlayerSettingsで以下の部分を設定します。
①Android用の設定タブに切り替えます。
②マルチスレッドレンダリングに対応させます。
③VRに対応させて、扱うSDKを指定します。今回はOculus Gear VRなので、Oculusを選択します。
④デフォのままだとBundleErrorが出る可能性があるので、パッケージネームを変更します(デフォじゃなければ何でもいいです)。
⑤対応させるAndroidOSVersionを指定します。OculusSDK自体、API19以上でないと動作しないため、API19以上を指定し、Targetはそれ以上とします。
BuildSettings
File -> Build Settings で開けます。
Androidを選択して、SwitchPlatformでビルド対象をAndroidにします。
そしてTexture CompressionをASTCに変更します。
ここまで来たらAndroid実機に接続してAndroid端末をデバッグモードにしてBuild And Runしましょう!
oculus update required
そのままアプリが問題なく起動した方はおめでとうございます。
私は起動しませんでした。
GearVRに接続すると、「Oculus Appをアップデートしてね!やり方は自分で調べて!(意訳)」
的な画面が出て来ます。
しかし、アプリ上では手動アップデート出来ません。
調べてみると
「Android端末上にインストールされてる Oculus & GearVR系 のアプリを片っ端からアンインストールして、再度GearVRに接続してインストールするとアップデートできるよ!(意訳)」
的なことが書いてあったので片っ端からアンインストールしました。出来ました。本当にありがとうございました。