OculusGoでuGUIを使ってみる#1 - qrunch.net
基本的な手順はこれと同じ。
ただ各項目の解説を付与する。
++OculusIntegrationを導入する
OVRCameraRig等の設定をしておく
https://arumogina.hatenadiary.com/entry/2019/03/01/160330
++OVRGazePointerをPrefab化しておく
Oculus/VR/Scenes/UI シーンを開いて、そのヒエラルキーの中にあるOVRGazePointerをPrefabにしておく
++Canvasを作成し以下のように設定
RenderMode=>World Space
World Spaceにすると独立して表示される
Screen Space - Cameraにすると、カメラの動きにCanvasが追従する.
https://docs.unity3d.com/jp/current/Manual/class-Canvas.html
Event Camera=>OVRCameraRig/TrackingSpace/CenterEyeAuthor
これ何のために設定するのか分からん
CanvasのGraphicRaycasterを削除し、AddComponentからOVR Raycasterを付与。
BlockingObjectをAllにする(意味は分からん
PointerにOVRGazePointerを設定してあるが、別にNoneのままでも問題ないっぽい。
++EventSystemの設定(Canvas作成時に生成される)
StandaloneInputModuleを削除し、OVRInputModuleを追加
RayTransformにOVRCameraRig以下のTrackedRemoteを設定、このオブジェクトがキャンバス上の操作に連動する。
CursorにGazePointerを設定、キャンバス上のカーソルとして表示される。またこれがないとクリック(トリガーを引く)等の操作が出来ない。
++GazePointerの設定
RayTrnasformにOVRCameraRig以下のTrackedRemoteを設定
ここに設定したオブジェクトの動きに連動してカーソルが動く
++スクリプトから操作する場合
https://qiita.com/2dgames_jp/items/b3d7d204895d67742d0c
の、”クリックしたときの処理を実装する”以下を参照。
スクリプトを付与した後、Buttonオブジェクトのインスペクタで実行するスクリプトを設定する必要がある。
++BlockingObjectは当たり判定となるレイキャストをブロックするするもの。上の例だとサンプルに従いALLにしていたが、Noneの方がいいかも