Oefening: reverb gebruiken om afstand toe te voegen aan ruimtelijke audio
In de vorige oefening hebt u ruimtelijkheid voor de geluiden toegevoegd om ze een richting te geven. In deze oefening voegt u een reverb-effect toe om geluiden een gevoel van afstand te geven.
Een mixergroep en een reverb-effect toevoegen
Eerder hebben we een mixer toegevoegd. De mixer bevat standaard één groep, master genoemd. Omdat we alleen een reverb-effect willen toepassen op sommige geluiden, gaan we een tweede groep voor die geluiden toevoegen. Als u een groep wilt toevoegen, klikt u met de rechtermuisknop op de hoofdgroep in de audiomixer , kiest u Onderliggende groep toevoegen. Geef de groep een geschikte naam; bijvoorbeeld Ruimte-effect:
Elke groep heeft een eigen set effecten. Als u een reverb-effect wilt toepassen op de nieuwe groep, klikt u met de rechtermuisknop op de ruimteeffectmixer, selecteert u Effect onderaan toevoegen en selecteert u vervolgens SFX Reverb.
In audioterminologie wordt de oorspronkelijke, niet-geverifieerde audio het droge pad genoemd en wordt de audio na het filteren met het reverb-filter het natte pad genoemd. Beide paden worden naar de audio-uitvoer verzonden en hun relatieve sterke punten in dit mengsel worden de natte/droge mix genoemd. De natte/droge mix is sterk van invloed op het gevoel van afstand.
De SFX Reverb bevat besturingselementen om de natte/droge mix binnen het effect aan te passen. Omdat de Microsoft Spatializer-invoegtoepassing het droge pad afhandelt, gebruiken we de SFX Reverb alleen voor het natte pad. In het deelvenster Inspector van uw SFX Reverb:
- Stel de eigenschap Dry Level in op de laagste instelling (-10000 mB).
- Stel de eigenschap Ruimte in op de hoogste instelling (0 mB).
De andere instellingen bepalen het gevoel van de gesimuleerde ruimte. In het bijzonder is Vervaltijd gerelateerd aan waargenomen kamergrootte.
Reverb inschakelen voor het afspelen van video's
Ga terug naar Visual Studio en verwijder de opmerkingen bij de vier regels met opmerkingen in het script SpatializeOnOff . Het script ziet er nu als volgt uit:
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; } }
Zodra deze regels zijn verwijderd, worden er twee eigenschappen toegevoegd aan het Inspector-venster van het SpatializeOnOff-script . Wijs deze toe aan het Inspector-venster van het onderdeel SpatializeOnOff van de Quad:
- Stel de eigenschap Room Effect Group in op de nieuwe groep Room Effect Mixer.
- Stel de eigenschap Master Group in op de mastermixergroep.