AudioStreamPlayer2D Node

in polish •  5 days ago 

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

  1. W drzewie scen kliknij „Dodaj węzeł”.
  2. Wyszukaj AudioStreamPlayer2D i dodaj go do swojej sceny.
  3. 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

  1. 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")
  1. 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
  1. 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
  1. 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).
  1. 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

  1. 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.
  1. 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.
  1. 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

  1. play(from_position: float = 0.0):
  • Odtwarza dźwięk od określonej pozycji czasowej (domyślnie od początku).
  1. stop():
  • Zatrzymuje odtwarzanie dźwięku.
  1. is_playing() -> bool:
  • Sprawdza, czy dźwięk jest aktualnie odtwarzany. Przydatne do zarządzania wieloma dźwiękami jednocześnie.
  1. 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.

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE BLURT!