やりたかったこと
UnityでViveをいじって遊んでいる途中で、下の図みたいなバッテン型に分割して入力したくなった。
たいした内容じゃないけど、マニュアルで上手く見つけられなかったからメモしておきます。
実際にはコントローラに視覚的な目印を表示することも必要だと思う。
コード
コンポーネントとして「Controller (left)」または「Controller (right)」に追加して使用。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class TouchPadPress : MonoBehaviour {
void Start () {
}
void Update()
{
SteamVR_TrackedObject trackedObject = GetComponent<SteamVR_TrackedObject>();
var device = SteamVR_Controller.Input((int)trackedObject.index);
if (device.GetPressDown(SteamVR_Controller.ButtonMask.Touchpad))
{
Vector2 touchPosition = device.GetAxis();
if (touchPosition.y / touchPosition.x > 1 || touchPosition.y / touchPosition.x < -1)
{
if (touchPosition.y > 0)
{
//タッチパッド上をクリックした場合の処理
Debug.Log("Press UP");
}
else
{
//タッチパッド下をクリックした場合の処理
Debug.Log("Press DOWN");
}
}
else
{
if (touchPosition.x > 0)
{
//タッチパッド右をクリックした場合の処理
Debug.Log("Press RIGHT");
}
else
{
//タッチパッド左をクリックした場合の処理
Debug.Log("Press LEFT");
}
}
}
}
}
コメント