Упражнение. Использование реверберации для добавления расстояния в пространственный звук
В предыдущем упражнении вы добавили пространственность для звуков, чтобы дать им чувство направления. В этом упражнении вы добавите эффект ревербации, чтобы дать звуки чувство расстояния.
Добавление группы микшера и эффекта реверберации
Ранее мы добавили миксер. Миксер включает одну группу по умолчанию с именем Master. Поскольку мы хотим применить к некоторым звукам только эффект реверберации, добавим вторую группу для этих звуков. Чтобы добавить группу, щелкните правой кнопкой мыши главную группу в звуковом миксере выберите "Добавить дочернюю группу". Присвойте группе подходящее имя; Например , эффект комнаты:
Каждая группа имеет собственный набор эффектов. Чтобы изменить эффект для новой группы, щелкните правой кнопкой мыши средство смешивания эффектов комнаты, выберите "Добавить эффект" внизу, а затем выберите SFX Reverb.
В специальной терминологии звукорежиссеров оригинальный звук без реверберации называется «прямым», а звук после фильтрации с помощью фильтра реверберации называется «обработанным». Оба сигнала отправляются на аудиовыход, и их относительные сильные стороны в этом миксе называются миксом прямого/обработанного сигнала. Микс прямого/обработанного сигнала существенно влияет на ощущение расстояния.
В результате Реверберация SFX включает элементы управления для корректировки микса прямого/обработанного сигнала в эффекте. Учитывая, что подключаемый модуль Microsoft Spatializer обрабатывает прямой сигнал, мы будем использовать реверберацию SFX только для обработанного сигнала. В области инспектора SFX Reverb:
- Задайте для свойства Dry Level наименьший параметр (-10000 мБ).
- Задайте для свойства Room максимальное значение (0 mB).
Остальные параметры определяют характеристики эмуляции помещения. В частности, параметр Время ослабления связан с восприятием размера помещения.
Включение реверберации при воспроизведении видео
Вернитесь в Visual Studio и раскомментируйте четыре закомментированных строки в скрипте SpatializeOnOff . Теперь сценарий будет выглядеть следующим образом:
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; } }
После раскомментирования этих строк добавляется два свойства в окно инспектора скрипта SpatializeOnOff . Назначьте эти параметры в окне инспектора компонента SpatializeOnOff в quad:
- Задайте свойству "Группа эффектов комнаты" новую группу смешивания эффектов комнаты.
- Задайте для свойства Master Group группу главного миксера.