/// <summary> /// Removes the previously applied audio effect. /// </summary> /// <param name="soundEmittingObject">The GameObject from which the effect is to be removed.</param> public void RemoveEffect(GameObject soundEmittingObject) { // Audio occlusion is performed using a low pass filter. AudioLowPassFilter lowPass = soundEmittingObject.GetComponent <AudioLowPassFilter>(); if (lowPass == null) { return; } float neutralFrequency = AudioEmitter.NeutralHighFrequency; AudioEmitter influencerManager = soundEmittingObject.GetComponent <AudioEmitter>(); if (influencerManager != null) { neutralFrequency = influencerManager.GetNativeLowPassCutoffFrequency(); } lowPass.cutoffFrequency = neutralFrequency; lowPass.enabled = false; // Note: Volume attenuation is reset in the AudioInfluencerManager, attached to the sound emitting object. }