我现在正在为Android创建AR应用程序,但是发生了一个问题。 通过我的实现,即使Android向上或向下看,传感器也显示相同的音高。 下图显示了我想说的内容。
如果我水平抓住Android,传感器会显示音高== -90。 问题是我无法检测到!= b。(传感器说a == b。) 任何人都知道如何知道Android向上或向下看? Android的方向必须是纵向。
答案 0 :(得分:1)
Sensor.TYPE_ROTATION_VECTOR
用于该情况。
Android平台提供两个传感器,可让您确定设备的位置:地磁场传感器和方向传感器。 Android平台还提供了一个传感器,可让您确定设备面对物体的距离(称为接近传感器)。
方向数据如下,
resultingAngles[1] = orientationData[0]; // orientation z axis to y axis
resultingAngles[2] = orientationData[1]; // orientation x axis to z axis
resultingAngles[0] = orientationData[2]; // orientation y axis to x axis
您已经以y z x方式进行了旋转。尝试改变方向..
请参阅文档了解事件值, http://developer.android.com/guide/topics/sensors/sensors_position.html