Sistemul de sunet din Godot Engine permite redarea sunetelor globale (muzică de fundal prin AudioStreamPlayer) sau a sunetelor spațiale 2D/3D a căror intensitate și balans stânga/dreapta se ajustează automat pe baza poziției camerei sau a jucătorului.
Redarea sunetelor poziționale cu AudioStreamPlayer2D
extends Node2D
@onready var sunet_explozie: AudioStreamPlayer2D = $AudioStreamPlayer2D
func _ready() -> void:
# Distanța maximă în pixeli dincolo de care sunetul nu se mai aude deloc:
sunet_explozie.max_distance = 800.0
# Curba de atenuare a sunetului:
sunet_explozie.attenuation = 1.5
func declanseaza_explozie() -> void:
sunet_explozie.global_position = global_position
# Schimbăm ușor înălțimea sunetului (pitch) pentru varietate acustică:
sunet_explozie.pitch_scale = randf_range(0.9, 1.1)
sunet_explozie.play()
Controlul volumului magistralelor de sunet din meniul de setări cu AudioServer
func seteaza_volum_muzica(valoare_procent: float) -> void:
# Găsim indexul magistralei numită 'Music' configurată în panoul Audio:
var bus_idx: int = AudioServer.get_bus_index("Music")
# Conversie procent (0.0 - 1.0) în decibeli (-80 dB la 0 dB):
var db: float = linear_to_db(valoare_procent)
AudioServer.set_bus_volume_db(bus_idx, db)
func comuta_mute_master(mut: bool) -> void:
var master_idx: int = AudioServer.get_bus_index("Master")
AudioServer.set_bus_mute(master_idx, mut)
Întrebări & Exemple de Cod:
Audio Spațial și Mixare în Godot 4: AudioStreamPlayer2D și AudioServerAi o nelămurire despre utilizarea comenzii
Audio Spațial și Mixare în Godot 4: AudioStreamPlayer2D și AudioServersau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!
Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.