如何获得 WMR 运动控制器的旋转(或变换)

How do you get the rotation (or transform) of WMR motion controllers

有没有办法使用 WMRToolkit 访问控制器的旋转?我知道解算器,但他们似乎专注于使用位置。作为参考,思路很简单,就是把另一个gameobject的rotation设置成和controller的rotation一样,貌似提前一个简单的task.Thanks就可以了!

本文档展示了如何使用Unity API获取运动控制器的位置和旋转:Getting a hand or motion controller's pose

此外,Unity 2019.1中新增了XR输入映射系统,如果您使用的是2019.1或更高版本的unity,可以尝试以下代码:

bool TryGetCenterEyeFeature(out Quaternion rotation)
{
    InputDevice device = InputDevices.GetDeviceAtXRNode(XRNode.RightHand);
    if (device.isValid)
    {
        if (device.TryGetFeatureValue(CommonUsages.deviceRotation, out rotation))
            return true;
    }
    rotation = Quaternion.identity;
    return false;
}