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);
            }
        }