【发布时间】:2014-09-04 19:43:33
【问题描述】:
大家晚上好
我正在尝试为 Google CardBoard、OpenDive、vRase 等设备制作 3D 分屏渲染视图
我正在根据 Gryo 旋转视图,这样当一个人移动头部时,渲染的视图就会发生变化。
使用陀螺仪的值,我的视图指向地板。如果我将 90 添加到 X 的 Gryo 读数中,它会起作用,但是因为该值是 -90 到 + 90,所以整个事情都搞砸了
float currentZ = (androidSensor.getRoll() ) ;
float currentX = (androidSensor.getPitch());
float currentY = (androidSensor.getAzimuth() );
Log.i("TAG", "x: " + currentX + " z " + currentZ + " y " + currentY);
//Matrix.rotateM(mCamera.mHMatrix, 0, currentY, 0, -1,0);
Matrix.rotateM(mCamera.mHMatrix, 0, currentX , 1, 0,0);
我真的应该将渲染旋转 90 度吗?
【问题讨论】:
-
当它达到 -90/90 时到底发生了什么?
-
这是传感器读数错误,不是基于设备方向
标签: android opengl-es-2.0 gyroscope