Posted at

UnityでOculusGoのVRゲームを作った時のTips

UnityでVRゲームを初めて作成した時に参考にしたサイトやつまったところを

共有するために残しておきます.


OculusGoでビルドする

Unityで作成したプロジェクトをOculusGoでビルドするためには特に難しいことはなく.

Androidでビルドする環境を構築すればビルドすることができます.

参考:UnityでOculus Goの開発環境をセットアップしてみた


コントローラーを表示する

参考:【Unity / Oculus Go】Oculus Goコントローラー表示方法とボタン取得方法


コントローラーでオブジェクトを操作する.

参考:Oculus Go開発【コントローラー表示、クリック反応、移動、ポインタ、uGUI】


コントローラーでGUIを操作する.

uGUIを操作するには追加で捜査する必要があります.

参考:Oculus Go 開発メモ - uGUI編

このサイトでは眉間からrayをとばしてuGUIを操作していますがコントローラーからrayをとばして操作したい場合は

CenterEyeAnchorで設定したところをRightHandAnchorに変更すればコントローラーの先でクリックすることができます.

またCanvasのRenderModeをworldSpaceに変更する必要があります.

そのためポジションとサイズを変更してください.

文字のサイズは変更すると読めなくなるのでScaleで変更した方がいいと思います.


コントローラーで移動をする

コントローラーのパッドの入力を取得して自身の位置を移動できます.

参考:Oculus Go開発【コントローラー表示、クリック反応、移動、ポインタ、uGUI】

しかしこの移動方法だとVR酔いを引き起こしやすいためテレポートを使用することをお勧めします.

参考:Oculus Goでテレポート移動する


つまったところ


ボタンで関数を呼び出す

uGUIのボタンのOnClickで自身に追加したスクリプトの関数を呼び出すというのをよくつかうのですが,なぜか他のオブジェクトを操作することができませんでした.同じオブジェクトのコンポーネントであれば操作はできるみたいです.

他のオブジェクトを指定して操作したり,スクリプトの関数を呼び出すことは可能みたいです?なぜ?


ビルド時

OculusGoに毎回ビルドするのは時間がかかるのでPCやWebGLでビルドして確認しようとしたのですが,インポートしたOculusのスクリプトが邪魔してAndroid以外でビルドができない...

PC用にもビルドしたいという人は気を付けてください.