Hry bez zvukových efektů se mohou zdát nudné a nevzrušující. Vylepšete svůj herní zážitek začleněním hudby na pozadí a zvukových efektů.
Ve světě vývoje her hraje zvuk klíčovou roli při utváření celkového zážitku hráče. Zvukové efekty a hudba na pozadí jsou mocnými nástroji, které mohou zlepšit pohlcení, atmosféru a emocionální dopad vaší hry Godot.
Implementace zvukových efektů a hudby na pozadí v Godot je nejen zásadní, ale překvapivě přímočará. Engine poskytuje vestavěné funkce a funkce, které zjednodušují proces, a to i pro ty, kteří mají omezené zkušenosti s kódováním.
Nastavení hry Godot
Než se pustíte do implementace zvuku, nastavte si jednoduchou 2D hru herní engine Godot sloužit jako základ. Spusťte Godota a vytvořte nový 2D projekt. V editoru Godot vytvořte novou scénu kliknutím pravým tlačítkem na kořenový uzel a výběrem Přidat podřízený uzel.
Vytvořit KinematicBody2D uzel a pojmenujte jej Hráč. Uvnitř Hráč uzel, přidejte a CollisionShape2D uzel s tvarem obdélníku. Tento tvar představuje hráčovy kolizní hranice.
Přidat Skřítek uzel uvnitř Hráč uzel pro vizuální reprezentaci postavy hráče. Můžete přiřadit sprite texturu Skřítek uzel, který dodá vaší postavě vizuální vzhled.
Kód použitý v tomto článku je k dispozici v tomto úložiště GitHub a můžete jej používat zdarma pod licencí MIT.
Nyní přidejte kód GDScript, aby se přehrávač mohl pohybovat všemi čtyřmi směry pomocí vstupu z klávesnice.
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)
Níže je výstup:
Přidání zvukových efektů
Chcete-li přidat zvukové efekty v Godot, použijte AudioStreamPlayer uzly pro ovládání přehrávání zvukových souborů. Než budete pokračovat, ujistěte se, že máte do svého projektu Godot importovány zvukové soubory v podporovaných formátech (jako je WAV nebo OGG).
Kdykoli přehrávač narazí do rohu obrazovky, můžete načíst a přehrát zvukový efekt, což znamená, že jste mimo hranice.
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()
Vytvořit AudioStreamPlayer uzel a přidejte jej jako dítě do hráčského uzlu během _připraven funkce. Když přehrávač koliduje s rohy obrazovky, načtěte zvukový efekt pomocí tlačítka zatížení a nastavte ji jako stream pro AudioStreamPlayer.
Pak zavolejte hrát si na AudioStreamPlayer uzel pro zahájení přehrávání zvukového efektu.
Přidání hudby na pozadí
Hudba na pozadí je klíčovou součástí každé hry, protože hráčům nastavuje náladu a atmosféru. Pro hudbu na pozadí budete chtít mít zacyklený zvukový soubor (obvykle ve formátu OGG), který se během hry nepřetržitě přehrává.
Chcete-li přidat hudbu na pozadí a opakovat ji v Godot, klikněte na zvukový soubor představující vaši hudbu na pozadí na panelu Godot FileSystem.
V Import zobrazíte různé možnosti nastavení importu zvuku. Hledejte možnost označenou Smyčka v Import tab. Klikněte na zaškrtávací políčko vedle Smyčka pro povolení smyčky pro zvukový soubor.
Po povolení opakování klikněte na Znovu importovat tlačítko ve spodní části Import pro použití změn.
Nyní přidejte skript pro přehrávání hudby na pozadí:
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)
Vytvořit AudioStreamPlayer volaný uzel bg_music. Poté nastavte proud vlastnost k hudbě na pozadí načtené pomocí zatížení funkce. Nastavte také automatické přehrávání majetek do skutečný, který automaticky spustí přehrávání, když je scéna připravena.
Když je zvukový soubor hudby na pozadí během importu správně smyčkován, bude se nyní přehrávat a opakovat plynule během hry a poskytuje hráčům pohlcující zážitek během hry zasedání.
Přehrát zvuk na uživatelském vstupu
Interaktivní zvukové prvky mohou dále zlepšit zapojení hráče do vaší hry. Když přehrávač stiskne mezerník, můžete přehrát zvukový efekt.
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()
V _vstup zkontrolujte, zda je stisknuto tlačítko mezerníku pomocí podmíněného příkazu if. Pokud přehrávač stiskne tlačítko mezerníku, načtěte odpovídající zvukový efekt pomocí tlačítka zatížení funkci a nastavte ji jako proud pro vstupní_zvuk uzel.
Ovládání vlastností zvuku
V Godot můžete snadno ovládat různé zvukové vlastnosti pomocí AudioStreamPlayer uzel.
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)
Hlasitost hudby na pozadí můžete ovládat pomocí volume_db vlastnictví. Tato vlastnost upravuje hlasitost zvuku v decibelech (dB). Nastavením na zápornou hodnotu, například -20, snížíte hlasitost o 20 decibelů.
Včetně dalších funkcí
Kromě základů nabízí Godot různé funkce a možnosti, které povýší váš zvukový zážitek. Mezi některé pokročilé funkce, které můžete do hry přidat, patří:
Zvukové bazény
Zvukové fondy jsou skupiny předem nahraných zvukových vzorků, které můžete opakovaně používat během hry. Namísto opakovaného načítání zvukových efektů z disku můžete předem načíst fond zvukové efekty bez autorských práv na začátku hry.
Můžete okamžitě přehrát zvukový efekt z bazénu, snížit potenciální zpoždění a zlepšit výkon.
Crossfading
Crossfading umožňuje vytvářet plynulé přechody mezi zvukovými stopami, což je ideální pro vytváření plynulých posunů v hudbě nebo atmosféře. Současným nastavením hlasitosti dvou zvukových stop můžete zeslabovat jednu stopu a zároveň slábnout jinou, což má za následek vybroušený a pohlcující zvukový zážitek.
3D prostorový zvuk
Pro 3D hry je prostorový zvuk cenným nástrojem pro zvýšení realismu. Godot nabízí možnosti 3D zvuku, které umožňují vnímat zvuky jako přicházející z konkrétních směrů v herním světě.
Nastavením pozice a orientace zvuku vzhledem k pozici hráče můžete vytvořit přesvědčivé zvukové podněty, které dodají vaší hře hloubku a ponoření.
Nejlepší postupy pro přidávání zvukových efektů
Při implementaci zvukových efektů zvažte následující osvědčené postupy, abyste zajistili vysoce kvalitní zvukový zážitek:
- Použijte zvukové soubory s vhodnou kompresí, abyste dosáhli rovnováhy mezi kvalitou zvuku a velikostí souboru.
- Udržujte zvukové efekty krátké a výstižné, vyhněte se příliš dlouhým nebo opakujícím se zvukům.
- Ujistěte se, že zvolené zvuky odpovídají tématu a uměleckému stylu hry a podporují soudržnost v celkovém zážitku.
- Otestujte zvuk na různých zařízeních a platformách, abyste ověřili kompatibilitu a konzistenci.
Díky zvukovým efektům budou hry Godot poutavější
Přidání zvukových efektů a hudby na pozadí do vaší hry Godot může být transformační a vytvořit pro hráče hluboce poutavý zážitek. Poskytnutím zvukové zpětné vazby ponoříte hráče hlouběji do herního světa, vyvoláte emoce a zpříjemníte celkový zážitek.
Dobře vytvořené zvukové efekty mohou zvýšit očekávání, posílit akce a přidat do vaší hry vrstvu bohatství. Mezitím hudba na pozadí udává tón, vylepšuje atmosféru a udrží hráče v zajetí na delší dobu.