12 Как добавить музыку, звуки и голос в Renpy
Чтобы использовать звуковые файлы в Renpy, их нужно поместить в папку game/audio. Также для порядка можно создать подпапки, например, music для фоновой музыки, sound для звуковых эффектов и voice для озвучки персонажей. Движок поддерживает форматы - OGG, MP3, WAV.
Далее каждую композицию нужно привязать к переменной, с помощью которой будет вызываться нужный звук. Создайте в своём проекте новый .rpy файл, например, с названием audio, и пропишите для каждого музыкального файла переменную с уникальным названием. Для удобства обычно их называют также как и саму композицию.
* Весь код из урока будет прикреплён к посту
Это создаст именованные ссылки на ваши аудиофайлы, которые можно будет многократно использовать по всему проекту. А в случае замены определённого файла на новый, вам не придётся редактировать все скрипты, где прописана эта композиция. Нужно будет изменить лишь путь в переменной к новому файлу.
Для того чтобы выводить музыку, звуки и голос внутри сценария в Ren'Py существует несколько команд:
play music - для фоновой музыки. Композиция будет играть по кругу до тех пор, пока не будет заменена на другую или принудительно остановлена командой stop music.
play sound - для коротких звуковых эффектов (можно воспроизводить несколько одновременно). Звуки будут воспроизведены один раз, без повтора. Если звук очень длинный, его также можно остановить stop sound.
voice - для голосовых реплик (автоматически останавливает предыдущий голос).
Чтобы сделать плавное воспроизведение и затухание музыки используются команды:
fadein - плавно увеличивает громкость музыки вначале
fadeout - плавное затухание музыки при её завершении
Рядом с командой необходимо установить количество секунд, которое будет длиться эффект увеличения / затухания громкости.
Таким образом вы сами можете срежиссировать музыкальную составляющую, постоянно включая и выключая мелодии, которые будут подходить к каждому моменту игры.
Если звуковое сопровождение не так уж важно, можно создать плейлист композиций, который будет воспроизводить несколько мелодий по кругу. Вернитесь в файл audio.rpy и создайте список песен для плейлиста:
В переменной playlist_1 мы сохранили через запятую все пути к нужным композициям. Теперь в любом месте сценария запустим этот список:
***
По умолчанию Renpy использует три звуковых канала: music (для воспроизведения музыки), sound (для звуковых эффектов) и voice (для озвучки). Однако вы можете создать собственные каналы, например, для запуска двух музыкальных композиций одновременно.
Это может быть полезно например, если нужно включить на фоне зацикленную композицию шума города и ещё одну композицию пения птиц. Если сейчас мы попытаемся запустить каждую из них, то вторая мелодия автоматически заменит предыдущую:
play music street
play music nature
Перейдите в файл audio.rpy и добавьте новые музыкальные каналы:
В данной записи в скобках мы присваиваем каналу название, по которому будем его вызывать ("music2").
Второй параметр сообщает движку, к какому микшеру он относится (music, sfx, voice)
Третий параметр отвечает за зацикленность композиции, будет ли она воспроизводится снова после завершения. True - будет, False - не будет.
Теперь мы можем одновременно воспроизвести сразу три композиции: шум города, пение птиц, и фоновую музыку:
Соответственно, чтобы остановить определённую композицию, нужно указать канал, в котором она играет, например, stop music2
***
Чтобы добавить музыку в главное меню, достаточно прописать соответствующую композицию в опциях. Откройте файл options.rpy, нажмите Ctrl + F, в открывшееся окно вставьте слово main и нажмите Enter. Найдётся такая строка:
Нам нужно раскоментировать настройку музыки в главном меню, и прописать в кавычках путь к файлу, который должен воспроизводиться при попадании в меню:
***
И последняя настройка - громкость музыки по умолчанию. По дефолту в Renpy музыкальные каналы включены на полную громкость. При первом запуске игрок может быть шокирован такой громкостью, если он в наушниках или с выкрученными колонками.
Давайте установим среднее значение громкости. Далее в игре пользователь сам сможет установить уровень и он сохранится в глобальных настройках. Т.е. следующие запуски игры будут уже с той громкостью, которую установит сам игрок.
В файле options.rpy в самом верху, где мы уже прописывали другие настройки, добавьте такие строки:
define config.default_music_volume = 0.5
define config.default_sfx_volume = 0.5
define config.default_voice_volume = 0.5
Каждая из настроек отвечает за громкость музыки (music), звуков (sfx), и голоса (voice) по умолчанию. Значение можно установить от 0.0 до 1.0. Т.е. 0 - это полное отключение, а 1 - полная громкость, 0.5 установит громкость на середину. Вы можете указать любое число в этом диапазоне, например, 0.3 - 30% громкости, 0.7 - 70% громкости.
Теперь, чтобы глобальные настройки громкости вступили в силу, выберите в лаунчере свой проект и нажмите "Очистить постоянные".
Данная опция очищает / сбрасывает к дефолту глобальные переменные. Три из которых мы только что перезаписали. Теперь зайдите в игру и перейдите в настройки, чтобы убедиться, что громкость по умолчанию изменилась. Если вы подвигаете ползунки глобальные переменные запомнят новое положение громкости, и она сохранится с новыми значениями.
Если всё сделано правильно, то звук и музыка в игре должные корректно воспроизводиться:
***
Архив с музыкой из урока:
rar
audio.rar5.33 Mb
***
Код из урока:
Код из урока:
rpy
audio.rpy1.42 Kb
rpy
script.rpy2.59 Kb
***
Предыдущий урок:
Следующий урок:
13 Как настроить скорость печати текста в Renpy
13 Как настроить скорость печати текста в Renpy
In bundle
renpy
ренпай
ренпи
программирование
разработка игр
визуальная новелла