Упражнение. Использование реверберации для добавления расстояния в пространственный звук

Завершено

В предыдущем упражнении вы добавили пространственность для звуков, чтобы дать им чувство направления. В этом упражнении вы добавите эффект ревербации, чтобы дать звуки чувство расстояния.

Добавление группы микшера и эффекта реверберации

  1. Ранее мы добавили миксер. Миксер включает одну группу по умолчанию с именем Master. Поскольку мы хотим применить к некоторым звукам только эффект реверберации, добавим вторую группу для этих звуков. Чтобы добавить группу, щелкните правой кнопкой мыши главную группу в звуковом миксере выберите "Добавить дочернюю группу". Присвойте группе подходящее имя; Например , эффект комнаты:

    Screenshot of Add child group.

  2. Каждая группа имеет собственный набор эффектов. Чтобы изменить эффект для новой группы, щелкните правой кнопкой мыши средство смешивания эффектов комнаты, выберите "Добавить эффект" внизу, а затем выберите SFX Reverb.

    Screenshot of Add SFX Reverb.

    В специальной терминологии звукорежиссеров оригинальный звук без реверберации называется «прямым», а звук после фильтрации с помощью фильтра реверберации называется «обработанным». Оба сигнала отправляются на аудиовыход, и их относительные сильные стороны в этом миксе называются миксом прямого/обработанного сигнала. Микс прямого/обработанного сигнала существенно влияет на ощущение расстояния.

  3. В результате Реверберация SFX включает элементы управления для корректировки микса прямого/обработанного сигнала в эффекте. Учитывая, что подключаемый модуль Microsoft Spatializer обрабатывает прямой сигнал, мы будем использовать реверберацию SFX только для обработанного сигнала. В области инспектора SFX Reverb:

    1. Задайте для свойства Dry Level наименьший параметр (-10000 мБ).
    2. Задайте для свойства Room максимальное значение (0 mB).

    Screenshot of SFX Reverb properties.

    Остальные параметры определяют характеристики эмуляции помещения. В частности, параметр Время ослабления связан с восприятием размера помещения.

Включение реверберации при воспроизведении видео

  1. Вернитесь в 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;
        }
    }
    
    
  2. После раскомментирования этих строк добавляется два свойства в окно инспектора скрипта SpatializeOnOff . Назначьте эти параметры в окне инспектора компонента SpatializeOnOff в quad:

    1. Задайте свойству "Группа эффектов комнаты" новую группу смешивания эффектов комнаты.
    2. Задайте для свойства Master Group группу главного миксера.

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