(pico手柄)unity CommonUsages.primary2DAxis 判断摇杆朝向

📅 2026/8/13 20:56:16
(pico手柄)unity CommonUsages.primary2DAxis 判断摇杆朝向
using UnityEngine;using UnityEngine.UI;using UnityEngine.XR;public class Test : MonoBehaviour{public Text text;private string _lastDir “”;private const float DeadZone 0.1f;void ShowLog(string str, string ax) { text.text str ax; } void Update() { var rightHand InputDevices.GetDeviceAtXRNode(XRNode.RightHand); // 先判断设备是否有效 if (!rightHand.isValid) return; if (rightHand.TryGetFeatureValue(CommonUsages.primary2DAxis, out Vector2 axis)) { if (axis.magnitude DeadZone) { ShowLog(摇杆回中, $x轴{axis.x} y轴{axis.y}); return; } string dir ; float val 0; if (Mathf.Abs(axis.y) Mathf.Abs(axis.x)) { if (axis.y 0) { dir 摇杆朝下; val axis.y; } else { dir 摇杆朝上; val axis.y; } } else { if (axis.x 0) { dir 摇杆朝左; val axis.x; } else { dir 摇杆朝右; val axis.x; } } ShowLog(dir, val.ToString()); } }}