Игры без звуковых эффектов могут показаться скучными и неинтересными. Улучшите игровой процесс, включив фоновую музыку и звуковые эффекты.

В мире разработки игр звук играет ключевую роль в формировании общего впечатления от игры. Звуковые эффекты и фоновая музыка — мощные инструменты, которые могут усилить погружение, атмосферу и эмоциональное воздействие вашей игры Godot.

Реализация звуковых эффектов и фоновой музыки в Godot не только необходима, но и удивительно проста. Движок предоставляет встроенные возможности и функции, которые упрощают процесс даже для тех, у кого ограниченный опыт программирования.

Настройка игры Годо

Прежде чем погрузиться в реализацию звука, настройте простую 2D-игру в игровой движок Godot служить основой. Запустите Godot и создайте новый 2D-проект. В редакторе Godot создайте новую сцену, щелкнув правой кнопкой мыши корневой узел и выбрав Добавить дочерний узел.

Создать кинематическоетело2D узел и назовите его Игрок. Внутри Игрок узел, добавьте CollisionShape2D узел прямоугольной формы. Эта форма представляет границы столкновения игрока.

instagram viewer

Добавить Спрайт узел внутри Игрок node для визуального представления персонажа игрока. Вы можете назначить текстуру спрайта на Спрайт node, чтобы придать вашему персонажу внешний вид.

Код, используемый в этой статье, доступен в этом Репозиторий GitHub и вы можете использовать его бесплатно по лицензии MIT.

Теперь добавьте код GDScript, чтобы игрок мог двигаться во всех четырех направлениях, используя ввод с клавиатуры.

extends KinematicBody2D

const SPEED = 150

func _physics_process(delta):
var velocity = Vector2.ZERO
if Input.is_action_pressed("move_right"):
velocity.x += SPEED
if Input.is_action_pressed("move_left"):
velocity.x -= SPEED
if Input.is_action_pressed("move_down"):
velocity.y += SPEED
if Input.is_action_pressed("move_up"):
velocity.y -= SPEED

velocity = move_and_slide(velocity)

Ниже приведен вывод:

Добавление звуковых эффектов

Чтобы добавить звуковые эффекты в Godot, используйте Аудиопотокплеер узлы для управления воспроизведением аудиофайлов. Прежде чем продолжить, убедитесь, что в ваш проект Godot импортированы аудиофайлы в поддерживаемых форматах (например, WAV или OGG).

Вы можете загрузить и воспроизвести звуковой эффект всякий раз, когда игрок сталкивается с углом экрана, что указывает на выход за пределы поля.

extends KinematicBody2D

# Declare an AudioStreamPlayer node as a class member
var sound_player := AudioStreamPlayer.new()

func _ready():
# Add the AudioStreamPlayer as a child to the player node
add_child(sound_player)

func _physics_process(delta):
#... (previous code)

var c1 = position.x <= 0
var c2 = position.x >= get_viewport().size.x
var c3 = position.y <= 0
var c4 = position.y >= get_viewport().size.y

if c1 or c2 or c3 or c4:
var sound_effect = load("res://path_to_sound_effect.wav")
sound_player.stream = sound_effect
sound_player.play()

Создать Аудиопотокплеер узел и добавить его как дочерний к узлу игрока во время _готовый функция. Когда игрок сталкивается с углами экрана, загрузите звуковой эффект с помощью кнопки нагрузка и установите его как поток для Аудиопотокплеер.

Затем позвоните играть на Аудиопотокплеер узел, чтобы инициировать воспроизведение звукового эффекта.

Добавление фоновой музыки

Фоновая музыка является важным компонентом любой игры, так как она создает настроение и атмосферу для игроков. Для фоновой музыки вам понадобится зацикленный аудиофайл (обычно в формате OGG), который непрерывно воспроизводится во время игры.

Чтобы добавить фоновую музыку и зациклить ее в Godot, щелкните аудиофайл, представляющий вашу фоновую музыку, на панели файловой системы Godot.

в Импортировать на вкладке вы увидите различные варианты настроек импорта аудио. Ищите вариант с надписью Петля в Импортировать вкладка Нажмите на флажок рядом с Петля чтобы включить зацикливание аудиофайла.

После включения зацикливания нажмите кнопку Реимпорт кнопка в нижней части Импортировать вкладку, чтобы применить изменения.

Теперь добавьте скрипт для воспроизведения фоновой музыки:

extends KinematicBody2D

var bg_music := AudioStreamPlayer.new()

func _ready():
bg_music.stream = load("res://path_to_bg_music.ogg")
bg_music.autoplay = true
add_child(bg_music)

Создать Аудиопотокплеер узел называется bg_music. Затем установите транслировать свойство фоновой музыки, загружаемой с помощью нагрузка функция. Также установите Автовоспроизведение собственность на истинный, который автоматически начинает воспроизведение, когда сцена готова.

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

Воспроизведение аудио при вводе пользователем

Интерактивные звуковые элементы могут еще больше повысить вовлеченность игрока в вашу игру. Вы можете воспроизвести звуковой эффект, когда игрок нажимает кнопку пробела.

extends KinematicBody2D

var bg_music := AudioStreamPlayer.new()
var input_sound := AudioStreamPlayer.new()

func _ready():
bg_music.stream = load("res://path_to_bg_music.ogg")
bg_music.autoplay = true
add_child(bg_music)
add_child(input_sound)

func _input(event):
if event.is_action_pressed("ui_accept"):
input_sound.stream = load("res://path_to_input_sound.wav")
input_sound.play()

в _вход функция, проверьте нажатие кнопки пробела используя условный оператор if. Если игрок нажмет пробел, загрузите соответствующий звуковой эффект, используя нагрузка функцию и установите ее как транслировать для input_sound узел.

Управление свойствами звука

В Godot вы можете легко управлять различными свойствами звука, используя Аудиопотокплеер узел.

extends KinematicBody2D

var bg_music := AudioStreamPlayer.new()

func _ready():
bg_music.stream = load("res://path_to_bg_music.ogg")
bg_music.autoplay = true
bg_music.volume_db = -20
add_child(bg_music)

Вы можете регулировать громкость фоновой музыки с помощью объем_дб свойство. Это свойство регулирует громкость звука в децибелах (дБ). Установка отрицательного значения, например -20, уменьшает громкость на 20 децибел.

Включая дополнительные функции

Помимо основ, Godot предлагает различные функции и возможности для повышения качества звука. Некоторые расширенные функции, которые вы можете добавить в свою игру, включают:

Звуковые бассейны

Звуковые пулы — это группы предварительно загруженных аудиосэмплов, которые вы можете повторно использовать в своей игре. Вместо многократной загрузки звуковых эффектов с диска вы можете предварительно загрузить пул звуковых эффектов. звуковые эффекты без авторских прав в начале игры.

Вы можете мгновенно воспроизвести звуковой эффект из пула, уменьшив возможные задержки и повысив производительность.

Кроссфейдинг

Кроссфейдинг позволяет создавать плавные переходы между звуковыми дорожками, идеально подходящие для создания плавных переходов в музыке или окружении. Одновременно регулируя громкость двух звуковых дорожек, вы можете затухать одну дорожку и плавно добавлять другую, что приводит к отполированному и захватывающему звуку.

Трехмерное пространственное аудио

Для 3D-игр пространственный звук является ценным инструментом для повышения реализма. Godot предлагает возможности 3D-аудио, позволяющие воспринимать звуки как исходящие из определенных направлений в игровом мире.

Установив положение и ориентацию звука относительно положения игрока, вы можете создать убедительные звуковые сигналы, которые добавят глубину и эффект погружения в вашу игру.

Рекомендации по добавлению звуковых эффектов

При реализации звуковых эффектов учитывайте следующие рекомендации, чтобы обеспечить высокое качество звука:

  • Используйте аудиофайлы с соответствующим сжатием, чтобы найти баланс между качеством звука и размером файла.
  • Звуковые эффекты должны быть короткими и лаконичными, избегайте чрезмерно длинных или повторяющихся звуков.
  • Убедитесь, что выбранные звуки соответствуют теме игры и художественному стилю, способствуя единству общего опыта.
  • Тестируйте звук на разных устройствах и платформах, чтобы убедиться в совместимости и согласованности.

Звуковые эффекты делают игры Godot более привлекательными

Добавление звуковых эффектов и фоновой музыки в вашу игру Godot может преобразить вашу игру, создав увлекательный опыт для игроков. Предоставляя звуковую обратную связь, вы еще больше погружаете игроков в игровой мир, пробуждаете эмоции и делаете общее впечатление более приятным.

Хорошо продуманные звуковые эффекты могут усилить предвкушение, усилить действие и добавить в вашу игру еще больше разнообразия. Между тем, фоновая музыка задает тон, улучшает атмосферу и удерживает внимание игроков на более продолжительное время.