Exercício - Use reverb para adicionar distância ao áudio espacial

Concluído

No exercício anterior, você adicionou espacialização para os sons para dar-lhes uma sensação de direção. Neste exercício, você adicionará um efeito de reverberação para dar aos sons uma sensação de distância.

Adicionar um grupo misturador e um efeito de reverberação

  1. Anteriormente, adicionámos um misturador. O misturador inclui um Grupo por padrão, chamado Master. Como só queremos aplicar um efeito de reverberação a alguns sons, vamos adicionar um segundo grupo para esses sons. Para adicionar um Grupo, clique com o botão direito do rato no grupo Mestre no Misturador de Áudio e escolha Adicionar grupo filho. Dê ao grupo um nome adequado; por exemplo , Efeito de quarto:

    Screenshot of Add child group.

  2. Cada grupo tem o seu próprio conjunto de efeitos. Para um efeito de reverberação para o novo grupo, clique com o botão direito do mouse no misturador de efeitos de sala, selecione Adicionar efeito na parte inferior e, em seguida, selecione SFX Reverb.

    Screenshot of Add SFX Reverb.

    Na terminologia de áudio, o áudio original não reverberado é chamado de caminho seco, e o áudio após filtragem com o filtro de reverberação é chamado de caminho molhado. Ambos os caminhos são enviados para a saída de áudio, e suas forças relativas nesta mistura é chamada de mistura molhada/seca. A mistura molhado/seco afeta fortemente a sensação de distância.

  3. O SFX Reverb inclui controles para ajustar a mistura úmida/seca dentro do efeito. Como o plug-in Microsoft Spatializer lida com o caminho seco, usaremos o SFX Reverb apenas para o caminho molhado. No painel Inspetor do seu reverb SFX:

    1. Defina a propriedade Nível seco para a configuração mais baixa (-10000 mB).
    2. Defina a propriedade Room para a configuração mais alta (0 mB).

    Screenshot of SFX Reverb properties.

    As outras configurações controlam a sensação da sala simulada. Em particular, o Tempo de Decadência está relacionado com o tamanho percebido da sala.

Ativar reverberação na reprodução de vídeo

  1. Volte para o Visual Studio e descomente as quatro linhas comentadas no script SpatializeOnOff . O script agora ficará assim:

    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. Depois que essas linhas não são comentadas, ele adiciona duas propriedades à janela Inspetor do script SpatializeOnOff . Atribua-os na janela Inspetor do componente SpatializeOnOff do Quad:

    1. Defina a propriedade Grupo de Efeitos de Sala para o novo grupo de misturadores de Efeitos de Quarto.
    2. Defina a propriedade Master Group como o grupo Master mixer.

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