仔细阅读加速度传感器。
本示例分配内存:
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; }
请注意,这未过滤。请在此处查看如何平滑加速度计值以消除噪声。