Unity3D Android加速度计和陀螺仪控件

时间:2014-07-01 01:35:08

标签: android unity3d accelerometer gyroscope

我试图在Unity for Android中实现加速度计/陀螺仪控制的游戏。

用户将持有标题为45度的手机景观。 根据他的倾斜度,它将控制相机的音高。 根据他的滚动,它将控制相机的偏航。

我一直在阅读加速度计和陀螺仪,但似乎无法理解如何应用它来满足我的需要。

1 个答案:

答案 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将在应用于相机旋转时使相机移动平稳,