// Update is called once per frame private void Update() { float angle = 0; if (Input.acceleration != Vector3.zero) { switch (tiltAroundAxis) { case AxisOptions.ForwardAxis: angle = Mathf.Atan2(Input.acceleration.x, -Input.acceleration.y) * Mathf.Rad2Deg + centreAngleOffset; break; case AxisOptions.SidewaysAxis: angle = Mathf.Atan2(Input.acceleration.z, -Input.acceleration.y) * Mathf.Rad2Deg + centreAngleOffset; break; } } float axisValue = Mathf.InverseLerp(-fullTiltAngle, fullTiltAngle, angle) * 2 - 1; switch (mapping.type) { case AxisMapping.MappingType.NamedAxis: steerAxis.Update(axisValue); break; case AxisMapping.MappingType.MousePositionX: CrossPlatformInput.SetVirtualMousePositionX(axisValue * Screen.width); break; case AxisMapping.MappingType.MousePositionY: CrossPlatformInput.SetVirtualMousePositionY(axisValue * Screen.width); break; case AxisMapping.MappingType.MousePositionZ: CrossPlatformInput.SetVirtualMousePositionZ(axisValue * Screen.width); break; } }
private void Update() { float value = 0f; if (Input.acceleration != Vector3.zero) { TiltInput.AxisOptions axisOptions = this.tiltAroundAxis; if (axisOptions != TiltInput.AxisOptions.ForwardAxis) { if (axisOptions == TiltInput.AxisOptions.SidewaysAxis) { value = Mathf.Atan2(Input.acceleration.z, -Input.acceleration.y) * 57.29578f + this.centreAngleOffset; } } else { value = Mathf.Atan2(Input.acceleration.x, -Input.acceleration.y) * 57.29578f + this.centreAngleOffset; } } float num = Mathf.InverseLerp(-this.fullTiltAngle, this.fullTiltAngle, value) * 2f - 1f; switch (this.mapping.type) { case TiltInput.AxisMapping.MappingType.NamedAxis: this.steerAxis.Update(num); break; case TiltInput.AxisMapping.MappingType.MousePositionX: CrossPlatformInput.SetVirtualMousePositionX(num * (float)Screen.width); break; case TiltInput.AxisMapping.MappingType.MousePositionY: CrossPlatformInput.SetVirtualMousePositionY(num * (float)Screen.width); break; case TiltInput.AxisMapping.MappingType.MousePositionZ: CrossPlatformInput.SetVirtualMousePositionZ(num * (float)Screen.width); break; } }