UnityでViveコントローラーがクリックされたことを検知するためのスクリプトを記録しておく。
下記リンクでズバリそのものを記載してくれているので、ここには概要だけ残しておく。
UnityへのSteam VRプラグインのインストールを済ませ、上記リンクのスクリプトファイルをViveコントローラーに添付し終わったとして、コントローラーのトリガーボタンを離したときに何かしらのアクションを起こしたいとする。
↓のスクリプトの{}の中は、コントローラーのトリガーが離されたときに呼ばれるので、{}の中にif~を記述しておけば、トリガーが離されたときに何かしらの判定をすることができる。
1 2 3 |
public void DoTriggerUnclicked (object sender, ClickedEventArgs e) { } |
下記の例では、トリガーを離したときに、commandBlockPosとhole1の距離を計算し、もしも距離が0.1以下だった場合、「Cube1との距離が0.1以内」というログを表示させることができる。
ちなみにGameObject.Find("○○")で○○という名前が付いたオブジェクト情報を取得することができる。Vector3.Distance(□□,△△)では□□と△△の距離を計算することができる。
1 2 3 4 5 6 7 8 9 |
public void DoTriggerUnclicked (object sender, ClickedEventArgs e) { Cube1 = GameObject.Find ("Cube1"); hole1 = Cube1.transform.position; //commandBlockとhole達の距離を計算 distance1 = Vector3.Distance (commandBlockPos, hole1); //距離が0.1以内の時にログを吐き出す if (distance1 <= 0.1) { Debug.Log ("Cube1との距離が0.1以内"); } |