Cvičení – použití funkce reverb k přidání vzdálenosti k prostorovým zvukům

Dokončeno

V předchozím cvičení jste přidali prostorovou prostorizaci zvuků, abyste jim dali představu o směru. V tomto cvičení přidáte efekt dozvuku, aby zvuky měly pocit vzdálenosti.

Přidejte skupinu mixéru a efekt dozvuku

  1. Dříve jsme přidali mixér. Mixér obsahuje ve výchozím nastavení jednu skupinu, která se nazývá Master. Protože budeme chtít použít efekt dozvuku pouze u některých zvuků, přidáme pro tyto zvuky druhou skupinu. Chcete-li přidat skupinu, klikněte pravým tlačítkem myši na skupinu Master ve Audio Mixer a zvolte Přidat podřízenou skupinu. Dejte skupině vhodný název; například Efekt místnosti:

    Snímek obrazovky funkce Přidat podřízenou skupinu.

  2. Každá skupina má vlastní sadu efektů. Chcete-li přidat reverb do nové skupiny, klikněte pravým tlačítkem myši na mixér Room efektu , zvolte Přidat efekt dole a pak vyberte SFX Reverb .

    snímek obrazovky přidání SFX reverbu

    V terminologii zvuku se původní, nepřevrácený zvuk nazývá suchá cestaa zvuk po filtrování pomocí filtru reverb se nazývá mokrá cesta. Obě cesty se posílají do zvukového výstupu a jejich relativní síla v této směsi se nazývá mokrý/suchý mix. Mokrá/suchá směs silně ovlivňuje smysl vzdálenosti.

  3. SFX Reverb obsahuje ovládací prvky pro úpravu mokrého/suchého mixu v rámci efektu. Vzhledem k tomu, že modul plug-in Microsoft Spatializer zpracovává suchou cestu, budeme používat SFX Reverb pouze pro mokrou cestu. V podokně inspektoru SFX Reverb:

    1. Nastavte vlastnost "Sucho" na nejnižší nastavení (-10000 mB).
    2. Nastavte vlastnost Room na nejvyšší nastavení (0 mB).

    Snímek obrazovky s vlastnostmi SFX Reverb

    Ostatní nastavení řídí chování simulované místnosti. Konkrétně Doba rozpadu souvisí s vnímanou velikostí místnosti.

Povolit dozvuk při přehrávání videa

  1. Vraťte se do sady Visual Studio a odkomentujte čtyři okomentované řádky ve skriptu SpatializeOnOff. Skript teď bude vypadat takto:

    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. Jakmile jsou tyto řádky nekommentovány, přidá dvě vlastnosti do okna inspektoru SpatializeOnOff skriptu. Přiřaďte je v okně inspektoru komponenty SpatializeOnOff kvádru :

    1. Nastavte vlastnost Room Effect Group na novou skupinu mixéru Room Effect.
    2. Nastavte vlastnost Master Group na skupinu Master mixer.

    Snímek obrazovky s novými poli SpatializeOnOff a vybranou správnou možností