Cave: Руководство по началу работы
Основы звука
Lesson 18 of 19 • 10 XP
Keep your place in this quest
Log in or sign up for free to subscribe, follow lesson progress, and access more learning content.
Аудио в Cave должно быть очень простым: вы импортируете аудиофайл, прослушиваете его в редакторе и воспроизводите из вашей игры, когда что-то происходит.
В этом уроке вы узнаете:
- Как работают аудиоресурсы в Обозревателе ресурсов.
- Как прослушать аудиофайл.
- Как экспортировать или заменить аудио в формате
.ogg. - Как воспроизводить аудио из Python.
- Что означают громкость и тон.
- Для чего можно использовать возвращаемый аудио-идентификатор.
- Как вкладка Монитор аудио помогает отлаживать аудио.
Вам не нужна сложная настройка, чтобы начать. Если вы можете импортировать звук и воспроизводить его, когда происходит действие с кнопкой, дверью, предметом или персонажем, вы уже понимаете основные рабочие процессы.
Импорт аудио
Cave может импортировать аудиофайлы в проект в качестве аудиоресурсов. Как вы уже видели в разделе Импорт ресурсов, Cave поддерживает .ogg аудиофайлы.
После импорта аудио оно появляется в Обозревателе ресурсов точно так же, как и другие элементы вашего проекта. Оттуда вы можете использовать его в скриптах, обратных вызовах UI, Logic Bricks, событиях временной линии или любой другой системе, которая требует воспроизведения звука.
Например, в вашем проекте могут быть аудиоресурсы, такие как:
Нажатие кнопкиОткрытие двериПодбор монетыШагиАмбиент леса
Читаемые имена здесь очень полезны, так как аудио часто ссылается по имени в Python.
Прослушивание аудиоресурсов
После импорта аудиофайла вы можете прослушать его прямо внутри Cave.
Существует два простых способа сделать это:
- Дважды щелкните на аудиоресурсе в Обозревателе ресурсов, чтобы быстро воспроизвести предварительный просмотр.
- Щелкните левой кнопкой мыши один раз для выбора и отображения его свойств, где вы можете использовать элементы управления для предварительного просмотра.
Обзор свойств полезен потому, что дает вам больше контроля во время прослушивания. Например, вы можете протестировать, как аудио звучит с разными значениями тона перед использованием этого звука в игре.
Это особенно полезно для эффектов, таких как шаги, удары, щелчки интерфейса и звуки существ. Небольшое изменение тона может сделать повторяющиеся звуки менее одинаковыми.
Экспорт или замена аудио
Аудиоресурсы также могут быть экспортированы обратно в виде файлов .ogg. Это полезно, когда вы хотите отредактировать аудио в внешнем инструменте, например.
Вы также можете заменить аудиоресурс на другой файл .ogg. Это практично, когда логика уже ссылается на имя ресурса, но вы хотите изменить фактический звук.
Например, ваша игра может уже использовать ресурс с именем Открытие двери. Если вы замените аудио внутри этого ресурса, скрипты, которые воспроизводят Открытие двери, могут продолжать работать без необходимости их переименования.
Воспроизведение аудио с помощью компонента аудио
Иногда вы хотите воспроизвести простой повторяющийся звук для окружения, музыку для главного меню и т.д. В этом случае компонента аудио будет достаточно:

Он будет бесконечно воспроизводить аудио, которое вы укажете ему, и позволит вам контролировать громкость, тон, является ли звук 3D, и максимальное расстояние. Обратите внимание, что он не предоставляет больше опций, таких таких как количество повторов аудио и т.д. Если вам нужна большая настройка, вам нужно воспроизводить аудио через код.
Воспроизведение аудио из Python
Самый простой способ воспроизвести аудиоресурс из Python - использовать cave.playSound().
cave.playSound("Нажатие кнопки")
Это воспроизводит аудиоресурс с именем Нажатие кнопки.
Вы также можете передать значение громкости:
cave.playSound("Открытие двери", volume=0.8)
Значение громкости по умолчанию равно 1.0, что означает нормальную громкость. Более низкие значения делают звук тише.
Например:
| Громкость | Значение |
|---|---|
2.0 |
Очень громкий звук. |
1.0 |
Нормальная громкость. |
0.5 |
Половина громкости. |
0.0 |
Тихо. |
В большинстве случаев вы начнете с 1.0 и настроите оттуда.
Громкость и тон
- Громкость контролирует, насколько громким является звук.
- Тон контролирует, насколько высоким или низким кажется звук. Он также изменяет скорость воспроизведения, так что более высокий тон звучит быстрее и острее, в то время как более низкий тон звучит медленнее и глубже.
Значение по умолчанию как для громкости, так и для тона равно 1.0.
Например:
| Значение | Результат громкости | Результат тона |
|---|---|---|
1.0 |
Нормальная громкость. | Нормальный тон. |
0.5 |
Тише. | Низкий и медленный. |
1.5 |
Громче, если используется как громкость. | Высокий и быстрый. |
При использовании cave.playSound(), громкость передается напрямую, когда звук начинается. Тон обычно изменяется через аудио-идентификатор, возвращаемый функцией.
Аудио идентификатор
Когда вы вызываете cave.playSound(), Cave возвращает аудио-идентификатор.
Этот идентификатор представляет собой экземпляр звука, который в данный момент воспроизводится.
sound = cave.playSound("Шаги по камню", volume=0.8)
sound.pitch = 1.0
Вы можете использовать этот идентификатор, чтобы управлять звуком после его запуска.
Например:
sound = cave.playSound("Амбиент пещеры", volume=0.6, loop=True)
# В качестве альтернативы, вы можете использовать геттер и сеттер:
sound.setPitch(0.9)
sound.setVolume(0.4)
Идентификатор можно использовать для таких действий, как:
- Изменение громкости.
- Изменение тона.
- Пауза звука.
- Возобновление звука.
- Остановка звука.
- Проверка прогресса.
- Звуковой источник от 3D-объекта.
Например, если звук двери должен исходить от сущности двери:
sound = cave.playSound("Открытие двери", volume=1.0)
sound.setSource3D(self.entity, maxDistance=20)
Вам не нужен этот идентификатор для каждого звука. Если вы просто хотите воспроизвести быстрый щелчок кнопки, этого будет достаточно:
cave.playSound("Нажатие кнопки")
Используйте идентификатор, когда вам нужен дополнительный контроль.
Даже можно немного рандомизировать шаги, придавая им больше разнообразия без необходимости в дополнительных звуках:
sd = cave.playSound("Шаги по камню")
# Устанавливаем 3D источник, чтобы это была сущность, воспроизводящая звук:
sd.setSource3D(entity, 20)
# Рандомизация тона и громкости:
sd.pitch = cave.random.uniform(0.5, 1.5)
sd.volume = cave.random.uniform(0.1, 0.3)
Код выше очень похож на тот, который вы найдете в обратном вызове анимации Ходьбы и Бегуна по умолчанию в основном персонаже, когда создаете новый проект Cave.
Вкладка Монитора аудио
Cave также включает вкладку Монитор аудио для отладки аудио во время работы вашей игры.

Вы можете открыть ее из верхнего левого меню Вкладки в редакторе.
Монитор аудио показывает информацию о звуках, которые в данный момент воспроизводятся, включая прогресс воспроизведения. Вы можете развернуть записи, чтобы просмотреть больше деталей, что очень полезно, когда проект начинает иметь много звуков, воспроизводящихся одновременно.
Например, Монитор аудио может помочь вам ответить на вопросы, такие как:
- Действительно ли этот звук воспроизводится?
- Слишком ли много раз воспроизводится один и тот же звук?
- Все еще ли активен повторяющийся амбиент?
- Насколько далеко звук продвинулся?
Вам, вероятно, не понадобится Монитор аудио постоянно в небольшом прототипе, но он становится очень полезным при отладке более сложных сцен.
Что вам следует помнить
Аудио в Cave просто: импортируйте аудиофайл, прослушайте его в Обозревателе ресурсов и воспроизводите из Python с помощью cave.playSound().
Используйте громкость, чтобы контролировать громкость, и тон, чтобы контролировать, насколько высоким или низким кажется звук, и сохраняйте возвращаемый идентификатор, когда вам необходимо контролировать звук после его начала.
Когда отслеживать аудио становится сложнее, откройте вкладку Монитора аудио из меню Вкладки и проверьте, что воспроизводится.