Основи real-time аудіо. Курс Unity для митців (14-16 уроки)

Підписуйтеся на Telegram-канал @gamedev_dou, щоб не пропустити найважливіші статті і новини про геймдев.

Всіх вітаю! Це 14-16 уроки курсу — Unity Essentials (Основи Unity), і четвертий розділ другого блоку «Досліджуйте Unity»: Основи real-time аудіо. У цьому розділі Ви почнете з попередньо створеного 3D-проекту, де Ви зможете досліджувати та експериментувати з аудіо в Unity. Окрім налаштування фонової музики, Ви дізнаєтесь, як Unity моделює поведінку звуку в тривимірному просторі.

Попередні уроки

Курс розроблений компанією Unity, перекладений і адаптований для проєкту «Марсіанський Чайник». Деякі терміни навмисно не перекладені в уроці для того, щоб Вам було легше орієнтуватись у редакторі Unity. Підтримати проєкт можна на сторінці патреон Марсіанський Чайник.

Додайте фонову музику

Відеоверсія уроку:

У попередніх уроках Ви бачили, як Unity допомагає налагодити взаємодію об’єктів один з одним. Unity також допомогає налагодити взаємодію звукових хвиль у фізичному середовищі. Звуки змінюються залежно від відстані слухача до джерела звуку, а також — залежно від фізичних характеристик матеріалів, що знаходяться між джерелом звуку і слухачем.

Перед тим як почати

Щоб налаштувати проект Unity:

1. Відкрийте Unity Hub.

2. Створіть новий проект Unity за допомогою шаблону URP.

3. Перейдіть до Foundations of Audio assets у Unity Asset Store.

4. Завантажте та імпортуйте assets у свій проект Unity.

Це воно! Тепер, коли Ви все налаштували, давайте відкриємо та перевіримо сцену.

Відкрийте та перевірте приклад сцени

1. Відкрийте папку Scenes у вікні Project і двічі клацніть EssentialsAudioScene, щоб відкрити приклад сцени.

2. Натисніть кнопку Play, щоб перевірити сцену.

3. Перетягніть мишу, не натискаючи, щоб оглянути сцену. Використовуйте клавіші WASD (W вперед, S назад, A вліво, D вправо), щоб переміщатися по Сцені.

4. Натисніть Play, щоб припинити тестування прикладу сцени.

Створіть порожній (empty) GameObject

Ви будете використовувати порожній GameObject як заповнювач і контейнер для фонового звуку. Щоб налаштувати це:

1. Клацніть правою кнопкою миші в Hierarchy та виберіть Create Empty.

2. Перейменуйте цей GameObject на Music в Inspector.

3. У Inspector скиньте позицію об’єкта, вибравши три крапки праворуч, а потім вибравши Reset Position. Це встановлює положення центру GameObject на 0,0,0, вирівнюючи його по центру вашої сцени.

Додайте аудіо до порожнього GameObject

Щоб змусити GameObject відтворювати звук у вашій сцені, вам потрібно додати Audio Source Component:

1. У вікні Hierarchy виберіть Music GameObject.

2. Виберіть кнопку Add Component у вікні Inspector.

3. За допомогою рядка пошуку знайдіть компонент Audio Source та виберіть його.

4. У Audio Source Component в Inspector перегляньте доступні властивості.

Щоб Audio Source відтворювало звук, Ви додасте Audio Clip.

5. У вікні Project відкрийте папку Audio, щоб переглянути аудіокліпи, надані в цьому прикладі проекту. Виберіть Music.

6. У вікні Inspector Ви побачите параметри імпорту для музичного аудіокліпу. У нижній частині вікна Inspector Ви побачите Waveform Preview вибраного аудіокліпу. Якщо Ви цього не бачите, клацніть і перетягніть вгору заголовок попереднього перегляду внизу, щоб відкрити панель попереднього перегляду (Preview Panel).

7. Натисніть кнопку Play, щоб попередньо переглянути музичний аудіокліп. Ви можете натиснути на форму сигналу, щоб пропустити відтворення, а також клацнути й перетягнути, щоб прокрутити осциллограму. Після завершення попереднього перегляду знову натисніть кнопку Play.

8. У вікні Hierarchy виберіть Music GameObject.

9. У вікні Inspector клацніть піктограму кола праворуч від Audio Clip.

10. Select Window покаже всі доступні аудіокліпи в цьому проекті. Виберіть аудіокліп Music, щоб призначити його як Audio Clip для Music Audio Source.

11. Натисніть кнопку Play, щоб запустити тест. Якщо ви не чуєте музики, переконайтеся, що кнопка Game View’s Mute Audio на даний момент не ввімкнена. Натисніть кнопку Mute Audio, щоб перемикатися між вимкненим і увімкненим звуком у Play Mode.

Примітка: Якщо ви все ще не чуєте музики, переконайтеся, що параметр Play On Awake у Audio Source Component ввімкнено.

Ви включили аудіо в сцену, але за допомогою аудіо можна зробити набагато більше. У наступному туторіалі Ви дізнаєтеся про роль аудіо в real-time 3D-проектах та створите реалістичний звук для 3D-середовища.

Створюйте 3D звукові ефекти

Відеоверсія уроку:

Фонова музика (background music), яку Ви додали, грає з однаковою гучністю, де б Ви не знаходилися на сцені. Ви також можете додати аудіо, яке змінює гучність або навіть висоту звуку, залежно від того, куди Ви рухаєтеся в сцені, так само, як звук поводиться в реальному просторі. Це називається 3D звуком (3D sound).

Щоб дослідити, як працює 3D-звук в Unity, важливо зрозуміти, як аудіо відтворюється та сприймається в сцені. Так само, як камера взаємодіє з очами користувача, аудіослухач (Audio Listener) взаємодіє з вухами. Він виявляє звукові сигнали в певному місці та відтворює їх користувачеві. Важливо зазначити, що в сцені може бути лише один Audio Listener! Кожна сцена Unity по дефолту має Audio Listener, приєднаний до Main Camera, тому «очі» та «вуха» користувача знаходяться в одному місці.

Audio Listener

У цій сцені ми підготували GameObject під назвою Character, щоб представляти користувача, який рухається по кухні. Персонажний ігровий об’єкт складається з Main Camera (очей) із вбудованим Audio Listener (вуха) та капсульного коллайдера (capsule Collider) (це корпус, як капсульний примітив, але невидимий, і як коллайдер, він натикається на інші ігрові об’єкти замість того, щоб проходити через них).

1. У вікні Hierarchy виберіть Character GameObject.

2. Виберіть стрілку ліворуч поруч із символом, щоб розгорнути Character GameObject та переглянути його дочірні GameObjects.

3. Якщо Ви не бачите Main Camera GameObject, натисніть стрілку ліворуч поруч із CharacterRoot, щоб показати Main Camera.

4. Дослідіть Character GameObject. Ви побачите контур Collider та Main Camera, розташовані приблизно там, де буде голова нашого персонажа.

Примітка: Якщо ви не бачите цих контурів, переконайтеся, що Gizmos у Scene view ввімкнено. Виберіть кнопку Gizmos (не відкриваючи спадне меню) у вікні Scene.

5. В Hierarchy виберіть Main Camera GameObject.

6. У вікні Inspector ви побачите Audio Listener Component. Зверніть увагу, що цей компонент не має властивостей.

Створіть 3D-аудіо

У 3D-аудіо аудіокліпи звучать по-різному залежно від розташування Audio Listener в сцені. У цьому прикладі сцени ми створили GameObject, який відтворює звук для демонстрації 3D-аудіо.

1. У вікні Hierarchy виберіть BoilingPot GameObject.

2. У вікні інспектора встановіть прапорець ліворуч від поля BoilingPot’s Name, щоб увімкнути об’єкт гри у вашій сцені.

3. Натисніть кнопку Play, щоб провести тест. Ви помітите, що тепер у вашій Сцені є мідна каструля, яка видає звук кипіння води. Однак незалежно від того, куди Ви рухаєтеся в сцені, звук буде мати однакову гучність.

4. Вийдіть з режиму Play. У вікні Hierarchy розгорніть BoilingPot GameObject, щоб побачити дочірні об’єкти GameObject.

5. Виберіть BoilingWaterAudio GameObject, який є дочірнім для BoilingPot.

6. У вікні Inspector перегляньте властивості компонента Audio Source. Для цього Audio Source ми ввімкнули параметр Loop, щоб забезпечити безперервний звук.

7. Щоб перетворити це джерело звуку в 3D-звук, виберіть і перетягніть повзунок Spatial Blend до упору вправо або встановіть для нього значення 1.

8. Увійдіть у Play Mode та переміщуйте персонажа ближче та далі від кухонної плити. Гучність звуку Boiling Pots тепер збільшується, чим ближче ви перебуваєте до BoilingPot GameObject.

Налаштуйте rolloff звуку

Rolloff аудіокліпу визначає його діапазон у тривимірному просторі та швидкість, з якою він згасає на більших відстанях і стає нечутним. Ви можете налаштувати rolloff своїх звуків, щоб імітувати способи передачі різних звуків.

1. Вибравши BoilingWaterAudio GameObject, виберіть стрілку на сторінці 3D Sound Settings, щоб розгорнути властивості в Inspector.

Ці налаштування контролюють, як гучність і висота звуку можуть змінюватися на основі положень Audio Source та Audio Listener.

2. Змініть параметр Volume Rolloff з Logarithmic Rolloff на Linear Rolloff.

3. Знайдіть властивості Min Distance та Max Distance. По дефолту Max Distance встановлена на 500, що означає, що Ви зможете почути кипіння води на відстані 500 одиниць (units). Це нереально для цієї сцени, тому змініть Max Distance на 5.

У режимі Scene view Min Distance і Max Distance представлені двома синіми каркасними сферами. Це дасть вам візуальну індикацію того, де саме в Сцені користувач зможе почути звук.

Примітка: Якщо ви не бачите цих контурів, переконайтеся, що Gizmos у режимі Scene view ввімкнено. Виберіть кнопку Gizmos (не відкриваючи спадне меню) у вікні Scene. Крім того, необхідно вибрати BoilingWaterAudio GameObject і розгорнути компонент Audio Source у вікні Inspector.

4. Запустіть Play mode, щоб протестувати Ваші зміни.

5. Експериментуйте з rolloff, щоб зробити BoilingPot дуже гучним або ледь чутним, коли ваш персонаж знаходиться на заданій відстані. Спробуйте опцію Logarithmic Rolloff, якщо Ви думаєте, що це дасть більш реалістичне звучання. Ви навіть можете використовувати мишку, щоб намалювати власну криву rolloff.

Ви додали два типи аудіо до 3D-сцени: фонову музику та 3D-звук. В наступних туторіалах Ви знайдете та додасте до проєкту додаткові аудіооб’єкти.

Додайте рухливий звук

Відеоверсія уроку:

Що таке аудіо DCC?

Інструменти Audio Digital Content Creation (DCC), такі як Audition, Logic Pro, Reaper і Audacity, дозволяють митцям записувати, редагувати та змішувати звукові ефекти та музику для проекту.

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

Інші ресурси для аудіо в Unity

Unity має потужну здатність імітувати тривимірний простір для аудіо: динамічно реагуючи на положення та орієнтацію користувача в цьому просторі, а також регулюючи гучність і баланс правого-лівого каналів, щоб дати користувачеві відчуття відстані до джерела звуку та напрямку звуку. Як у реальному 3D-середовищі. Unity навіть має можливість імітувати ефект Доплера, при якому висота звуку від джерела, що швидко рухається, як-от падаюча бомба або поліцейська машина, що проходить повз, буде змінюватися, коли він проходить повз слухача. Реалістичний 3D звук різко підвищує відчуття занурення користувача в проект.

Вправа

Щоб оцінити важливість аудіо в проекті, спробуйте такий експеримент:

1. Знайдіть відеоролик з документальним фільмом про ваше місто, а потім вимкніть звук на цьому відео.

2. У новій вкладці перегляньте музику з Unity Asset Store і спробуйте знайти яскраву, піднесену музику та трохи темну, похмуру музику.

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

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

Отримайте аудіо асети з Asset Store

Багато талановитих творців аудіо надають вам свої роботи в Unity Asset Store.

1. Перейдіть до Unity Asset Store.

2. Уточніть пошук, вибравши Audio під параметрами фільтра праворуч. Також обмежте пошук безкоштовними асетами, вибравши параметр Free Assets.

3. Знайдіть аудіо, яке Ви можете додати до цієї сцени; наприклад:

4. Фонова музика для створення абсолютно іншого настрою.

5. Таємничі звуки, які могли б виходити з-за дверей і всередині шаф.

6. Зовнішні звуки або сирени, які можуть лунати через вікна.

Якщо Ви готові до нашого наступного випробування, ми рекомендуємо Вам знайти сирену, двигун або інший звук, який може проходити повз вікно кухонної сцени.

Unity може відтворювати найбільш поширені формати аудіофайлів як Audio Clips. Можливо, у вас є улюблена музика або звукові ефекти, які Ви можете додати до своїх проектів. Додаткову інформацію дивіться у посібнику Unity про аудіофайли.

Завдання: рухливий звук

Нижче наведено кілька інструкцій, але творча частина залежить від вас.

1. Використовуйте свій досвід написання сценаріїв, щоб змусити GameObject пройти повз вікно за межами кухні.

2. Додайте джерело звуку до рухомого GameObject.

3. Знайдіть аудіокліп, щоб додати його до джерела звуку. Це може бути сирена, музика, двигун або щось незвичайне.

4. Щоб створити 3D-звук, дотримуйтесь інструкцій у попередньому туторіалі.

5. Запустіть сцену, щоб перевірити її, і внесіть необхідні зміни, доки не отримаєте реалістичний звуковий ефект.

6. Додайте більше звуків за дверима, всередині шаф або на столі, щоб зробити сцену унікальною.

7. Створіть ефект Доплера за допомогою 3D-звуку.

Порада: у налаштуваннях 3D-звуку збільште властивість Doppler Level, щоб посилити ефект Доплера.

Якщо хочете, то можете опублікувати свій проект і поділитися ним з іншими у Unity Play.

👍ПодобаєтьсяСподобалось1
До обраногоВ обраному1
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Але ж це урок, прямо с сайту Unity Learn... 1в1.

Курс розроблений компанією Unity, перекладений і адаптований для проєкту «Марсіанський Чайник». Деякі терміни навмисно не перекладені в уроці для того, щоб Вам було легше орієнтуватись у редакторі Unity.

Підписатись на коментарі