0 votes
by (380 points)

PICO NEO3 头戴陀螺仪数据会出现在旋转360度后,值的变化出现镜像效果。
例如:从0处开始顺时针旋转,90度,180度,270度,360度,问题来了,继续旋转,接下来的数据变成270度,180,90度,0度。例如:0-180-270-360-270-180-0周而复始
真是数据是 -1(左)到0 0到1 转一圈后变成1-0(左),0到-1

而其他设备陀螺仪数据直接是0-360,继续旋转又是从0-360:例如:0-180-270-360-》0-180-270-360周而复始

头戴水平数据调用这个API
CommonUsages.deviceRotation

是不是哪里需要换算?才能准确判断头戴是左转还是右转?

1 Answer

+1 vote
by (3.8k points)

这个应该是没问题的,你可以试试这段代码看看获得的rotation旋转数据是否正常
Quaternion rotation = new Quaternion();
InputDevices.GetDeviceAtXRNode(XRNode.Head).TryGetFeatureValue(CommonUsages.deviceRotation, out rotation);
Vector3 newRotation = rotation.eulerAngles;

...