Spil uden lydeffekter kan føles kedelige og uspændende. Forbedre din spiloplevelse ved at inkorporere baggrundsmusik og lydeffekter.

I spiludviklingsverdenen spiller lyd en afgørende rolle i at forme den overordnede spilleroplevelse. Lydeffekter og baggrundsmusik er kraftfulde værktøjer, der kan forbedre fordybelsen, atmosfæren og den følelsesmæssige effekt af dit Godot-spil.

Implementering af lydeffekter og baggrundsmusik i Godot er ikke kun afgørende, men overraskende ligetil. Motoren har indbyggede funktioner og funktioner, der forenkler processen, selv for dem med begrænset kodningserfaring.

Opsætning af Godot-spillet

Inden du dykker ned i lydimplementering, skal du oprette et simpelt 2D-spil Godot spilmotoren at tjene som fundament. Start Godot og opret et nyt 2D-projekt. I Godot-editoren skal du oprette en ny scene ved at højreklikke på rodnoden og vælge Tilføj Child Node.

Lave en KinematicBody2D node og navngiv den Spiller. Inde i Spiller node, tilføj en CollisionShape2D node med en rektangelform. Denne form repræsenterer spillerens kollisionsgrænser.

instagram viewer

Tilføj en Sprite node inde i Spiller node til visuelt at repræsentere spillerens karakter. Du kan tildele en sprite-tekstur til Sprite node for at give din karakter et visuelt udseende.

Koden brugt i denne artikel er tilgængelig i denne GitHub-depot og er gratis for dig at bruge under MIT-licensen.

Tilføj nu GDScript-koden for at gøre det muligt for afspilleren at bevæge sig i alle fire retninger ved hjælp af tastaturinput.

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)

Nedenfor er output:

Tilføjelse af lydeffekter

For at tilføje lydeffekter i Godot, brug AudioStreamPlayer noder til at håndtere afspilning af lydfiler. Før du fortsætter, skal du sikre dig, at du har lydfiler i understøttede formater (såsom WAV eller OGG) importeret til dit Godot-projekt.

Du kan indlæse og afspille en lydeffekt, når afspilleren kolliderer med skærmens hjørne, hvilket indikerer en situation uden for banen.

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

Opret en AudioStreamPlayer node og tilføj den som et underordnet til spillernoden under _parat fungere. Når afspilleren kolliderer med skærmens hjørner, skal du indlæse lydeffekten ved hjælp af belastning funktion og indstil den som stream for AudioStreamPlayer.

Så ring Spil på den AudioStreamPlayer node for at starte afspilning af lydeffekten.

Tilføjelse af baggrundsmusik

Baggrundsmusik er en afgørende komponent i ethvert spil, da det sætter stemningen og atmosfæren for spillerne. Til baggrundsmusik vil du gerne have en loopet lydfil (normalt i OGG-format), der afspilles kontinuerligt under gameplay.

For at tilføje baggrundsmusik og sløjfe den i Godot skal du klikke på lydfilen, der repræsenterer din baggrundsmusik i Godot FileSystem-panelet.

I den Importere fanen, vil du se forskellige muligheder for lydimportindstillinger. Se efter indstillingen mærket Løkke i Importere fanen. Klik på afkrydsningsfeltet ved siden af Løkke for at aktivere looping for lydfilen.

Når du har aktiveret looping, skal du klikke på Genimport knappen i bunden af Importere fanen for at anvende ændringerne.

Tilføj nu scriptet for at afspille baggrundsmusikken:

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)

Opret en AudioStreamPlayer node kaldet bg_musik. Indstil derefter strøm ejendom til baggrundsmusikken indlæst ved hjælp af belastning fungere. Indstil også automatisk afspilning ejendom til rigtigt, som automatisk starter afspilningen, når scenen er klar.

Med baggrundsmusik-lydfilen korrekt sløjfet under import, vil den nu afspille og sløjfe problemfrit under gameplay, hvilket giver en fordybende oplevelse for spillerne gennem deres spil session.

Afspil lyd på brugerinput

Interaktive lydelementer kan yderligere forbedre spillerens engagement i dit spil. Du kan afspille en lydeffekt, når afspilleren trykker på mellemrumstasten.

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

I den _input funktion, skal du kontrollere, om der trykkes på mellemrumstasten ved at bruge den betingede if-erklæring. Hvis afspilleren trykker på mellemrumstasten, indlæs den tilsvarende lydeffekt ved hjælp af belastning funktion og indstil den som strøm for input_lyd node.

Styring af lydegenskaber

I Godot kan du nemt styre forskellige lydegenskaber ved hjælp af AudioStreamPlayer node.

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)

Du kan styre lydstyrken på baggrundsmusikken ved hjælp af volumen_db ejendom. Denne egenskab justerer lydstyrken i decibel (dB). Hvis du indstiller den til en negativ værdi, f.eks. -20, reduceres lydstyrken med 20 decibel.

Inklusiv yderligere funktioner

Ud over det grundlæggende tilbyder Godot forskellige funktioner og muligheder for at løfte din lydoplevelse. Nogle avancerede funktioner, du kan overveje at tilføje til dit spil, omfatter:

Sound Pools

Lydpuljer er grupper af forudindlæste lydeksempler, som du kan genbruge gennem dit spil. I stedet for gentagne gange at indlæse lydeffekter fra disken, kan du forudindlæse en pulje af ophavsretsfri lydeffekter i starten af ​​spillet.

Du kan øjeblikkeligt afspille en lydeffekt fra poolen, hvilket reducerer potentielle forsinkelser og forbedrer ydeevnen.

Crossfading

Crossfading giver dig mulighed for at skabe jævne overgange mellem lydspor, perfekt til at skabe problemfri skift i musik eller stemning. Ved samtidig at justere lydstyrken på to lydspor kan du fade et spor ud, mens du fader i et andet, hvilket resulterer i en poleret og fordybende lydoplevelse.

3D rumlig lyd

Til 3D-spil er rumlig lyd et værdifuldt værktøj til at forbedre realismen. Godot tilbyder 3D-lydfunktioner, der gør det muligt at opfatte lyde som at komme fra bestemte retninger i spilverdenen.

Ved at indstille lydens position og orientering i forhold til spillerens position, kan du skabe overbevisende lydsignaler, der tilføjer dybde og fordybelse til dit spil.

Bedste praksis for tilføjelse af lydeffekter

Mens du implementerer lydeffekter, skal du overveje følgende bedste praksis for at sikre en lydoplevelse af høj kvalitet:

  • Brug lydfiler med passende komprimering for at finde en balance mellem lydkvalitet og filstørrelse.
  • Hold lydeffekter korte og koncise, undgå alt for lange eller gentagne lyde.
  • Sørg for, at de valgte lyde stemmer overens med spillets tema og kunststil, hvilket fremmer sammenhængen i den samlede oplevelse.
  • Test lyd på forskellige enheder og platforme for at verificere kompatibilitet og konsistens.

Gør Godot-spil mere engagerende med lydeffekter

Tilføjelse af lydeffekter og baggrundsmusik til dit Godot-spil kan være transformerende og skabe en dybt engagerende oplevelse for spillere. Ved at give lydfeedback fordyber du spillerne længere ind i spilverdenen, vækker følelser og gør den samlede oplevelse mere behagelig.

Veludviklede lydeffekter kan øge forventningen, forstærke handlinger og tilføje et lag af rigdom til dit spil. I mellemtiden sætter baggrundsmusik tonen tonen, forbedrer atmosfæren og holder spillere fanget i længere perioder.