OculusGoのアプリ開発ことはじめ

OculusGoのアプリを開発する

Oculusの開発をUnityで始めてみました。
開発経験としては、HoloLensの開発が業務だったので、Oculusはあまり知見がありません。

そんなこんなで、ドキュメントを手がかりに開発を始めてみたいと思います。

Unityのインストール

Oculusドキュメントのこのページを参考にすると、

We recommend using Unity version 2017.4.11f1 for all Oculus development.

ってなわけで、Unityのバージョンは2017.4.11f1にしました。大人しく。 unity3d.com

上から、2017.4.11をダウンロード。
とか言っていますが、Windowsでのこのバージョン、なぜか自分のPCだと不調で、具体的にはGameSceneなどのウィンドウサイズを変更すると固まったりします。

Unityのバージョンは複雑ですが、2017.4というものがLTSといって、長期間に渡ってサポートしてくれるものです。
4の下の番号は、バグ改善だったりと小さいアップデートで、かつ、Oculusのドキュメントが古くなっている事も考えれば、2017.4の最新版にしても大きな問題は出ないかも?なんて思っていたり。

HoloLensの開発でUnityのバージョンには苦しめられたんで、ちょっと怖いですが、私は2017.4の最新版にあげてみようと思います。

Unityのバージョンについての参考資料

www.slideshare.net

Unityのセットアップ

OculusGo用にはこちら Preparing for Mobile Development

セットアップだけなら検索すると日本語の記事たくさん出てきたので、それも参考になりそう。

UnityでHMDをエミュレーションする

毎回毎回PCからOculusGoにbuildするなんてめっちゃめんどくさいですよね。(私はやってました。。。)
先輩によく言われるんですね、ちゃんとドキュメントを見ろと。
ありました。

https://developer.oculus.com/documentation/unity/latest/concepts/unity-hmd-emulation/

UnityEditorでOculusHMDの動きをエミュレートできます。
すこし翻訳したものを書きます。

使い方

  • OVRCameraRig, OVRPlayerController prefabをゲームシーンに入れる
  • もしくはゲームオブジェクトにOVRHeadsetEmulatorをアタッチする

エミュレーション

UnityEditorでplayした後にマウスとキーボードを使って行います。
Macはエミュレーション対応していないらしい、、、(このドキュメントが書かれた時点では)

  • ctrl + mouse > yaw(顔の左右), pitch(顔を見上げる、逆)をエミュレート
  • ctrl + alt + mouse > roll(顔を横に倒す方向)をエミュレート
  • ctrl + mouse wheel > 高さをエミュレート

ctrl離すと元の位置に戻ってしまいます(windows)

設定

OVRHeadsetEmulatorをいじって設定を変更できます。

  • OVRHeadsetEmulator.opMode
    • デフォルトはEditorOnlyでUnityEditorのみで使える
    • AlwaysOnにするとbuildした場合のアプリケーションでも使用可能になる

この辺をいじれば、デフォルトのキーバインドを変更可能になる。(OVRHeadsetEmulator.activateKeys, OVRHeadsetEmulator.pitchKeys)

Oculusのドキュメントしっかり読んでいかなきゃ。。。