Exercício - Use reverb para adicionar distância ao áudio espacial
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
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:
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.
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.
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:
- Defina a propriedade Nível seco para a configuração mais baixa (-10000 mB).
- Defina a propriedade Room para a configuração mais alta (0 mB).
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
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; } }
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:
- Defina a propriedade Grupo de Efeitos de Sala para o novo grupo de misturadores de Efeitos de Quarto.
- Defina a propriedade Master Group como o grupo Master mixer.