Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
AudioStreamPlayer3D
Eredita: Node3D < Node < Object
Riproduce un suono posizionale in uno spazio 3D.
Descrizione
Riproduce l'audio con effetti sonori posizionali, in base alla posizione relativa dell'ascoltatore audio. Gli effetti posizionali includono attenuazione della distanza, direzionalità ed effetto Doppler. Per un maggiore realismo, viene applicato un filtro passa-basso ai suoni distanti. Questo può essere disabilitato impostando attenuation_filter_cutoff_hz su 20500.
Per impostazione predefinita, l'audio viene ascoltato dalla posizione della telecamera. Questo può essere modificato aggiungendo un nodo AudioListener3D alla scena e abilitandolo chiamando AudioListener3D.make_current() su di esso.
Vedi anche AudioStreamPlayer per riprodurre un suono non posizionale.
Nota: Nascondere un nodo AudioStreamPlayer3D non disabilita la sua produzione audio. Per disabilitare temporaneamente la produzione audio di un'AudioStreamPlayer3D, imposta volume_db su un valore molto basso come -100 (che non è percettibile dall'udito umano).
Tutorial
Proprietà
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Metodi
void |
|
void |
|
void |
stop() |
Segnali
finished() 🔗
Emesso al termine della riproduzione dell'audio.
Enumerazioni
enum AttenuationModel: 🔗
AttenuationModel ATTENUATION_INVERSE_DISTANCE = 0
Attenuazione del volume in base alla distanza lineare.
AttenuationModel ATTENUATION_INVERSE_SQUARE_DISTANCE = 1
Attenuazione del volume in base al quadrato della distanza.
AttenuationModel ATTENUATION_LOGARITHMIC = 2
Attenuazione del volume in base alla distanza logaritmica.
AttenuationModel ATTENUATION_DISABLED = 3
Nessuna attenuazione del volume in base alla distanza. Il suono sarà comunque udito in base alla posizione, a differenza di un AudioStreamPlayer. ATTENUATION_DISABLED può essere combinato con una max_distance maggiore di 0.0 per ottenere un'attenuazione lineare fissata a una sfera di una dimensione definita.
enum DopplerTracking: 🔗
DopplerTracking DOPPLER_TRACKING_DISABLED = 0
Disabilita il tracciamento Doppler.
DopplerTracking DOPPLER_TRACKING_IDLE_STEP = 1
Esegue il tracciamento doppler durante i frame di processo (vedi Node.NOTIFICATION_INTERNAL_PROCESS).
DopplerTracking DOPPLER_TRACKING_PHYSICS_STEP = 2
Esegue il tracciamento doppler durante i frame di processo di fisica (vedi Node.NOTIFICATION_INTERNAL_PHYSICS_PROCESS).
Descrizioni delle proprietà
Determina quali strati di un Area3D influenzano il suono per gli effetti di riverbero e per i bus audio. Le aree possono essere utilizzate per reindirizzare gli AudioStream in modo che siano riprodotti in un determinato bus audio. Un esempio di come potrebbe essere utilizzato è creando un'area di "acqua", in modo che i suoni riprodotti nell'acqua siano reindirizzati attraverso un bus audio per farli sembrare come se fossero riprodotti sott'acqua.
float attenuation_filter_cutoff_hz = 5000.0 🔗
La frequenza di taglio del filtro passa-basso di attenuazione, in Hz. Un suono al di sopra di questa frequenza viene attenuato di più di un suono al di sotto di questa frequenza. Per disabilitare questo effetto, impostalo su 20500 poiché questa frequenza è superiore al limite dell'udito umano.
float attenuation_filter_db = -24.0 🔗
Quantità di quanto il filtro influisce sul volume, in decibel.
AttenuationModel attenuation_model = 0 🔗
void set_attenuation_model(value: AttenuationModel)
AttenuationModel get_attenuation_model()
Decide se l'audio deve diventare più silenzioso con la distanza in modo lineare, quadratico, logaritmico o non essere influenzato dalla distanza, effettivamente disabilitando l'attenuazione.
Se true, l'audio viene riprodotto quando il nodo AudioStreamPlayer3D viene aggiunto all'albero di scene.
StringName bus = &"Master" 🔗
void set_bus(value: StringName)
StringName get_bus()
Il bus su cui viene riprodotto questo audio.
Nota: Quando imposti questa proprietà, tieni presente che non viene eseguita alcuna convalida per vedere se il nome specificato corrisponde a un bus esistente. Questo perché i layout del bus audio potrebbero essere caricati dopo aver impostato questa proprietà. Se questo nome specificato non può essere risolto in fase di esecuzione, tornerà a "Master".
DopplerTracking doppler_tracking = 0 🔗
void set_doppler_tracking(value: DopplerTracking)
DopplerTracking get_doppler_tracking()
Decide in quale fase calcolare l'effetto Doppler.
Nota: Se doppler_tracking non è DOPPLER_TRACKING_DISABLED ma il Camera3D/AudioListener3D attuale ha il tracciamento Doppler disabilitato, l'effetto Doppler sarà udito ma non terrà conto del movimento dell'ascoltatore attuale. Se si desidera un effetto Doppler accurato, è necessario abilitare il tracciamento Doppler sia su AudioStreamPlayer3D sia sul Camera3D/AudioListener3D attuale.
float emission_angle_degrees = 45.0 🔗
L'angolazione in cui l'audio raggiunge l'ascoltatore senza attenuazione.
bool emission_angle_enabled = false 🔗
Se true, l'audio deve essere attenuato in base alla direzione del suono.
float emission_angle_filter_attenuation_db = -12.0 🔗
void set_emission_angle_filter_attenuation_db(value: float)
float get_emission_angle_filter_attenuation_db()
Fattore di attenuazione usato se l'ascoltatore è al di fuori di emission_angle_degrees e emission_angle_enabled è impostato, in decibel.
Imposta il massimo assoluto del livello sonoro, in decibel.
La distanza oltre la quale il suono non può più essere udito. Ha effetto solo se impostato su un valore maggiore di 0.0. max_distance funziona in tandem con unit_size. Tuttavia, a differenza di unit_size il cui comportamento dipende da attenuation_model, max_distance funziona sempre in modo lineare. Questo può essere utilizzato per impedire a AudioStreamPlayer3D di richiedere il mixaggio audio quando l'ascoltatore è lontano, il che risparmia risorse sulla CPU.
Il numero massimo di suoni che questo nodo può riprodurre allo stesso tempo. Riproducendo ulteriori suoni dopo aver raggiunto questo valore interromperà i suoni più vecchi.
float panning_strength = 1.0 🔗
Scala l'intensità del panning per questo nodo moltiplicando la ProjectSettings.audio/general/3d_panning_strength base per questo fattore. Se il prodotto è 0.0, il panning stereo è disabilitato e il volume è lo stesso per tutti i canali. Se il prodotto è 1.0, uno dei canali sarà silenziato quando il suono si trova esattamente a sinistra (o a destra) dell'ascoltatore.
Le disposizioni stereo a due altoparlanti implementano lo standard WebAudio per il panning StereoPannerNode, dove il volume è il coseno di metà dell'angolo azimutale rispetto all'orecchio.
Per altre disposizioni di altoparlanti, come 5.1 e 7.1, è implementato l'algoritmo SPCAP (Speaker-Placement Correction Amplitude).
Il tono e il tempo dell'audio, come moltiplicatore della frequenza di campionamento del campione audio.
PlaybackType playback_type = 0 🔗
void set_playback_type(value: PlaybackType)
PlaybackType get_playback_type()
Sperimentale: Questa proprietà potrebbe essere cambiata o rimossa in versioni future.
Il tipo di riproduzione dello stream player. Se impostato diversamente dal valore predefinito, forzerà quel tipo di riproduzione.
Se true, l'audio è in riproduzione o è in coda per la riproduzione (vedi play()).
AudioStream stream 🔗
void set_stream(value: AudioStream)
AudioStream get_stream()
La risorsa AudioStream da riprodurre.
Se true, la riproduzione è in pausa. È possibile riprenderla impostando stream_paused su false.
Il fattore per l'effetto di attenuazione. Valori più alti rendono il suono udibile a una distanza maggiore.
Il livello sonoro di base prima dell'attenuazione, in decibel.
Il livello sonoro di base prima dell'attenuazione, come valore lineare.
Nota: Questo membro modifica volume_db per comodità. Il valore restituito è equivalente al risultato di @GlobalScope.db_to_linear() su volume_db. Impostare questo membro equivale a impostare volume_db sul risultato di @GlobalScope.linear_to_db() su un valore.
Descrizioni dei metodi
float get_playback_position() 🔗
Restituisce la posizione nell'AudioStream.
AudioStreamPlayback get_stream_playback() 🔗
Restituisce l'oggetto AudioStreamPlayback associato a questo AudioStreamPlayer3D.
Restituisce se AudioStreamPlayer può restituire o meno l'oggetto AudioStreamPlayback.
void play(from_position: float = 0.0) 🔗
Mette in coda l'audio da riprodurre sul frame successivo di fisica, dalla posizione specificata from_position, in secondi.
void seek(to_position: float) 🔗
Imposta la posizione da cui sarà riprodotto l'audio, in secondi.
void stop() 🔗
Arresta l'audio.