Работа со звуком в Unity

Мои заметки по поводу работы со звуком.

Самое главное — сохраняйте все свои звуки в несжатом .wav формате. В дальнейшем, в самом Unity можно будет сжать звук,  не изменяя исходного .wav файла.

У меня часто бывали случаи, когда звук искажался при движении персонажа, на котором висит Listener. Это искажении регулируется параметром Doppler Level в AudioSource нужного звука. Если эти искажения не нужны, поставьте Doppler Level на ноль, и звук перестанет искажаться при движении.

Фоновую музыку лучше проигрывать на объекте, который ближе всего к AudioListener, в идеале объект, играющий музыку, должен входить в объект с AudioListener`ом.  В аудио файле музыки нужно добавить галочку Force To Mono и убрать галочку 3D Sound. Таким образом музыка будет проигрываться фоном без всяческих искажений.

Чтобы на звук действовали зоны реверберации, нужно поставить галочку Bypass Effects в AudioSource нужного звука.

Реклама

Структура unity-проекта

За время работы в движке Unity у меня сформировалась привычка по-своему оформлять структуру игрового проекта.

По-первых, в корневой папке проекта я создаю папку Data.

В этой папке уже создаются другие директории.

В основном это: Models, Sounds, Objects, Scripts, Textures. По названию можно определить, для чего какая папка нужна.

Наименование файлов я тоже систематизировал. Все скрипты начинаются с «scr_» (scr_player_controller).  Звуки с «snd_» (snd_shoot). Модели с «mdl_» (mdl_barrel). Текстуры с «txt_» (txt_grass). Объекты с «obj_» (obj_player).

Используя такую систему названий ассетов, я никогда не запутываюсь в файле проекта и быстро могу найти тот или иной определенный файл.

Движок Unity

Я перепробовал  множество движков и конструкторов, прежде чем нашел Unity.

Этот движок позволяет делать отличные трехмерные игры. Если постараться, можно делать и двухмерные (опять же, используя трехмерную графику).

В юнити доступны три языка для программирования — JavaScript, C# и Boo

JavaScript наиболее легок для новичков, именно для этого ЯП написана огромная справка, которая входит в установочный комплект Unity.

Большой плюс — встроенный редактор, в котором можно манипулировать всеми объектами игры (впрочем, для опытных программистов это является минусом, почему-то…).

Unity поддерживает шейдеры — в комплекте поставляется большое количество уже готовых, самых распространенных шейдеров (bump,specular,parallax и т.п.), также можно писать свои шейдеры.

Цена полной версии юнити — $1500. Есть триал на 30 дней, без ограничения функций, а также бесплатная версия, но с ограничениями. Но триал можно продлевать, используя хитрый прием (ищем на unity3d.ru и их блоге).