Как открыть vox файл в unity

Обновлено: 04.07.2024

Как сделать многоуровневую игру в Unity? Или игру, в которой игрок может перемещаться (телепортировать) между локациями?

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

Шаг 1. Создать сцены для каждого уровня и пр. составляющих игры. Продумать понятную и гибкую систему идентификации файлов сцен

Например, сцены могут иметь следующие имена:

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

Например, следующий уровень может загружаться при следующих возможных условиях:

а) игрок набрал определённое количество баллов. Это условие имеет смысл проверять каждый кадр в методе Update();

б) игрок добрался до определенного места в игре. Например, пришёл к заданной двери. Соответственно на объекте двери необходимо поставить коллайдер, и при входе в этот коллайдер должна будет выполняться загрузка сцены;

в) в интерфейсе игры имеются кнопки загрузки разных «уровней». Такая ситуация возможна в нескольких случаях:

Когда речь идёт не столько об уровнях игры, сколько о разных локациях, между которыми игрок имеет возможность перемещаться. Пример такой игры – Family Island – там игрок может путешествовать на различные острова.

Второй вариант геймплея с аналогичным функционалом – наличие в реализации отдельной сцены с картой игры. Кликая по определённым зонам-кнопкам этой игры, игрок загружает соответствующий уровень (при условии, что этот уровень для него открыт). Наиболее популярный пример такой игры – Candy Crush Saga и ей подобные.

г) другие варианты или комбинации перечисленных вариантов. Например, для варианта а) при достижении игроков определённых результатов новый уровень может загружаться не сразу, автоматически, а после нажатия игроком на появляющуюся кнопку наподобие «Следующий уровень». Аналогично – для варианта б) – входим в коллайдер двери и видим кнопку «Войти» и т.п.

Шаг 3. Написание функции (метода) загрузки соответствующей сцены.

Для загрузки сцен в движке Unity предусмотрен метод LoadScene (…) из класса SceneManager пространства имён UnityEngine.SceneManagement.

Это значит, что в классе (скрипте), в котором будет выполняться загрузка сцены с помощью указанного метода, должна быть прописана директива:

Далее, при вызове метода следует указывать и имя класса:

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

Наиболее простые способы вызова метода следующие.

Вариант 1 – с явным указанием имени загружаемой сцены в качестве параметра. Например:

Вариант 2 – с указанием индекса загружаемой сцены в качестве параметра. Например:

Индекс – это число-порядковый номер сцены, который автоматически присваивается в окне настроек Build Settings:

Окно настроек Build Settings Unity

Окно настроек Build Settings

Один из возможных вариантов скрипта следующий:

Этот скрипт должен быть на объектах-дверях или телепортах. На них же должен стоять коллайдер-триггер.

Шаг 4. Заполнить раздел Scenes In Build в окне настроек Build Settings, внеся туда все сцены, которые необходимо будет загружать

Пример этого окна представлен выше. Чтобы его вызвать, используется главное меню, пункты File -> Build Settings...

Процесс добавления звуков в 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.

UnitySound-feature

Версия

Примечание: это руководство адаптировано для Unity 2018.

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

В этом уроке вы узнаете:

  • В чем разница между AudioClips и AudioSources;
  • Как настроить различные свойства 3D-звуков;
  • Воспроизводить звуки в программе.

Это урок предназначен для начинающих, но вы должны уже быть знакомы с интерфейсом Unity, чтобы работать с ним. Если вы новичок в Unity или вам необходимо освежить в памяти базовые знания, ознакомьтесь с руководством «Введение в Unity».

Примечание: вам нужно будет установить Blender, чтобы открыть проект, вы можете это скачать его здесь.

Введение

Вы можете скачать необходимые для создания проекта материалы в начале этой страницы. После этого откройте проект в Unity (минимальная версия 2018.2.10f1).

Для начала откройте главную сцену в папке Assets ⇒ RW ⇒ Scenes и нажмите кнопку Play.


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

Добавление первых звуковых эффектов

В проекте уже созданы префабы для каждого животного. В окне проекта откройте окно Assets ⇒ RW ⇒ Prefabs и выберите префаб коровы.

Примечание: вы никогда не слышали о префабах? Почитайте урок, который называется Введение в Unity, чтобы освоиться.



Префаб коровы теперь может воспроизводить аудио звуки, но для этого требуется аудиоклип (AudioClip). В настоящее время этот объект отсутствует.


Но что же такое AudioSource и чем он отличается от AudioClip?

Как в Unity работают звуковые эффекты

Для воспроизведения звуков в Unity вы будете использовать функции AudioSource и AudioClip.

Вы можете настроить AudioSource для воспроизведения звука в 2D-пространстве по своему усмотрению, что означает, что он может воспроизводиться на постоянной громкости независимо от расстояния до AudioListener.


Важно отметить, что AudioSource при этом является компонентом. Это означает, что это объект, который унаследован от класса Unity MonoBehaviour и он может быть присоединен непосредственно к любому объекту типа Unity GameObject.

При этом AudioClip является переменной, которая может быть установлена в AudioSource (то есть каждый AudioSource может иметь один AudioClip). Вы можете прикреплять компоненты через редактор Unity или использовать для этой цели специальный код. В этом уроке вы будете использовать только редактор.

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

Примечание: Если вам интересно узнать, как работают триггеры, обратитесь к уроку, который называется Физическая система Unity.

Добавление аудиоклипов

Откройте папку Assets ⇒ RW ⇒ Sounds в окне «Project» и найдите звуковой файл moo. Убедитесь в том, что в Инспекторе все еще выделен префаб коровы и перетащите звуковой файл moo на аудиоклип (AudioClip).


Убедитесь, что Play On Awake включен.


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

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

  1. Выделите префаб барана и находясь в окне Inspector нажмите кнопку «Add Component». Теперь вам нужно выбрать компонент AudioSource в категории Audio.
  2. Перетащите звуковой файл baa в поле AudioClip.
  3. Убедитесь, что флажок Play On Awake установлен.
  4. Выделите префаб свиньи и находясь в окне Inspector нажмите кнопку «Add Component». Вам также нужно выбрать компонент AudioSource в категории Audio.
  5. Перетащите звуковой файл oink в поле AudioClip.
  6. Убедитесь, что флажок Play On Awake установлен.

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


Звук не воспроизводится?

AudioSource может воспроизводить самые разные форматы файлов, включая распространенные форматы .mp3 и .wav. Если у вас случится ситуация, что ваш звуковой файл не воспроизводится, сначала проверьте, поддерживается ли формат этого файла.

Примечание: При выборе формата звука, который вы хотите использовать, лучше всего выбирать файлы без потери качества звука, такие как .ogg или .wav.

В некоторых случаях Unity кодирует звуковые файлы в такие форматы, как .mp3, чтобы использовать преимущества аппаратного декодирования. Если вы использовали аудиофайл .mp3, он будет перекодирован, что приведет к дополнительной потере качества.

Поскольку в рамках этого урока все файлы подготовлены и проверены заранее, то проблем с воспроизведением звуков возникнуть не должно. Однако, если звуки все-таки не воспроизводятся, то вам нужно проверить следующее:

  1. Не установлена ли слишком низкая громкость? Проверьте уровень громкости на каждом из AudioSources.
  1. Не отключили ли вы компонент AudioSource? Если компонент отключен, то соответственно он не будет воспроизводить звук.


  1. Проверьте стоит ли флажок Play On Awake. Звук будет воспроизводиться в том же кадре, в котором создан объект.


Настройка звуков

  • Тракторы не издают никаких звуков.
  • Нет звука победы, когда животное успешно добирается до сарая.
  • Нет звука неудачи, когда животное попадает под трактор.

Добавление этих звуков придаст этой игре завершенности.

Добавление звуков трактора

Чтобы добавить жужжащий звук к тракторам при их движении вперед и назад, сначала удерживайте Cntrl (на ПК) или Command (на Mac) и выберите все три трактора в окне Hierarchy. Теперь вам нужно добавить AudioSource и звук трактора аналогичным образом, как вы это делали для озвучки животных. Не забудьте проверить чтобы Play On Awake был отмечен.

Когда для всех тракторов будут назначены соответствующие звуки, нажмите кнопку Play.


Конечно замечательно, что у всех тракторов есть звук, но их сложно различить, к тому же эти звуки заглушают все остальное и немного нервируют своей громкостью.

Как упоминалось ранее, 3D-звуки могут воспроизводиться с уменьшением громкости, чем дальше AudioListener (в этой игре он находится на камере) от AudioSource. Добавление эффекта спада (чем дальше тракторы от камеры, тем они тише) сделает их звучание намного лучше.

Нажмите на трактор в Hierarchy и в окне Inspector найдите компонент AudioSource. Там будет выпадающая область под названием 3D Sound Settings. Здесь вы можете установить параметры Doppler Level, а также значения для переменных Rolloff и Distance.

Сейчас у вас должен быть выбран ближайший к игроку трактор, поэтому его звук должен быть более громким, чем у двух других. Установите для параметра Volume Rolloff значение Linear Rolloff, что сделает эффект более выраженным. Затем установите значение для Min Distance = 1 и Max Distance = 9. Doppler Level должен быть равен 0,68.


Это сделает звук переднего трактора более громким, когда он будет приближаться к середине экрана, и тише, когда он будет двигаться за пределы экрана. Нажмите Play, чтобы проверить все ли работает.


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

Чтобы уменьшить интенсивность звука задних тракторов нужно:

  1. Выбрать tractor2 в Иерархии.
  2. Установить для параметра Volume Rolloff значение Linear Rolloff.
  3. Установить значение для Min Distance = 1 и Max Distance = 30.
  4. Doppler Level должен быть равен 0,68.
  5. Выбрать tractor3 в Иерархии в иерархии и установить для параметра «Volume Rolloff» значение «Linear Rolloff».
  6. Установить значение для Min Distance = 1 и Max Distance = 50.
  7. Doppler Level должен быть равен 0,68.

Нажмите Play и послушайте различные уровни громкости звука всех трех тракторов, когда они перемещаются вперед и назад.


Если вы будете играть в эту игру более 40 секунд, то заметите, что звуки трактора отключаются спустя это время. Это происходит потому, что их AudioSource не был установлен на определенный цикл. Чтобы это изменить, установите флажок «Loop» для каждого компонента AudioComponent каждого трактора.


Добавление звуков ударов

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

Для начала вам необходимо прикрепить AudioClip звука смерти к компоненту «Tractor». Для этого:

  1. Нажмите Cntrl (на ПК) или Command (на Mac) и в меню Hierarchy выберите сразу три трактора.
  2. Теперь выберите три объекта GameObject для трактора и отметьте галочкой поле «Death Sound» компонента «Tractor» в Инспекторе.
  3. Далее вам нужно выбрать звуковой файл смерти из всплывающего окна «Select Audio Clip», как показано ниже.

Нажмите Control-S (на ПК) или Command-S (на Mac), чтобы сохранить изменения в коде.

PlayOneShot () воспроизводит звук один раз. Вы передаете звук, который ранее добавили к трактору, а затем воспроизводите его один раз. Причина, по которой трактор (а не животное) должен воспроизводить этот звук, заключается в том, что при ударе трактора по животному GameObject, который является животным, удаляется. Так как он больше не существует, животное не может воспроизводить звук. Преимущество использования PlayOneShot () состоит в том, что звук воспроизводится до конца, даже если PlayOneShot () вызывается снова.

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


Добавление звука удачного попадания

  1. Выбрать в меню Hierarchy сарай.
  2. В Инспекторе добавить к нему компонент AudioSource.
  3. Перетащить звук победы из Assets ⇒ RW ⇒ Sounds в поле AudioClip.

На этот раз убедитесь, что Play On Awake выключен. Таким образом звук будет воспроизводиться только в том случае, если животное попадает в сарай.

Дважды щелкните по скрипту Barn в разделе Assets ⇒ RW ⇒ Scripts.

Под открывающей скобкой if добавьте следующее:

Конечный результат должен выглядеть так:

Последние штрихи: различные звуковые эффекты

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

Этот код выбирает компонент AudioSource и устанавливает переменную основного тона в случайное значение между 0,8 и 1,5. Теперь нажмите Play и попробуйте запустить животных. Их звуки будут каждый раз разными.


Что делать дальше?

Теперь вы можете самостоятельно присваивать звуки различным объектам в Unity и использовать эти знания в дальнейшем при создании собственных игр.

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

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

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

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

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

Аудио источники (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 также поддерживает трекерные модули, использующие короткие аудио-сэмплы в качестве “инструментов”, которые в дальнейшем упорядочиваются в мелодию. Трекерные модули могут быть импортированы из .xm, .mod, .it, и .s3m файлов, и использоваться как обыкновенные аудио-клипы.

Запись аудио

Читайте также: