unity3d 读取加速度传感器(精度)
示例
仔细阅读加速度传感器。
本示例分配内存:
void Update()
{
    //获取精确的加速度计值 
    Vector3 accelValue = preciseAccelValue();
    Debug.Log("精确X: " +accelValue.x+ "  Y: " +accelValue.y+ "  Z: " + accelValue.z);
}
Vector3 preciseAccelValue()
{
    Vector3 accelResult = Vector3.zero;
    foreach (AccelerationEvent tempAccelEvent in Input.accelerationEvents)
    {
        accelResult = accelResult + (tempAccelEvent.acceleration * tempAccelEvent.deltaTime);
    }
    return accelResult;
}这个例子确实没有分配内存:
void Update()
{
    //获取精确的加速度计值 
    Vector3 accelValue = preciseAccelValue();
    Debug.Log("精确X: " +accelValue.x+ "  Y: " +accelValue.y+ "  Z: " + accelValue.z);
}
Vector3 preciseAccelValue()
{
    Vector3 accelResult = Vector3.zero;
    for (int i = 0; i < Input.accelerationEventCount; ++i)
    {
        AccelerationEvent tempAccelEvent = Input.GetAccelerationEvent(i);
        accelResult = accelResult + (tempAccelEvent.acceleration * tempAccelEvent.deltaTime);
    }
    return accelResult;
}请注意,这未过滤。请在此处查看如何平滑加速度计值以消除噪声。
