すでに、UnityでMeta Quest用のアプリを開発できる環境が整っていることを前提とします。
もしできていなければ、以下を参考に環境構築してください。
本手順では、Oculus/VR/Scenes
フォルダのControllerModels
シーンを編集し、コントローラーからのレーザーでボタンをクリックできるようにします。
OVRPlayerController > OVRCameraRig
内に、新しくCanvas > Button
オブジェクトを追加してください。
Buttonの位置を、Gameビューで確認しながら、好きな位置に調節してください。最初は大雑把にGameビューで確認できる位置に置いておき、細かい調節は後でVRで確認しながらやるといいかもしれません。
Graphic Raycaster
コンポーネントのチェックを外してください。OVR Raycaster
コンポーネントをアタッチButton
オブジェクトに、ボタンがクリックされたときの挙動を記述するためのスクリプトをアタッチしてください。今回は ButtonClick.cs
という名前にしました。
ButtonClick.cs
の中身は以下です。ボタンがクリックされたら、シーンが切り替わるようにしています。
c#using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
public class ButtonClick : MonoBehaviour
{
public void OnClick()
{
Debug.Log("Button Clicked");
SceneManager.LoadScene("Oculus/VR/Scenes/Cubes");
}
}
次に以下のようにして、Button
オブジェクトがクリックされたときの挙動を追加してください。
Button
オブジェクトにアタッチされているButton
コンポーネントに、On Click ()
があるので、その +
ボタンを押す
→ ここで作成したButtonオプジェクトを選択
→ Button
オブジェクト内の先程作成されたButtonClick
スクリプトを選択
→ OnClick()
メソッドを選択
ボタンがクリックされたことを判定するためにコライダーが必要なので、Box Collider
をButton
オブジェクトにアタッチしてください。
新しく、GazePointer
(子にGazeIcon
を持つ)とSelectionVisualizer
という名前(この名前は他のシーンと統一させるためにこうしていますが、好きに決めて大丈夫です)で、空のオブジェクトを作成してください。
OVR Gaze Pointer
コンポーネントをアタッチ
→ Ray Transform
に、OVRPlayerController > OVRCameraRig > TrackingSpace > LeftHandAnchor
内のLeftControllerAnchor
オブジェクト、もしくはTrackingSpace > RightHandAnchor
内のRightControllerAnchor
オブジェクトをセットしてください。
Line Renderer
コンポーネントをアタッチOVR Pointer Visualizer
コンポーネントをアタッチ以下のように、Input Moduleを変更してください。
EventSystem
オブジェクトを選択 → Standard Input Module
コンポーネントのチェックを外すOVR Input Module
スクリプトをアタッチRay Transform
に、OVRPlayerController > OVRCameraRig > TrackingSpace > LeftHandAnchor
内のLeftControllerAnchor
オブジェクト、もしくはTrackingSpace > RightHandAnchor
内のRightControllerAnchor
オブジェクトをセットしてください。Cursor
に、先程作成したGazePointer
オブジェクトをアタッチしてください。Joy Pad Click Button
で、コントローラーのどのボタンが押されたときに、入力を受け付けるかを設定してください。コントローラーから出ているレーザーがボタンにあたっているときに、ここで設定されたコントローラーのボタンが押されると、画面上のボタンが押されたことになります。PCとQuest Proを接続した状態で、File > Build And Run でビルド・実行してください。
Quest Proで以下のように見えていればOKです。
コントローラーのレーザーがボタンに当たっている状態で、先程設定したコントローラーのボタンを押して以下のシーンに切り替わると、完璧です。