0

我正在使用 2019.3 中最新的 XR 交互式工具包。

我的游戏中有一个带有左右手 XR 控制器的 XR Rig。

我有一个自己的脚本,我正在查看 XR 控制器 InputDevice 特性成员,以尝试确定控制器是哪只手。

特征成员始终为无。这是我的一些代码:

        var characteristics = InputDeviceCharacteristics.HeldInHand | InputDeviceCharacteristics.Left;
        bool leftHand = ((_controller.inputDevice.characteristics & characteristics) == characteristics);

        Debug.Log(string.Format("is left hand: {0}, {1}, {2}, {3}", leftHand, _controller.inputDevice.characteristics, InputDeviceCharacteristics.HeldInHand, InputDeviceCharacteristics.Left));

两个控制器的输出为:false、None、HeldInHand、Left

这是一个错误还是我需要做些什么来启动它或获得要填充的特征?

4

1 回答 1

0

Quest 控制器不会被识别为 HeldInHand。您可以使用:

List<InputDevice> allDevices = new List<InputDevice>();
InputDevices.GetDevices(allDevices);

您将获得 3 台设备 - Quest、左右控制器。然后使用 .contains 过滤器来分隔左右控制器输入:

if (device.name.Contains("Right"))
            {device.TryGetFeatureValue(CommonUsages.primary2DAxis, out localRightPrimaryAxis);
}
于 2020-09-16T14:18:29.030 回答