Audio Spațial și Mixare în Godot 4: AudioStreamPlayer2D și AudioServer în GDScript (Godot Engine)

Ghid complet pentru sunet în Godot 4: redarea sunetelor poziționale cu AudioStreamPlayer2D, atenuarea volumului cu distanța și controlul canalelor de mixare (Buses) prin AudioServer.

Sintaxă
$AudioStreamPlayer2D.play(); AudioServer.set_bus_volume_db(bus_idx, -6.0)

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)
Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: Audio Spațial și Mixare în Godot 4: AudioStreamPlayer2D și AudioServer

Ai o nelămurire despre utilizarea comenzii Audio Spațial și Mixare în Godot 4: AudioStreamPlayer2D și AudioServer sau 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.

Comunitate Adaugă o întrebare sau distribuie un cod

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.