Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Unity_в_действии_Джозеф_Хокинг_Рус.pdf
Скачиваний:
83
Добавлен:
21.06.2022
Размер:
26.33 Mб
Скачать

10.1. Импорт звуковых эффектов      243

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

4.Оптимизировать загрузку музыки.

5.Сделать отдельную регулировку громкости для музыки и звуковых эффектов, в том числе для переходящих один в другой музыкальных треков.

ПРИМЕЧАНИЕ  По большому счету, эта глава не привязана к конкретному проекту; мы просто добавляем звук к существующему демонстрационному ролику. Все упражнения демонстрируются на примере шутера от первого лица, созданного в главе 3. Вы можете скачать соответствующий фрагмент проекта или воспользоваться любым другим демонстрационным роликом по своему вкусу.

Надеюсь, у вас уже открыт демонстрационный ролик и можно сделать первый шаг: импортировать звуковые эффекты.

10.1. Импорт звуковых эффектов

Чтобы у вас появилась возможность воспроизведения звуков, нужно импортировать аудиофайлы в Unity-проект. Процедура начинается с подбора файлов нужного формата, которые затем переносятся в Unity и настраиваются под ваши цели.

10.1.1. Поддерживаемые форматы файлов

При рассмотрении графических ресурсов в главе 4 вы видели, что Unity поддерживает различные форматы, каждый со своими достоинствами и недостатками. В табл. 10.1 представлены поддерживаемые форматы аудиофайлов.

Таблица 10.1. Форматы аудиофайлов, поддерживаемые в Unity

Тип

Достоинства и недостатки

файла

 

 

 

WAV

Формат, предлагаемый в Windows по умолчанию. Несжатый звуковой файл

 

 

AIF

Формат, предлагаемый в Mac по умолчанию. Несжатый звуковой файл

 

 

MP3

Сжатый звуковой файл; до некоторой степени жертвуется качество ради

 

уменьшения размера

 

 

OGG

Сжатый звуковой файл; до некоторой степени жертвуется качество ради

 

уменьшения размера

 

 

MOD

Формат для музыкальных трекеров. Специализированная разновидность

 

эффективной цифровой музыки

 

 

XM

Формат для музыкальных трекеров. Специализированная разновидность

 

эффективной цифровой музыки

 

 

Основным фактором, отличающим форматы друг от друга, является сжатие. Оно позволяет уменьшить размер файла за счет удаления из него некоторой части информации. Сжатие реализовано таким образом, что удалению подвергается наименее важная информация, поэтому качество звука остается вполне приемлемым. Несмотря на то что потеря качества незначительна, для коротких звуковых клипов нужно

244      Глава 10. Звуковые эффекты и музыка

выбирать форматы без сжатия. Для более длинных звуковых клипов (особенно с музыкой) желателен формат со сжатием, в противном случае размер файла становится недопустимо большим.

Впрочем, при работе в Unity на выбор влияет еще один фактор…

СОВЕТ  В Unity есть возможность сжимать аудиофайлы после импорта. Поэтому в процессе разработки игры имеет смысл пользоваться форматами без сжатия даже для длинных музыкальных клипов, а не импортировать сжатые аудиофайлы.

КАК РАБОТАЕТ ЦИФРОВОЙ ЗВУК

В общем случае аудиофайлы сохраняют форму волны, которая создается в наушниках при прослушивании музыки. Звук представляет собой набор распространяющихся ввоздухе волн, соответственно, различные звуки состоят из звуковых волн различных размеров и частот. В аудиофайлах эти волны записываются с созданием множества их замеров через короткие интервалы времени и сохранением состояния волны в каждом замере.

Чем чаще записываются замеры волн, тем более точной получается запись изменений волны во времени — тем меньше интервалы между изменениями. Но это означает большее количество сохраняемых данных и, как следствие, больший размер файла. При сжатии размер файла уменьшается за счет различных приемов, в число которых входит, к примеру, удаление данных на звуковых частотах, неразличимых человеческим ухом.

Музыкальные трекеры представляют собой особый тип программных музыкальных секвенсоров для создания музыки. Если в традиционных аудиофайлах звук хранится в виде обычных волн, секвенсеры сохраняют нечто, больше напоминающее ноты: файл-трекер содержит последовательность нот с такой информацией, как интенсивность и частота каждой ноты. Эти «ноты» состоят из небольших волн, но общее количество сохраненных данных невелико, так как каждая нота используется в последовательности много раз. Написанная таким способом музыка при всей своей эффективности представляет собой крайне специализированные аудиофайлы.

Благодаря возможности сжатия после импорта всегда выбирайте файлы в формате WAV или AIF. Настройки импорта коротких звуковых эффектов и музыки, естественно, будут различаться (особенно в части сжатия), но исходный файл всегда должен быть без сжатия.

Существуют различные способы создания музыкальных файлов (например, в приложении Б упоминается инструмент Audacity, позволяющий записывать звук при помощи микрофона), но для нашего проекта мы скачаем образцы звуков с одного из многочисленных бесплатных сайтов. В качестве источника ресурсов я предлагаю сайт www.freesound.org. Нам нужны клипы в формате WAV.

ВНИМАНИЕ  «Бесплатные» аудиофайлы предлагаются под различными вариантами лицензий, поэтому всегда проверяйте, разрешено ли задействовать конкретный клип нужным вам способом. К примеру, многие бесплатные образцы музыки предназначены только для некоммерческого использования.

В моем примере проекта фигурируют следующие звуковые эффекты общего пользования (разумеется, вам ничто не мешает скачать собственные варианты клипов; не забудьте проверять отсутствие лицензионных ограничений):

thump от пользователя hy96;

ding от пользователя Daphne_in_Wonderland;

10.1. Импорт звуковых эффектов      245

swish bamboo pole от пользователя ra_gun;fireplace от пользователя leosalom.

Следующим шагом после скачивания файлов станет их импорт в Unity.

10.1.2. Импорт аудиофайлов

Собранную вами коллекцию аудиофайлов нужно импортировать в Unity. В главе 4 вы узнали, что любые ресурсы нужно вставить в проект, и только после этого их можно будет использовать в игре.

Простой механизм импорта работает со всеми видами ресурсов: вы перетаскиваете файлы из папки на компьютере на вкладку Project в Unity (создайте папку с именем Sound FX для перетаскивания в нее файлов). Как видите, все очень просто! Но как и в случае с остальными ресурсами, у аудиофайлов есть настройки импорта, которые задаются на панели Inspector (рис. 10.1).

Н а а

?

Ф а а а

( , а ) а а• а. В а а PCM Vorbis. В …а

Quality

Рис. 10.1.

П а а а-

• а / а

а а

За а

а а

а ?

Настройки импорта аудиофайлов

Флажок Force To Mono устанавливать не нужно. Он позволяет выбрать между моно- и стереозвуком; зачастую звук записывается в стерео, то есть в файле присутствуют одновременно две волны, одна для левого, другая для правого наушника или колонки. Чтобы уменьшить размер файла, можно убрать половину звуковой информации. После этого на обе колонки будет посылаться одна волна вместо двух.

Следом идут флажки Load In Background (загрузка в фоновом режиме) и Preload Audio Data (предварительная загрузка аудиоданных). Настройки предварительной загрузки относятся к балансировке производительности воспроизведения и использования памяти; заранее загруженный аудиофайл занимает память, ожидая своей очереди, зато в процессе его воспроизведения не приходится тратить время на загрузку. Загрузка звука в фоновом режиме позволяет программе продолжить свою работу; этот вариант в общем случае подходит для длинных музыкальных клипов, но исключает возможность немедленного воспроизведения звука. Для коротких звуковых клипов флажок Load In Background обычно не устанавливается, что гарантирует их полную загрузку перед воспроизведением. Так как сейчас мы импортируем короткие звуковые эффекты, устанавливать этот флажок не нужно.

Наконец, наиболее важными параметрами являются Load Type (загружаемый тип) и Compression Format (формат сжатия). Последний отвечает за формат сохраненных аудиоданных. Как упоминалось в предыдущем разделе, музыка должна быть сжатой,