Sound
Unity Manual > User Guide > Creating Gameplay > Sound

Sound

Audio Listener

Компонент Audio Listener выполняет роль микрофона. Он получает входные сигналы от компонентов Audio Source в сцене и передаёт звук на динамики. Традиционно, данный компонент прикрепляется к главной камере.


Audio Listener, прикреплённый к Main Camera.

Properties

Audio Listener не имеет настраиваемых свойств. Для работы он просто должен быть добавлен. И он по умолчанию добавляется к Main Camera.

Details

Audio Listener работает в связке с Audio Sources, позволяя создавать звуковую атмосферу игры. Когда Audio Listener прикреплён к объекту в сцене, любой Audio Source находящийся к нему близко будет обработан и выведен на динамики. В сцене может быть только 1 (один) Audio Listener.

Если Sources находится в моноформате, Audio Listener автоматически будет позиционировать звук в стереополе и выдавать корректную громкость. Audio Sources в стереоформате будут автоматически звучать в обоих динамиках в соответствии с настройками аудиофайла.
Скажем, если персонаж заходит с улицы в ночной клуб, музыку там логично будет сделать в стереоформате, а разговоры персонажей — в моно.

Hints

Одна сцена может содержать только один Audio Listener.
Доступ к настройкам звука всего проекта можно получить через Audio Manager (Edit>Project Settings>Audio menu).
Подробное сравнение моно- и стереозвучания — Audio Clip.

Audio Source

Audio Source берёт Audio Clip и воспроизводит его из определённой позиции в мире.


Audio Source в Scene View и в Inspector.

Properties

Audio Clip Ссылка на воспроизводимый аудиоклип.
Play On Awake Если включено — звук начинает проигрываться при старте сцены.
Выключено — нужно активировать скриптом через Play()
Volume Громкость звука, находящегося на расстоянии 1 единцы (1 метра) от Audio Listener.
Pitch Скосрость воспроизведения. Значение «1» — нормальная скорость.
Min Volume Минимальная громкость звука.
Max Volume Максимальная громкость звука.
Rolloff Factor Как быстро затухает звук с увеличением расстояния.
Loop Если включено, то Audio Clip будет воспроизведён снова после окончания.

Creating Audio Sources

Audio Sources ничего не могут делать без привоенного им аудиоклипа. Аудиоклип — этот тот звуковой файл, который будет воспроизведён. Audio Source контроллирует свойства воспроизведения (время, громкость и т. п.)

Создание Audio Source:
* Импортируйте аудиофайл в проект. Теперь это аудиоклип.
* GameObject>Create Empty.
* Component>Audio>Audio Source.
* Создайте ссылку на Audio Clip в Audio Source в Inspector.

Hints

Rolloff Factor — ключевой параметр для создания правильной аудиоатмосферы.
3D-аудиоэффекты работают только с аудиоклипами в моноформате.

Audio Clip

Аудиоклип используется в Audio Sources для воспроизведения аудиоресурса в Unity. Unity поддерживает моно и стереорежимы.


Inspector Audio Source с назаченным аудиоклипом.
Фактически, вся работа с аудоклипом сводится к созданию ссылки на него в компоненте Audio Source.

Properties

Аудиоресурсы имеют только свойства воспроизведения. Некоторые из них устанавливаются в настройках импорта.

Format Формат хранения аудио. Unity поддерживает четыре несжатый формата и один сжатый:
Mono 8 bit 8 bit uncompressed mono PCM audio
Mono 16 bit 16 bit uncompressed mono PCM audio
Stereo 8 bit 8 bit uncompressed stereo PCM audio
Stereo 16 bit 16 bit uncompressed stereo PCM audio
Ogg Vorbis сжатие в Ogg Vorbis (stereo или mono)
Length Длительность звука (в секундах).
Frequency Частота звука (в кГц).

Importing Audio Assets

Unity поддерживает два типа аудио: несжатое аудио и Ogg Vorbis. Аудиофайл другого формата при импорте в проект будет автоматически сконвертирован в один из этих типов.

File Type Conversion

.AIFF Конвертируется в несжатое аудио.
.WAV Конвертируется в несжатое аудио.
.MP3 Конвертируется в Ogg Vorbis.
.OGG Изначально Ogg Vorbis.

Import Settings

При импорте несжатого в Ogg Vorbis файла доступны некоторые настройки импорта. Можно сжать аудио в Ogg Vorbis, форсировать моно или стереозвучание и настроить другие параметры. У несжатого аудио и Ogg Vorbis есть недостатки и преимущества, их необходимо использовать с оглядкой на ситуацию, а не сосредотачиваться на каком-то одном формате.


Настройки импорта аудиоклипа.
Audio Format Only available if the file was initially saved in an uncompressed format.
Uncompressed Несжатое аудио. Подходит для коротких звуков. Подробная информация — using uncompressed audio section.
Ogg Vorbis Сжатие в Ogg Vorbis. Подходит для длинных звуков и музыки. Подробная информация — using Ogg Vorbis section.
Channels Форсирование стерео- или монозвучания. Это важно для позционирования аудио (Positional Audio).
Bitrate Битрейт при сжатии в Ogg Vorbis.
Decompress on load Если включено — аудиоклип будет декодирован из Ogg Vorbis при загрузке уровня. Это важно при оптимизации игры.

Using Positional Audio

Позиционирование аудио — это размещение и громкость звука в динамиках. Позиционирование симулирует дистанцию и локацию звука через затухание громкости и панорамирование звука в динамиках. Unity поддерживает позиционирование аудио, но только для монофонических аудиоклипов. Звучание стереозвука полностью определяется файлом ресурса. По этим причинам монозвук рекомендуется для звуковых эффектов, а стерео — для музыки.

Бывают случаи, когда нужно проигрывать музыку из двух разных игровых объектов. Тогда при перемещении персонажа от одного источника звука музыка будет стихать. И для этого как раз требуется установить для музыки моноформат.

Форсирование моно или стереозвучания производится в настройках импорта.

When to use Uncompressed Audio

Не стоит использовать несжатое аудио при создании игр для веб-плеера. Используйте Ogg Vorbis.

Несжатое аудио хорошо тем, что проигрывается очень быстро без дополнительной нагрузки на ЦПУ. Это объясняется тем, что не требуется декомпрессия при воспроизведении. Однако, несжатое аудио занимает очень много места и увеличивает тем самым размер игры. Обычно, в несжатом аудио хранятся короткие звуки (<0,5 сек). Несжатое аудио лучше сохранять с частотой звука 22khz или 11khz — это существенная экономия места без заметной потери качества.

When to use Ogg Vorbis

Желательно использовать Ogg Vorbis при создании игр для веб-плеера.

Файлы Ogg Vorbis подвергаются сжатию, что минимизирует занимаемое ими место на диске. Это позволяет хранить длинные аудиодорожки без существенного увеличения размера игры. Однако, при проигрывании эти файлы подвергаются декомпрессии, что отнимает дополнительное процессорное время. Частота для аудиофайлов Ogg Vorbis предпочтительна 44khz — это лучше для производительности, чем 22khz.

Loading Ogg Vorbis files

Если используется Ogg Vorbis, в настройках импорта можно выбрать, когда будет произведена декомпрессия.

DecompressOnLoad enabled аудиоклип будет разжат и загружен в RAM при загрузке уровня.
DecompressOnLoad disabled (Live decompression)

аудиоклип будет разжат при начале его воспроизведения в режиме реального времени.

Декомпрессия при загрузке уровня снижает нагрузку на ЦПУ, но увеличивает время этой самой загрузки и увеличивает использование RAM (так как записывает туда разжатое аудио).
Декомпрессия при воспроизведении экономит RAM и снижает время загрузки уровня, но требует дополнительных ресурсов ЦПУ.

Режим декомпрессии при загрузке следует использовать в большинстве случаев, особенно для коротких звуков.
Режим декомпрессии при воспроизведении может использоваться для длинных музыкальных дорожек. Все аудиоклипы Ogg Vorbis для декомпрессии требуют дополнительных ресурсов ЦПУ. Старайтесь избегать декомпрессии более чем двух файлов одновременно.

Hints

Стерезвук играется «как есть». Если необхоимо использовать затухание и другие 3D-эффекты, форсируйте монозвучание в настройках импорта.