Cave: Руководство по началу работы
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 сделано максимально простым: вы импортируете аудиофайл, прослушиваете его прямо в редакторе и воспроизводите из игры по событию.
В этом уроке вы узнаете:
- Как работают аудиоактивы в Asset Browser.
- Как прослушивать аудиофайл.
- Как экспортировать или заменить аудио в формате
.ogg. - Как воспроизводить аудио из Python.
- Что означают громкость и высота тона.
- Для чего используется возвращаемый аудио-хендл.
- Как вкладка Audio Monitor помогает отлаживать звук.
Вам не нужна сложная настройка, чтобы начать. Если вы можете импортировать звук и воспроизвести его при нажатии кнопки, открытии двери, подборе предмета или действии персонажа — вы уже поняли основной рабочий процесс.
Импорт аудио
Cave позволяет импортировать аудиофайлы в проект в виде аудиоактивов. Как вы видели в разделе Импорт активов, Cave поддерживает аудиофайлы формата .ogg.
После импорта аудио появляется в Asset Browser как и другие ресурсы проекта. Оттуда его можно использовать в скриптах, UI-обработчиках, Logic Bricks, событиях Timeline или в любых других системах, где нужно воспроизвести звук.
Например, в вашем проекте могут быть аудиоактивы типа:
Button ClickDoor OpenPickup CoinFootstepForest Ambience
Понятные имена очень полезны, так как в Python звук часто вызывается именно по имени.
Прослушивание аудиоактивов
После импорта аудиофайла его можно прослушать прямо в Cave.
Доступно два простых способа:
- Двойной клик по аудиоактиву в Asset Browser — быстрое предпрослушивание.
- Один клик левой кнопкой для выделения и отображения свойств, где можно управлять предпрослушиванием.
Просмотр свойств удобен тем, что позволяет точнее управлять звуком при прослушивании. Например, вы можете протестировать, как звук будет звучать при изменении высоты тона, прежде чем использовать его в игре.
Это особенно полезно для эффектов шагов, ударов, кликов интерфейса и звуков существ. Небольшое изменение высоты тона помогает сделать повторяющиеся звуки менее однообразными.
Экспорт и замена аудио
Аудиоактивы можно экспортировать обратно в формате .ogg. Это удобно, если нужно редактировать звук во внешнем редакторе.
Также можно заменить аудиоактив другим .ogg файлом. Это практично, если логика уже ссылается на имя актива, а вам нужно заменить сам звук.
Например, если игра уже использует актив с именем Door Open, то при замене звука в этом активе скрипты, воспроизводящие Door Open, продолжат работать без изменений.
Воспроизведение аудио с помощью Audio Component
Иногда нужно воспроизвести простой зацикленный звук амбиента, музыку в главном меню и т.п. В этом случае достаточно Audio Component:

Этот компонент будет бесконечно воспроизводить указанный звук и позволяет контролировать громкость, высоту тона, 3D-эффект и максимальное расстояние. Обратите внимание, что он не имеет опций для выбора количества повторов и т.п. Если нужна большая настройка, аудио воспроизводят через код.
Воспроизведение аудио из Python
Самый простой способ воспроизвести аудио из Python — использовать cave.playSound().
cave.playSound("Button Click")
Это воспроизводит аудиоактив с именем Button Click.
Можно также указать громкость:
cave.playSound("Door Open", 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("Footstep Stone", volume=0.8)
sound.pitch = 1.0
С помощью этого хендла можно управлять звуком после запуска.
Например:
sound = cave.playSound("Cave Ambience", volume=0.6, loop=True)
# Или через методы getter и setter:
sound.setPitch(0.9)
sound.setVolume(0.4)
Хендл позволяет:
- Изменять громкость.
- Менять высоту тона.
- Поставить звук на паузу.
- Возобновить звук.
- Остановить звук.
- Проверять прогресс воспроизведения.
- Сделать так, чтобы звук исходил из 3D-сущности.
Например, если звук двери должен звучать исходя из позиции сущности двери:
sound = cave.playSound("Door Open", volume=1.0)
sound.setSource3D(self.entity, maxDistance=20)
Вам не нужен хендл для каждого звука. Для простого клика по кнопке достаточно:
cave.playSound("Button Click")
Используйте хендл, когда требуется дополнительное управление.
Можно даже немного варьировать звучание шагов, чтобы придать им разнообразия без добавления новых звуков:
sd = cave.playSound("Footstep Stone")
# Установка 3D-источника — сущность, воспроизводящая звук:
sd.setSource3D(entity, 20)
# Случайное изменение высоты и громкости:
sd.pitch = cave.random.uniform(0.5, 1.5)
sd.volume = cave.random.uniform(0.1, 0.3)
Этот пример очень похож на код, который вы найдёте в коллбэке анимаций Walk и Run в стандартном Proto Character, когда создаёте новый проект на Cave.
Вкладка Audio Monitor
Cave также включает вкладку Audio Monitor для отладки аудио во время запуска игры.

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