我试图在Unity for Android中实现加速度计/陀螺仪控制的游戏。
用户将持有标题为45度的手机景观。 根据他的倾斜度,它将控制相机的音高。 根据他的滚动,它将控制相机的偏航。
我一直在阅读加速度计和陀螺仪,但似乎无法理解如何应用它来满足我的需要。
答案 0 :(得分:6)
要从加速度计控制您的相机,您应该使用低通滤波器,因为原始加速度计数据会产生很大的噪音,导致抖动运动
public float AccelerometerUpdateInterval = 1.0f / 100.0f;
public float LowPassKernelWidthInSeconds = 0.001f;
public Vector3 lowPassValue = Vector3.zero;
Vector3 lowpass(){
float LowPassFilterFactor = AccelerometerUpdateInterval / LowPassKernelWidthInSeconds; // tweakable
lowPassValue = Vector3.Lerp(lowPassValue, Input.acceleration, LowPassFilterFactor);
return lowPassValue;
}
使用方法lowpass()而不是Input.acceleration将在应用于相机旋转时使相机移动平稳,