Övning – Använd reverb för att lägga till avstånd till rumsligt ljud

Slutförd

I föregående övning lade du till spatialisering för ljuden för att ge dem en känsla av riktning. I den här övningen lägger du till en reverb-effekt för att ge ljud en känsla av avstånd.

Lägg till en mixergrupp och en reverb-effekt

  1. Tidigare lade vi till en mixer. Mixern innehåller en grupp som standard, med namnet Master. Eftersom vi bara vill tillämpa en reverb-effekt på vissa ljud ska vi lägga till en andra grupp för dessa ljud. Om du vill lägga till en grupp högerklickar du på huvudgruppen i ljudblandaren och väljer Lägg till underordnad grupp. Ge gruppen ett lämpligt namn; till exempel Rumseffekt:

    Screenshot of Add child group.

  2. Varje grupp har en egen uppsättning effekter. Högerklicka på rumseffektblandaren för att återgå till den nya gruppen, välj Lägg till effekt längst ned och välj sedan SFX Reverb.

    Screenshot of Add SFX Reverb.

    I ljudterminologi kallas det ursprungliga, overktra ljudet den torra sökvägen, och ljudet efter filtrering med reverbfiltret kallas den våta sökvägen. Båda sökvägarna skickas till ljudutdata, och deras relativa styrkor i denna blandning kallas den våta/torra blandningen. Den våta/torra blandningen påverkar starkt känslan av avstånd.

  3. SFX Reverb innehåller kontroller för att justera den våta/torra blandningen inom effekten. Eftersom Plugin-programmet Microsoft Spatializer hanterar den torra sökvägen använder vi bara SFX Reverb för den våta sökvägen. I fönstret Inspector i din SFX Reverb:

    1. Ange egenskapen Torr nivå till den lägsta inställningen (-1 0000 mB).
    2. Ange egenskapen Room till den högsta inställningen (0 mB).

    Screenshot of SFX Reverb properties.

    De andra inställningarna styr känslan i det simulerade rummet. I synnerhet är Decay Time relaterat till upplevd rumsstorlek.

Aktivera reverb på videouppspelningen

  1. Gå tillbaka till Visual Studio och avkommentera de fyra kommenterade raderna i SpatializeOnOff-skriptet . Skriptet ser nu ut så här:

    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. När dessa rader är okommenterade läggs två egenskaper till i SpatializeOnOff-skriptets Inspector-fönster. Tilldela dessa i Inspector-fönstret för SpatializeOnOff-komponenten i Quad:

    1. Ange egenskapen Rumseffektgrupp till din nya Room Effect-mixergrupp.
    2. Ange egenskapen Master Group till gruppen Master mixer.

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