イラスト、モデリング、Unity、VR関連

unityとかblenderとかvr関連の作業メモ

OculusGoでuguiを使う設定

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のままでも問題ないっぽい。

f:id:arumogina:20190404073937p:plain

 

++EventSystemの設定(Canvas作成時に生成される)

StandaloneInputModuleを削除し、OVRInputModuleを追加

RayTransformにOVRCameraRig以下のTrackedRemoteを設定、このオブジェクトがキャンバス上の操作に連動する。

CursorにGazePointerを設定、キャンバス上のカーソルとして表示される。またこれがないとクリック(トリガーを引く)等の操作が出来ない。

f:id:arumogina:20190404091943p:plain

++GazePointerの設定

RayTrnasformにOVRCameraRig以下のTrackedRemoteを設定

ここに設定したオブジェクトの動きに連動してカーソルが動く

f:id:arumogina:20190404083001p:plain

 

++スクリプトから操作する場合

https://qiita.com/2dgames_jp/items/b3d7d204895d67742d0c

の、”クリックしたときの処理を実装する”以下を参照。

スクリプトを付与した後、Buttonオブジェクトのインスペクタで実行するスクリプトを設定する必要がある。

 

++BlockingObjectは当たり判定となるレイキャストをブロックするするもの。上の例だとサンプルに従いALLにしていたが、Noneの方がいいかも