public void OnCollisionEnter(Collision other) { //撞击音量 AudioCaseMgr acm = other.gameObject.GetComponent <AudioCaseMgr>(); if (acm == null) { return; } if (levelManager.BallCrashAudio.isPlaying) { return; } //设置音量 //Rigidbody tOtherRigid = other.gameObject.GetComponent<Rigidbody>(); float tempM = other.impulse.magnitude;//(theRigidBody.velocity - (tOtherRigid == null ? Vector3.zero : tOtherRigid.velocity)).magnitude; tempM = tempM > MaxVolumeSpeed ? 1 : tempM / MaxVolumeSpeed; //levelManager.BallCrashAudio.volume = tempM; if (acm.BallCrash_Floor) { levelManager.BallCrashAudio_Floor.PlayOneShot(BallCrashAudioClip_Floor, tempM); } else if (acm.BallCrash_Rail) { levelManager.BallCrashAudio_Rail.PlayOneShot(BallCrashAudioClip_Rail, tempM); } else if (acm.BallCrash_Wood) { levelManager.BallCrashAudio_Wood.PlayOneShot(BallCrashAudioClip_Wood, tempM); } }
public void OnCollisionStay(Collision collision) { AudioCaseMgr acm = collision.gameObject.GetComponent <AudioCaseMgr>(); if (acm == null) { return; } //计算音量 Rigidbody tOtherRigid = collision.gameObject.GetComponent <Rigidbody>(); float tempM = (theRigidBody.velocity - (tOtherRigid == null ? Vector3.zero : tOtherRigid.velocity)).magnitude; tempM = tempM > MaxVolumeSpeed ? 1 : tempM / MaxVolumeSpeed; if (acm.BallScroll_Floor) { levelManager.BallScrollAudio_Floor.volume = tempM; } if (acm.BallScroll_Wood) { levelManager.BallScrollAudio_Wood.volume = tempM; } if (acm.BallScroll_Rail) { levelManager.BallScrollAudio_Rail.volume = tempM; } }
public void OnCollisionExit(Collision collision) { AudioCaseMgr acm = collision.gameObject.GetComponent <AudioCaseMgr>(); if (acm == null) { return; } if (acm.BallScroll_Floor) { levelManager.BallScrollAudio_Floor.volume = 0; } if (acm.BallScroll_Wood) { levelManager.BallScrollAudio_Wood.volume = 0; } if (acm.BallScroll_Rail) { levelManager.BallScrollAudio_Rail.volume = 0; } }