Ćwiczenie — używanie reverb w celu dodania odległości do dźwięku przestrzennego

Ukończone

W poprzednim ćwiczeniu dodałeś efekt przestrzenności dźwięków, aby nadać im poczucie kierunku. W tym ćwiczeniu dodasz efekt odgłosu, aby dać dźwiękom poczucie odległości.

Dodaj grupę miksera i efekt pogłosu

  1. Wcześniej dodaliśmy mikser. Mikser domyślnie zawiera jedną grupę o nazwie Master. Ponieważ chcemy zastosować tylko efekt reverb do niektórych dźwięków, dodajmy drugą grupę dla tych dźwięków. Aby dodać grupę, kliknij prawym przyciskiem myszy na grupie Master w Audio Mixer i wybierz Dodaj grupę podrzędną. Nadaj grupie odpowiednią nazwę; na przykład efekt pokoju:

    zrzut ekranu przedstawiający dodawanie grupy podrzędnej.

  2. Każda grupa ma swój własny zestaw efektów. Dodaj efekt pogłosu do nowej grupy, kliknij prawym przyciskiem myszy efekt Room na mikserze, wybierz Dodaj efekt na dole, a następnie wybierz SFX Reverb.

    zrzut ekranu przedstawiający dodanie reverbu SFX.

    W terminologii audio oryginalny, nienachallikowany dźwięk nazywa się ścieżką suchą , a dźwięk po filtrowaniu za pomocą filtru pogłosowego nazywa się ścieżką mokrą . Obie ścieżki są wysyłane do danych wyjściowych dźwięku, a ich względne mocne strony w tej mieszaninie są nazywane mokry/suchy mix. Mieszanka mokry/sucha silnie wpływa na poczucie odległości.

  3. SFX Reverb zawiera kontrolki, aby dostosować mokrą/suchą mieszankę w ramach efektu. Ponieważ wtyczka Microsoft Spatializer obsługuje ścieżkę suchą, będziemy używać SFX Reverb tylko dla ścieżki mokrej. W okienku Inspektora SFX Reverb:

    1. Ustaw właściwość poziomu suchego na najniższe ustawienie (-10000 mB).
    2. Ustaw właściwość Room na maksymalny poziom (0 mB).

    zrzut ekranu przedstawiający właściwości reverb SFX.

    Inne ustawienia kontrolują wrażenie symulowanego pomieszczenia. W szczególności Czas rozpadu jest związany z postrzeganym rozmiarem pomieszczenia.

Włącz pogłos podczas odtwarzania wideo

  1. Wróć do programu Visual Studio i usuń komentarze z czterech skomentowanych wierszy w skrypcie SpatializeOnOff. Skrypt będzie teraz wyglądać następująco:

    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. Po usunięciu komentarza te wiersze dodają dwie właściwości do okna Inspektor skryptu SpatializeOnOff. Przypisz to w oknie Inspector składnika SpatializeOnOff komponentu Quad:

    1. Ustaw właściwość Room Effect Group na nową grupę miksera Room Effect.
    2. Ustaw właściwość Master Group na główną grupę miksera.

    Zrzut ekranu przedstawiający nowe pola SpatializeOnOff z wybranymi odpowiednimi opcjami.