目次
開発環境
- Quest1
- Oculus Link + SteamVR
- Unity 2021.2.0b16.3733
- Unity 2020.3.17f1
- SteamVR Plugin 2.7.3
前提
Playerプレハブを使うので前回の記事で準備ができていること。
実装
- Canvasを追加する
- World Spaceに変更して VRCameraを設定
- ちょっと楽に設定する方法が参考サイトに書かれてた
- Buttonを追加
- Interactableを追加
- UI Elementを追加してクリック時の処理を設定
Buttonの中にCubeを追加して、MeshRendererを無効にしてBoxCollider見ながらサイズを調整する
- CubeがRect Transformになってるので一度RemoveするとTransformになる
ボタンに触れてトリガーを押すとクリックできる
- ボタンはNormal→Pressed→Selectedの順に変化する
- Colliderで判定するため、手のモデルが当たったオブジェクトが反応するので注意
- 縦に2つ並んだボタンの間に手を入れてトリガー引くと両方当たるなど
- 触れてるボタンをハイライトさせるには、Buttonに次のスクリプトをもたせる
private Button button; public void Start() { button = GetComponent<Button>(); } void OnHandHoverBegin(Hand hand) { button.Select(); } void OnHandHoverEnd(Hand hand) { EventSystem.current.SetSelectedGameObject(null); }
- Toggleも同じ手順で実装可能