Games zonder geluidseffecten kunnen saai en niet opwindend aanvoelen. Verbeter je game-ervaring door achtergrondmuziek en geluidseffecten toe te voegen.

In de wereld van game-ontwikkeling speelt audio een cruciale rol bij het vormgeven van de algehele spelerservaring. Geluidseffecten en achtergrondmuziek zijn krachtige tools die de onderdompeling, sfeer en emotionele impact van je Godot-game kunnen verbeteren.

Het implementeren van geluidseffecten en achtergrondmuziek in Godot is niet alleen essentieel, maar ook verrassend eenvoudig. De engine biedt ingebouwde functies en functies die het proces vereenvoudigen, zelfs voor mensen met beperkte codeerervaring.

Het Godot-spel opzetten

Voordat je in de audio-implementatie duikt, moet je eerst een eenvoudig 2D-spel opzetten de Godot-game-engine om als basis te dienen. Start Godot en maak een nieuw 2D-project aan. Maak in de Godot-editor een nieuwe scène door met de rechtermuisknop op het hoofdknooppunt te klikken en te selecteren Onderliggend knooppunt toevoegen.

Maak een KinematicBody2D knoop en noem het Speler. Binnen in de Speler knoop, voeg een toe BotsingVorm2D knoop met een rechthoekige vorm. Deze vorm vertegenwoordigt de botsingsgrenzen van de speler.

Voeg een... toe Sprite knoop in de Speler knooppunt om het personage van de speler visueel weer te geven. U kunt een sprite-textuur toewijzen aan het Sprite node om je personage een visueel uiterlijk te geven.

De code die in dit artikel wordt gebruikt, is hierin beschikbaar GitHub-opslagplaats en is gratis voor u om te gebruiken onder de MIT-licentie.

Voeg nu de GDScript-code toe zodat de speler in alle vier de richtingen kan bewegen met toetsenbordinvoer.

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)

Hieronder is de uitvoer:

Geluidseffecten toevoegen

Gebruik om geluidseffecten toe te voegen in Godot AudioStreamPlayer knooppunten voor het afspelen van audiobestanden. Voordat u doorgaat, moet u ervoor zorgen dat u audiobestanden in ondersteunde indelingen (zoals WAV of OGG) hebt geïmporteerd in uw Godot-project.

Je kunt een geluidseffect laden en afspelen wanneer de speler tegen de hoek van het scherm botst, wat een out-of-bounds-situatie aangeeft.

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()

Creëer een AudioStreamPlayer node en voeg deze als een kind toe aan de player node tijdens het _klaar functie. Wanneer de speler tegen de hoeken van het scherm botst, laadt u het geluidseffect met behulp van de laden functie en stel deze in als de stream voor de AudioStreamPlayer.

Bel dan toneelstuk op de AudioStreamPlayer node om het afspelen van het geluidseffect te starten.

Achtergrondmuziek toevoegen

Achtergrondmuziek is een cruciaal onderdeel van elk spel, omdat het de stemming en sfeer voor de spelers bepaalt. Voor achtergrondmuziek wil je een audiobestand in een lus hebben (meestal in OGG-indeling) dat continu wordt afgespeeld tijdens het spelen.

Om achtergrondmuziek toe te voegen en deze in Godot te herhalen, klikt u op het audiobestand dat uw achtergrondmuziek vertegenwoordigt in het Godot FileSystem-paneel.

In de Importeren tabblad, ziet u verschillende opties voor audio-importinstellingen. Zoek naar de optie met het label Lus in de Importeren tabblad. Klik op het selectievakje naast Lus om looping voor het audiobestand in te schakelen.

Klik na het inschakelen van looping op de Opnieuw importeren knop onderaan de Importeren tabblad om de wijzigingen toe te passen.

Voeg nu het script toe om de achtergrondmuziek af te spelen:

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)

Creëer een AudioStreamPlayer knooppunt genoemd bg_muziek. Stel vervolgens de stroom eigenschap toe aan de achtergrondmuziek die is geladen met behulp van de laden functie. Stel ook de automatisch afspelen eigendom aan WAAR, die automatisch begint met afspelen wanneer de scène klaar is.

Als het audiobestand met achtergrondmuziek tijdens het importeren correct is herhaald, wordt het nu afgespeeld en herhaald naadloos tijdens het spelen, waardoor de spelers tijdens hun spel een meeslepende ervaring krijgen sessie.

Audio afspelen op gebruikersinvoer

Interactieve audio-elementen kunnen de betrokkenheid van de speler bij je game verder vergroten. U kunt een geluidseffect afspelen wanneer de speler op de spatiebalk drukt.

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()

In de _invoer functie, controleer of u op de spatiebalk drukt met behulp van de voorwaardelijke if-opdracht. Als de speler op de spatiebalk drukt, laadt u het bijbehorende geluidseffect met behulp van de laden functie en stel deze in als de stroom voor de invoer_geluid knooppunt.

Audio-eigenschappen beheren

In Godot kun je eenvoudig verschillende audio-eigenschappen bedienen met behulp van de AudioStreamPlayer knooppunt.

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)

U kunt het volume van de achtergrondmuziek regelen met de volume_db eigendom. Deze eigenschap past het volume van de audio aan in decibel (dB). Door het op een negatieve waarde in te stellen, zoals -20, wordt het volume met 20 decibel verlaagd.

Inclusief extra functies

Naast de basis biedt Godot verschillende functies en mogelijkheden om uw audio-ervaring te verbeteren. Enkele geavanceerde functies die u mogelijk aan uw game wilt toevoegen, zijn onder andere:

Geluidspoelen

Geluidspools zijn groepen vooraf geladen audiofragmenten die u tijdens uw game kunt hergebruiken. In plaats van herhaaldelijk geluidseffecten van de schijf te laden, kunt u vooraf een pool van auteursrechtvrije geluidseffecten aan het begin van het spel.

U kunt direct een geluidseffect uit het zwembad afspelen, waardoor mogelijke vertragingen worden verminderd en de prestaties worden verbeterd.

Crossfaden

Met crossfading kunt u vloeiende overgangen tussen audiotracks creëren, perfect voor het creëren van naadloze verschuivingen in muziek of sfeer. Door tegelijkertijd het volume van twee audiotracks aan te passen, kunt u de ene track uitfaden en de andere infaden, wat resulteert in een gepolijste en meeslepende audio-ervaring.

3D ruimtelijke audio

Voor 3D-games is ruimtelijke audio een waardevol hulpmiddel om het realisme te vergroten. Godot biedt 3D-audiomogelijkheden, waardoor geluiden kunnen worden waargenomen alsof ze uit specifieke richtingen in de gamewereld komen.

Door de positie en richting van de audio in te stellen ten opzichte van de positie van de speler, kunt u overtuigende audio-aanwijzingen creëren die diepte en onderdompeling aan uw spel toevoegen.

Beste praktijken voor het toevoegen van geluidseffecten

Houd bij het implementeren van geluidseffecten rekening met de volgende best practices om een ​​hoogwaardige audio-ervaring te garanderen:

  • Gebruik audiobestanden met de juiste compressie om een ​​balans te vinden tussen audiokwaliteit en bestandsgrootte.
  • Houd geluidseffecten kort en bondig en vermijd te lange of repetitieve geluiden.
  • Zorg ervoor dat de gekozen geluiden aansluiten bij het thema en de kunststijl van de game, waardoor de samenhang in de algehele ervaring wordt bevorderd.
  • Test audio op verschillende apparaten en platforms om compatibiliteit en consistentie te controleren.

Godot-spellen aantrekkelijker maken met geluidseffecten

Het toevoegen van geluidseffecten en achtergrondmuziek aan je Godot-game kan transformerend zijn en een zeer boeiende ervaring voor spelers creëren. Door audiofeedback te geven, dompel je spelers verder onder in de gamewereld, roep je emoties op en maak je de algehele ervaring aangenamer.

Goed gemaakte geluidseffecten kunnen de verwachting verhogen, acties versterken en een rijkere laag aan je spel toevoegen. Ondertussen zet achtergrondmuziek de toon, verbetert de sfeer en houdt spelers voor langere tijd geboeid.