private void MovementEffects() { float deltaX = (transform.position.x - PrevX); if (Mathf.Abs(deltaX) > 0.0001f) { float slope = terrain.GetSlopeAtX(transform.position.x); slope = (slope + 1) * 0.5f; float spinSpeed = Mathf.Lerp(MinWheelSpin, MaxWheelSpin, slope); foreach (TankWheel wheel in MyWheels) { wheel.Spin(spinSpeed); } if (MovementAudio.volume < MovementVolume) { MovementAudio.volume += Time.deltaTime; } if (MyTurn) { cameraEffects.SetTankMoving(true); } } else { if (MovementAudio.volume > 0f) { MovementAudio.volume -= Time.deltaTime; } if (MyTurn) { cameraEffects.SetTankMoving(false); } } float deltaRot = (TurretPivot.rotation.z - PrevTurretRot); if (Mathf.Abs(deltaRot) > 0.0001f) { if (TurretAudio.volume < TurretVolume) { TurretAudio.volume += Time.deltaTime; } } else { if (TurretAudio.volume > 0f) { TurretAudio.volume -= Time.deltaTime; } } PrevX = transform.position.x; PrevTurretRot = TurretPivot.rotation.z; }