Пример #1
0
        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;
        }
Пример #2
0
        /// <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.
        }
Пример #3
0
 private void OnValidate()
 {
     influencerController = gameObject.GetComponent <AudioInfluencerController>();
 }