Ejercicio: Uso de la reverberación para agregar distancia al audio espacial

Completado

En el ejercicio anterior, agregó espacialización a los sonidos para darles una sensación de dirección. En este ejercicio, agregará un efecto de reverberación para dar a los sonidos una sensación de distancia.

Adición de un grupo de mezcladores y un efecto de reverberación

  1. Anteriormente, agregamos un mezclador. El mezclador incluye un Grupo, que de forma predeterminada, se denomina Maestro. Como solo queremos aplicar un efecto de reverberación a algunos sonidos, vamos a agregar un segundo grupo para esos sonidos. Para agregar un grupo, haga clic con el botón derecho en el grupo Master delAudio Mixer elija Agregar grupo secundario. Asigne al grupo un nombre adecuado; por ejemplo, Efecto Room:

    Screenshot of Add child group.

  2. Cada grupo tiene su propio conjunto de efectos. Para un efecto de reverberación en el nuevo grupo, haga clic con el botón derecho en el mezclador de efectos Room, seleccione Agregar efecto en la parte inferior y, a continuación, seleccione Reverberación de SFX.

    Screenshot of Add SFX Reverb.

    En la terminología de audio, el audio original sin reverberar se denomina ruta de acceso sin efectos y el audio después de filtrar con el filtro de reverberación se denomina ruta de acceso con efectos. Ambas rutas de acceso se envían a la salida de audio y sus puntos fuertes relativos en esta mezcla se denominan mezcla con efectos y sin efectos. La mezcla con efectos y sin efectos afecta en gran medida a la sensación de distancia.

  3. La reverberación de SFX incluye controles para ajustar la mezcla con efectos y sin efectos dentro del efecto. Dado que el complemento Microsoft Spatializer controla la ruta de acceso sin efectos, usaremos la Reverberación de SFX solo para la ruta de acceso con efectos. En el panel Inspector de Reverberación de SFX:

    1. Establezca la propiedad Nivel sin efectos en el valor más bajo (-10 000 mB).
    2. Establezca la propiedad Room en el valor más alto (0 mB).

    Screenshot of SFX Reverb properties.

    Las demás opciones controlan la sensación de la sala simulada. En concreto, el Tiempo de decadencia está relacionado con el tamaño de sala percibido.

Habilitación de la reverberación en la reproducción de vídeo

  1. Vuelva a Visual Studio y quite la marca de comentario de las cuatro líneas comentadas en el script SpatializeOnOff. El script ahora tendrá el siguiente aspecto:

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    using UnityEngine.Audio;
    
    [RequireComponent(typeof(AudioSource))]
    public class SpatializeOnOff : MonoBehaviour
    {
        public GameObject ButtonTextObject;
        public AudioMixerGroup RoomEffectGroup;
        public AudioMixerGroup MasterGroup;
    
        private AudioSource m_SourceObject;
        private bool m_IsSpatialized;
        private TMPro.TextMeshPro m_TextMeshPro;
    
        public void Start()
        {
            m_SourceObject = gameObject.GetComponent<AudioSource>();
            m_TextMeshPro = ButtonTextObject.GetComponent<TMPro.TextMeshPro>();
            SetSpatialized();
        }
    
        public void SwapSpatialization()
        {
            if (m_IsSpatialized)
            {
                SetStereo();
            }
            else
            {
                SetSpatialized();
            }
        }
    
        private void SetSpatialized()
        {
            m_IsSpatialized = true;
            m_SourceObject.spatialBlend = 1;
            m_TextMeshPro.SetText("Set Stereo");
            m_SourceObject.outputAudioMixerGroup = RoomEffectGroup;
        }
    
        private void SetStereo()
        {
            m_IsSpatialized = false;
            m_SourceObject.spatialBlend = 0;
            m_TextMeshPro.SetText("Set Spatialized");
            m_SourceObject.outputAudioMixerGroup = MasterGroup;
        }
    }
    
    
  2. Una vez que estas líneas no están confirmadas, agrega dos propiedades a la ventana Inspector del script SpatializeOnOff. Asígnelas en la ventana Inspector del componente SpatializeOnOff del Cuadrángulo:

    1. Establezca la propiedad Room Effect Group (Grupo de efectos de sala) en el nuevo grupo de mezcladores Efecto de sala.
    2. Establezca la propiedad Grupo Master en el grupo de mezcladores Master.

    Screenshot of the new SpatializeOnOff fields with the correct options selected.