private void OnCollisionEnter(Collision collision) { AudioClip clip = null; if (collision.impulse.magnitude > 0.3f) { clip = soundSys.getRandomClip(); } if (clip && !audioSource.isPlaying) { float volume = Mathf.Min(collision.impulse.magnitude / 5.0f, 1.0f); audioSource.pitch = Random.Range(0.5f, 1.25f); audioSource.PlayOneShot(clip, volume); } }
private void OnCollisionEnter(Collision collision) { AudioClip clip = null; float mass = 1.0f; if (rb) { mass = rb.mass; } float force = mass * collision.impulse.magnitude; if (force > 0.1f) { clip = soundSys.getRandomClip(); } if (clip /* && !audioSource.isPlaying*/) { float volume = Mathf.Min(force * 2.0f, 1.0f); //audioSource.pitch = Random.Range(0.5f, 1.25f); audioSource.PlayOneShot(clip, volume); } }