private void Awake() { influencerController = gameObject.GetComponent <AudioInfluencerController>(); LoadQualityFilterSettings(); filterSettings = sourceQualityFilterSettings[SourceQuality]; lowPassFilter = gameObject.GetComponent <AudioLowPassFilter>(); lowPassFilter.cutoffFrequency = filterSettings.LowPassCutoff; highPassFilter = gameObject.GetComponent <AudioHighPassFilter>(); highPassFilter.cutoffFrequency = filterSettings.HighPassCutoff; }
/// <inheritdoc /> 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 = AudioInfluencerController.NeutralHighFrequency; AudioInfluencerController influencerController = soundEmittingObject.GetComponent <AudioInfluencerController>(); if (influencerController != null) { neutralFrequency = influencerController.NativeLowPassCutoffFrequency; } lowPass.cutoffFrequency = neutralFrequency; lowPass.enabled = false; // Note: Volume attenuation is reset in the AudioInfluencerController, which is attached to the sound emitting object. }
private void OnValidate() { influencerController = gameObject.GetComponent <AudioInfluencerController>(); }