Work in progress

The content of this page was not yet updated for Godot 4.2 and may be outdated. If you know how to improve this page or you can confirm that it's up to date, feel free to open a pull request.

Звукові потоки

Вступ

Як ви, можливо, вже читали в статті Звукові шини, звук надсилається на кожну шину через вузол AudioStreamPlayer. Існують різні типи цього вузла. Кожен з них завантажує AudioStream (Звуковий потік) і відтворює його.

АудіоПотік

AudioStream (Звуковий потік) - це абстрактний об'єкт, який випромінює звук. Звук може надходити з багатьох місць, але найчастіше завантажується з файлової системи. Аудіо-файли можуть завантажуватися як Звукові потоки і розміщуватися всередині вузла AudioStreamPlayer. Ви можете знайти інформацію про підтримувані формати та їх відмінності в Імпорт аудіо нарізків.

Є й інші типи звукових потоків, такі як AudioStreamRandomPitch (Звуковий Потік з Випадковим Тоном). Цей звуковий потік при кожному відтворенні надає звуку випадковий тон. Це може бути корисним для додавання варіацій до звуків, які часто відтворюються.

Програвач аудіопотоку

../../_images/audio_stream_player.png

Це стандартний програвач звукового потоку. Він може відтворюватися на будь-якій шині. При параметрі звуку в 5,1, він може надсилати звук на стереомікс, або передні динаміки.

Програвач аудіопотоку 2D

../../_images/audio_stream_2d.png

Це варіант AudioStreamPlayer, але видає звук в 2D середовищі. При розміщенні джерела звуку з лівого краю екрана звук буде поширюватися вліво. З правого - вправо.

Примітка

Area2D (Області 2Д) можна використовувати для перенаправлення звуку від будь-яких AudioStreamPlayer2D, які розміщені на конкретних шинах. Це дозволяє створювати шини з різними ревербераційними, або звуковими, якостями для обробки дій, що відбуваються в певних частинах вашого ігрового світу.

../../_images/audio_stream_2d_area.png

Програвач аудіопотоку 3D

../../_images/audio_stream_3d.png

Це варіант AudioStreamPlayer, але випромінює звук в 3D середовищі. Залежно від розташування програвача відносно екрану, він може поширювати звук в стерео, 5,1, або 7,1, в залежності від обраної настройки звуку.

Подібно до AudioStreamPlayer2D, вузол Area може перенаправляти звук на звукову шину.

../../_images/audio_stream_3d_area.png

На відміну від 2D, 3D-версія AudioStreamPlayer має ще кілька додаткових опцій:

Шини реверберації

Godot дозволяє 3D-аудіопотокам, які потрапляють в певний вузол Area, надсилати сухий і мокрий звук на окремі шини. Це корисно, коли у вас є кілька ревербераційних конфігурацій для різних типів кімнат. Це робиться шляхом увімкнення цього типу реверберації в розділі Reverb Bus властивостей вузла Area:

../../_images/audio_stream_reverb_bus.png

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

../../_images/audio_stream_reverb_bus2.png

Розділ Reverb Bus вузла Area також має параметр з назвою Uniformity (Рівномірність). Деякі типи кімнат відбивають звуки краще, ніж інші (наприклад, склад), тому реверберацію можна почути майже рівномірно по всій кімнаті, хоча джерело може бути далеко. Регулюючи цей параметр, можна імітувати цей ефект.

Доплер

Коли відносна швидкість між випромінювачем і слухачем змінюється, це сприймається як збільшення, або зменшення, тону випромінюваного звуку. Godot може відстежувати зміни швидкості в вузлах AudioStreamPlayer3D і Camera. Обидва вузли мають цю властивість, яку потрібно ввімкнути вручну:

../../_images/audio_stream_doppler.png

В залежності від того, як будуть переміщені об'єкти встановлюйте: Idle для об'єктів, переміщених за допомогою _process, або Physics для об'єктів, переміщених за допомогою _physics_process. Відстеження відбуватиметься автоматично.