目标
根据传感器信息, 平滑的控制3D模型方向.
实现
1. 注册传感器
@Override
protected void onResume() {
super.onResume();
mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
// 初始化加速度传感器
mAccelerometer = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
// 初始化地磁场传感器
mMagnetic = mSensorManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD);
if (mSensorManager != null) {
mSensorManager.registerListener(this, mAccelerometer, SensorManager.SENSOR_DELAY_GAME);
mSensorManager.registerListener(this, mMagnetic, SensorManager.SENSOR_DELAY_GAME);
}
}
2. 反注册
protected void onPause() {
super.onPause();
mSensorManager.unregisterListener(this);
}
3. 采样,计算旋转矩阵,再转换为四元数。
<span style="white-space:pre"> </span&g