Перейти к содержимому

Unity как добавить звук

  • автор:

Аудио. Обзор.

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

Основная теория

В реальной жизни, звуки издаются объектами и слышатся слушателями. Восприятие звука зависит от ряда факторов. Слушатель может определить откуда примерно идёт звук, а по громкости и качеству звука определить примерное расстояние до источника. Быстро движущийся источник звука (как падающая бомба, или проезжающая полицейская машина) будет меняться по высоте во время движения, в результате эффекта Допплера. Кроме того, среда будет влиять на отражение звука. Так что голос в пещере будет иметь эхо, а на открытом воздухе — нет.

Аудио источники (Source) и слушатель (Listener)

Для имитации эффектов расположения, Unity требует, чтобы звуки исходили из компонентов Audio Source , прикреплённых к объектам. Затем, испускаемые звуки “ловятся” компонентом Audio Listener , прикреплённым к другому объекту, чаще всего, к камере. Затем Unity может имитировать эффекты расстояния и пространственного положения источника от слушателя и проигрывать их для пользователя соответствующим образом. Относительная скорость объектов источника и слушателя также может быть использована для имитации эффекта Допплера для дополнительной реалистичности.

Unity не может рассчитать эхо только исходя из геометрии сцены, но вы можете имитировать его, добавив к объектам аудио фильтры ( Audio Filters ). Например, вы могли бы применить Echo фильтр к звуку, который предназначен для звучания из пещеры. В случаях, когда объекты могут двигаться внутрь и наружу из области сильного эхо, вы можете добавить в сцену зону реверберации ( Reverb Zone ). Например, в вашей игре автомобили могут проезжать по туннелю. Если вы расположите зону реверберации внутри туннеля, звуки двигателей автомобилей начнут отдаваться эхом в момент заезда в туннель и эхо прекратится, когда они будут выезжать с другой стороны туннеля,

The Unity Audio Mixer allows you to mix various audio sources, apply effects to them, and perform mastering.

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

Работа с аудио ассетами

Unity может импортировать файлы в форматах AIFF, WAV, MP3 и Ogg тем же путем, что и другие ресурсы, просто перетаскиванием файлов в панель Project. Импортирование аудио файла создаёт аудио клип (Audio Clip), который можно перетащить на источник звука (Audio Source) или использовать из скрипта. Страница справки по Audio Clip содержит больше информации об опциях импортирования, доступных для аудио файлов.

Для музыки, Unity также поддерживает трекерные модули, использующие короткие аудио-сэмплы в качестве “инструментов”, которые в дальнейшем упорядочиваются в мелодию. Трекерные модули могут быть импортированы из .xm, .mod, .it, и .s3m файлов, и использоваться как обыкновенные аудио-клипы.

Запись аудио

Unity может получить доступ к микрофонам компьютера из скрипта и создавать аудио клипы из записи. Класс Microphone предоставляет простой API для нахождения доступных микрофонов, для запроса их возможностей, а также для начала и окончания записи. Страница справки для класса Microphone содержит больше информации и примеров кода для записи звука.

Воспроизведение звука в Unity и добавление музыки в приложение

Процесс добавления звуков в Unity одинаков для 2D и 3D. Разница будет лишь при настройк е звуков и при присваивании их объектам.

В Unity есть такое понятие как AudioSource — это источник звука. Именно он воспроизводит звуки в игровых сценах. Но воспроизводит он не просто звуки, а Audio Clip, которые нужно добавить в игру.

«Аудиоклип» может являться как 3D , так и 2D клипом, трансформировать его между этими форматами можно при помощи свойства PanLevel и использовать в соответствующих играх. По сути «аудиоклип» — это люб ые звуки или мелоди и , котор ые нужно воспроизводить в игре, «аудиоисточник» — это, своего рода, контроллер, который воспроизводит нужный «аудиоклип» в нужном месте, изменяя при необходимости его свойства.

Как создать источник воспроизведения звука в Unity

  1. Нужно импортировать звуки или мелодии в свой игровой проект на Unity в папку Assets. При этом не забывайте об авторских правах импортируемых мелодий.
  2. Потом нужно пройти по следующему пути в меню: GameObject-CreateEmp t y.
  3. Выделите созданный GameObject, потом в меню пройдите по следующему пути: Component-Audio-AudioSource.
  4. Задайте «аудиоклип» к выбранному компоненту «аудиоисточника».

Как добавить музыку в Unity

  • приобрести ее за деньги с гарантией, что она уникальна;
  • заказать у знакомых музыкантов звуковое сопровождение вашей игры;
  • воспользоваться бесплатными аудиобанками;
  • запишите мелодию самостоятельно.
  • найти подходящую песню на специальных ресурсах, где она распространяется с открытой лицензией;
  • поискать музыкантов-любителей, которые не прочь запечатлеть свое творчество в вашей игре;
  • либо , опять же, все можно сделать самостоятельно.

Заключение

  1. Изначально сохраняйте собственные звуки в несжатом формате, а оптимизацию потом делайте непосредственно в Unity.
  2. Если звук искажается при движении персонажа, то обратите внимание на параметр Doppler Level в AudioSource и от регулируйте его до нужного состояния звука или уберите его совсем «в ноль», чтобы звук вообще не искажался.
  3. Если нужна фоновая музыка, то лучше ее обыгрывать на ближайшем к AudioListener объекте.
  4. Чтобы фоновая музыка проигрывалась без проблем, то снимите галочку с «3D Sound» в самом аудиофайле.
  5. При добавлении звуков обращайте внимание на галочку «3D Sound» — она нужна, когда наша игра в 3D ; если ваша игра в 2D, тогда снимите ее.

Мы будем очень благодарны

если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.

помогите в unity 3D воспроизвести звук по кнопке

Но в 5 версии просит заменить на GetComponent : пишет не поддерживает старый вариант. Я изменил как он просит, но он по-прежнему подчеркивает красным и выдает ошибку. Вот вариант как я попробовал адаптировать его под 5 версию:

using Unity.Engine; using System.Collections; public class Sounds : MonoBehaviour < public AudioClip din; void OnMouseDown() < if(this.name == "din") < GetComponent().PlayOneShot(din); > > >

В чем ошибка? Может есть еще вариант скрипта, по которому будет воспроизводится звук при нажатии на кнопку?

Audio Source

Audio Source (источник звука) воспроизводит Audio Clip в сцене. Если Audio Clip является 3D клипом, источник проигрывается в заданном положении в пространстве и будет приглушаться в зависимости от расстояния. Аудио может быть распределено по колонкам (например, из стерео в 7.1) с помощью свойства Spread и трансформироваться между 3D и 2D с помощью свойства PanLevel. Можно контролировать зависимость этих эффектов от расстояния с помощью кривых затухания. Также если слушатель находится в одной или нескольких зонах реверберации, то к источнику применяются реверберации (только для Unity Pro). Для обогащения аудио ряда, к источнику можно применять отдельные аудио фильтры. См. справку по аудио эффектам для дополнительной информации.

Свойства

Свойство: Функция:
Audio Clip Ссылка на аудио клип для проигрывания этим источником.
Output By default, the clip is output directly to the Audio Listener in the Scene. Use this property to output the clip to an Audio Mixer instead.
Mute Если включено, звук всё ещё будет проигрываться, но не будет слышен.
Bypass Effects Для быстрого пропуска всех эффектов, применённых к источнику звука. Простой путь включения/отключения всех эффектов.
Bypass Listener Effects Для быстрого включения/отключения всех эффектов, применённых к слушателю.
Bypass Reverb Zones Для быстрого включения/отключения всех зон реверберации.
Play On Awake Если включено, звук начнёт воспроизводиться сразу после загрузки сцены. Если отключено, вам потребуется запустить звук программно, с помощью метода Play().
Loop Включите для бесконечного повтора Audio Clip’а после его окончания.
Priority Определяет приоритет данного источника звука среди всех остальных источников в сцене (0 = наиболее важный, 256 = наименее важный, 128 по умолчанию). Используйте 0 для музыки, чтобы избежать её случайного переключения.
Volume Насколько громок звук на расстоянии одной мировой единицы измерения (одного метра) от слушателя (Audio Listener’а).
Pitch Степень изменения высоты тона при замедлении/ускорении Audio Clip’а. Величина 1 означает нормальную скорость воспроизведения.
Stereo Pan Sets the position in the stereo field of 2D sounds.
Spatial Blend Устанавливает степень влияния 3D движка на источник звука.
Reverb Zone Mix Sets the amount of the output signal that gets routed to the reverb zones. The amount is linear in the (0 — 1) range, but allows for a 10 dB amplification in the (1 — 1.1) range which can be useful to achieve the effect of near-field and distant sounds.
3D Sound Settings Settings that are applied proportionally to the Spatial Blend parameter.
Doppler Level Определяет количество эффекта доплера, применяемого к данному источнику (при значении 0 эффект применяться не будет).
Spread Устанавливает угол распространения для 3d стерео или мультиканального звука в пространстве динамиков.
Min Distance Громкость звука будет максимальной, насколько это возможно, на протяжении MinDistance. Вне MinDistance она будет постепенно снижаться. Увеличьте MinDistance звука, чтобы сделать его “громче” в трёхмерном мире; снизьте, чтобы сделать звук “тише” в трёхмерном мире.
Max Distance Расстояние, на котором звук перестаёт затухать. За пределами этой точки его громкость останется на уровне, на котором она была бы на расстоянии MaxDistance единиц от слушателя и больше не будет затухать.
Rolloff Mode Как быстро звук угасает. Чем выше значение, там ближе должен быть слушатель к звуку прежде, чем его можно будет услышать (определяется по графику).
— Logarithmic Rolloff Громкость звука высока, когда вы близко к источнику, но при удалении от объекта она довольно быстро падает.
— Linear Rolloff Чем вы дальше от источника звука, тем хуже вы его слышите.
— Custom Rolloff Звук источника аудио ведёт себя соответственно графику затуханий.

Типы спадания

Существует три типа спадания (Rolloff Mode): Logarithmic Rolloff (логарифмическое спадание), Linear Rolloff (линейное спадание) и Custom Rolloff (пользовательское спадание). Custom Rolloff настраивается с помощью кривой зависимости громкости от расстояния, как описано ниже. Если вы попытаетесь изменить кривую в то время, как у вас выбран тип Logarithmic или Linear, то он автоматически сменится на Custom Rolloff.

Rolloff Modes that an audio source can have.

Функции расстояния

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

Volume: Amplitude(0.0 — 1.0) over distance.

Spatial Blend: 2D (original channel mapping) to 3D (all channels downmixed to mono and attenuated according to distance and direction).

Spread: Angle (degrees 0.0 — 360.0) over distance.

Low-Pass (только если к источнику добавлен LowPassFilter): Частота отсекания (22000.0–10.0).

Reverb Zone: Amount of signal routed to the reverb zones. Note that the volume property and distance and directional attenuation are applied to the signal first and therefore affect both the direct and reverberated signals.

Distance functions for Volume, Spatial Blend, Spread, Low-Pass audio filter, and Reverb Zone Mix. The current distance to the Audio Listener is marked in the graph by the red vertical line.

Вы можете напрямую менять кривые для изменения функций расстояния. Для дополнительной информации см. руководство по редактированию кривых.

Создание источников звука

Источники звука не производят никаких действий без назначенного Audio Clip’а. Клип представляет собой звуковой файл, который будет проигрываться. Источник выступает в роли контроллера, запускающего и останавливающего воспроизведение того клипа, при этом изменяя другие аудио свойства.

Для создания нового источника звука:

  1. Импортируйте ваши аудио файлы в Unity проект. Теперь они — аудио клипы.
  2. Вызовите пункт GameObject->Create Empty из строки меню.
  3. При выделенном, только что созданном GameObject’е, выберите пункт меню Component->Audio->Audio Source.
  4. In the Inspector, find the Audio Clip property on the Audio Source Component and assign a clip, either by dragging one from the Project Window or by clicking the small circle icon to the right of the Inspector property, then selecting a clip from the list.

Важно: Если вы хотите создать Audio Source только для одного Audio Clip’а, который находится в папке Assets вашего проекта, то вы можете просто перетащить клип в окно сцены — GameObject с компонентом Audio Source для вашего клипа будет создан автоматически. Перетаскивание клипа на существующий GameObject добавит на него клип вместе с новым Audio Source, если этого компонента там ещё нет. Если на объекте уже есть компонент Audio Source, тогда новый клип, который вы перетащили, заменит тот, который уже используется источником звука.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *