//public float testSpeed = 0; float GetZTurbulence(float forwardWindSpeed) { float v = Mathf.Clamp01(Mathf.Abs(forwardWindSpeed / terminalFrontSpeed) - windBoost.GetWindBoost().magnitude); //v = testSpeed; if (v > 0.8) { return(0); } if (zTurbulence == 0) { zTurbulencePeriod = 0.5f + Random.Range(0f, 1f) * 3 * (1 - v); } zTurbulence += Time.deltaTime * Mathf.PI * 2 / zTurbulencePeriod; if (zTurbulence > 2 * Mathf.PI) { zTurbulence = 0; } float magnitude = turbulenceMagnitudeZ * (1 - v); float t = Mathf.Sin(zTurbulence) * magnitude; //Debug.Log(t); return(t); }
private void updateWindSound() { float wspeed = rigidbody.velocity.magnitude; float boost = windBoost.GetWindBoost().magnitude / windBoost.windSpeed; WindAudio.volume = wspeed / 10 + boost * 0.5f; float pitchExcursion = 2f; WindAudio.pitch = 1 - pitchExcursion * .5f + WindAudio.volume * pitchExcursion; }