protected virtual void OnCollisionEnter(Collision collision) { Collider collider = collision.collider; if (SoundObjects.ContainsKey(collider)) { NVRCollisionSoundObject collisionSoundObject = SoundObjects[collider]; float volume = CalculateImpactVolume(collision); if (volume < NVRCollisionSoundController.Instance.MinCollisionVolume) { //Debug.Log("Volume too low to play: " + Volume); return; } AudioSource.PlayClipAtPoint(this.collisionSounds[Random.Range(0, collisionSounds.Count)], collision.contacts[0].point, volume); AudioSource.PlayClipAtPoint(collisionSoundObject.collisionSounds[Random.Range(0, collisionSounds.Count)], collision.contacts[0].point, volume); } }
protected virtual void OnCollisionEnter(Collision collision) { Collider collider = collision.collider; if (SoundObjects.ContainsKey(collider)) { NVRCollisionSoundObject collisionSoundObject = SoundObjects[collider]; float volume = CalculateImpactVolume(collision); if (volume < NVRCollisionSoundController.Instance.MinCollisionVolume) { //Debug.Log("Volume too low to play: " + Volume); return; } NVRCollisionSoundController.Play(this.Material, collision.contacts[0].point, volume); NVRCollisionSoundController.Play(collisionSoundObject.Material, collision.contacts[0].point, volume); } }
protected virtual void OnCollisionEnter(Collision collision) { Collider collider = collision.collider; if (SoundObjects.ContainsKey(collider)) { NVRCollisionSoundObject collisionSoundObject = SoundObjects[collider]; float volume = CalculateImpactVolume(collision); if (volume < NVRCollisionSoundController.Instance.MinCollisionVolume) { //Debug.Log("Volume too low to play: " + Volume); return; } // Play this objects audio PlayCollisionAudio(collision, volume); // Play collided object audio collisionSoundObject.PlayCollisionAudio(collision, volume); } }