AudioStreamPlayer2D
w Godot 4 to węzeł do odtwarzania dźwięków w przestrzeni 2D. W przeciwieństwie do AudioStreamPlayer
, który odtwarza dźwięki bez względu na pozycję, AudioStreamPlayer2D
umieszcza dźwięki w świecie gry 2D, co pozwala na odtwarzanie efektów dźwiękowych, które zmieniają głośność i balans (panning) w zależności od odległości od słuchacza (np. kamery lub gracza).
Cechy AudioStreamPlayer2D
:
- Dźwięk przestrzenny w 2D: Dźwięki odtwarzane za pomocą
AudioStreamPlayer2D
reagują na pozycję w przestrzeni 2D, co oznacza, że dźwięk staje się głośniejszy, gdy gracz zbliża się do źródła, i cichszy, gdy się oddala. - Balans dźwięku (panning):
AudioStreamPlayer2D
automatycznie balansuje dźwięk w zależności od pozycji źródła względem kamery, co daje realistyczne wrażenie przestrzenne. - Współpraca z
AudioBus
: Pozwala na kontrolowanie głośności i efektów dźwiękowych w całej grze.
Jak używać AudioStreamPlayer2D
:
1. Dodanie AudioStreamPlayer2D
do sceny
- W drzewie scen kliknij „Dodaj węzeł”.
- Wyszukaj
AudioStreamPlayer2D
i dodaj go do swojej sceny. - W inspektorze, w polu
Stream
, wybierz lub załaduj plik dźwiękowy (np..wav
,.ogg
,.mp3
), który chcesz odtworzyć.
2. Odtwarzanie dźwięku w przestrzeni 2D
Możesz przypisać dźwięk do właściwości Stream
i kontrolować odtwarzanie za pomocą skryptu:
extends AudioStreamPlayer2D
func _ready():
play() # Rozpoczyna odtwarzanie dźwięku automatycznie po załadowaniu sceny
3. Ustawienia w inspektorze AudioStreamPlayer2D
Stream
:
- To właściwość, która określa, jaki dźwięk ma być odtwarzany. Możesz przypisać plik dźwiękowy w inspektorze lub dynamicznie w skrypcie:
$AudioStreamPlayer2D.stream = load("res://sounds/explosion.ogg")
Volume Db
:
- Ustawia głośność dźwięku w decybelach. Możesz zmieniać poziom głośności, aby dostosować go do różnych sytuacji w grze.
$AudioStreamPlayer2D.volume_db = -5 # Ścisz dźwięk o 5 dB
Attenuation
:
- Definiuje, jak szybko dźwięk traci głośność wraz ze wzrostem odległości od źródła. Dzięki temu dźwięk staje się cichszy, gdy gracz oddala się od źródła.
$AudioStreamPlayer2D.attenuation = 1.0
Bus
:
- Pozwala na przypisanie dźwięku do konkretnego kanału (
AudioBus
), co umożliwia łatwe kontrolowanie głośności całej grupy dźwięków (np. muzyka, efekty dźwiękowe, dialogi).
Pitch Scale
:
- Zmienia wysokość (ton) dźwięku. Możesz użyć tej właściwości, aby odtwarzać dźwięk w wyższym lub niższym tonie.
$AudioStreamPlayer2D.pitch_scale = 1.2 # Podwyższ ton
4. Sterowanie AudioStreamPlayer2D
w skrypcie
Podobnie jak inne węzły odtwarzające dźwięk, AudioStreamPlayer2D
pozwala na kontrolowanie odtwarzania dźwięków za pomocą skryptu:
Przykład:
extends Node2D
func _ready():
# Odtwarzanie dźwięku po kliknięciu przycisku
$Button.connect("pressed", self, "_on_button_pressed")
func _on_button_pressed():
$AudioStreamPlayer2D.play() # Odtwórz dźwięk po naciśnięciu przycisku
5. Parametry AudioStreamPlayer2D
dla efektów przestrzennych
Attenuation
:
- Im wyższa wartość, tym szybciej dźwięk zanika wraz z odległością od źródła. Dostosuj tę wartość, aby kontrolować, jak szybko dźwięk będzie cichł.
Max Distance
:
- Ustaw maksymalną odległość, przy której dźwięk jest jeszcze słyszalny. Poza tą odległością dźwięk zaniknie całkowicie.
$AudioStreamPlayer2D.max_distance = 500 # Dźwięk będzie słyszalny do 500 jednostek
Przykłady zastosowania AudioStreamPlayer2D
w grze
- Efekty dźwiękowe dla obiektów 2D:
- Dodaj
AudioStreamPlayer2D
do obiektów, takich jak wybuchy, wrogowie, broń, aby odtwarzały dźwięk przy określonych akcjach.
- Dźwięk będzie głośniejszy, gdy gracz zbliży się do obiektu i cichszy, gdy się oddali.
- Dźwięki otoczenia:
- Możesz użyć
AudioStreamPlayer2D
do tworzenia efektów otoczenia, takich jak szum wiatru, odgłosy wody, dźwięki tłumu itp. Efekty te mogą zmieniać głośność, gdy gracz się porusza, tworząc realistyczne wrażenia.
- Efekty dźwiękowe dla ruchomych obiektów:
AudioStreamPlayer2D
świetnie sprawdza się w sytuacjach, gdy źródło dźwięku przemieszcza się po scenie, np. dźwięk przejeżdżającego pociągu lub pojazdu.
Dodatkowe metody AudioStreamPlayer2D
play(from_position: float = 0.0)
:
- Odtwarza dźwięk od określonej pozycji czasowej (domyślnie od początku).
stop()
:
- Zatrzymuje odtwarzanie dźwięku.
is_playing() -> bool
:
- Sprawdza, czy dźwięk jest aktualnie odtwarzany. Przydatne do zarządzania wieloma dźwiękami jednocześnie.
stream_position
:
- Umożliwia uzyskanie lub ustawienie bieżącej pozycji odtwarzanego dźwięku.
Podsumowanie:
AudioStreamPlayer2D
to potężny węzeł do odtwarzania dźwięków przestrzennych w 2D, idealny do efektów dźwiękowych, które muszą być umiejscowione w świecie gry. Dzięki właściwościom takim jak Attenuation
, Max Distance
i Volume Db
, możesz precyzyjnie kontrolować sposób, w jaki dźwięki są odtwarzane, co pozwala na tworzenie bardziej realistycznych i wciągających doświadczeń dźwiękowych.
Możesz go używać do tworzenia efektów dźwiękowych w grach 2D, takich jak kroki postaci, dźwięki otoczenia, efekty specjalne i wiele innych. AudioStreamPlayer2D
umożliwia również dynamiczną kontrolę nad dźwiękiem, co daje pełną elastyczność w zarządzaniu odtwarzaniem dźwięków w grze.
Published using WordPress Blurt Publisher from https://godot.com.pl.