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
Hérite de : Node3D < Node < Object
Joue un son localisé dans un espace 3D.
Description
Joue de l'audio avec des effets sonores positionnels, en fonction de la position relative de l'auditeur audio. Les effets positionnels incluent l'atténuation avec la distance, la directionnalité et l'effet Doppler. Pour plus de réalisme, un filtre passe-bas est appliqué aux sons lointains. Cela peut être désactivé en définissant attenuation_filter_cutoff_hz à 20500.
Par défaut, l'audio est entendu de la position de la caméra. Cela peut être changé en ajoutant un nœud AudioListener3D à la scène et l'activer en appelant AudioListener3D.make_current() dessus.
Voir aussi AudioStreamPlayer pour jouer un son non-positionnel.
Note : Cacher un nœud AudioStreamPlayer3D ne désactive pas sa sortie audio. Pour désactiver temporairement la sortie audio d'AudioStreamPlayer3D, définissez volume_db à une valeur très basse comme -100 (qui n'est pas audible par l'homme).
Tutoriels
Propriétés
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Méthodes
void |
|
void |
|
void |
stop() |
Signaux
finished() 🔗
Émis quand l'audio a fini de jouer.
Énumérations
enum AttenuationModel: 🔗
AttenuationModel ATTENUATION_INVERSE_DISTANCE = 0
Atténuation du volume selon la distance linéaire.
AttenuationModel ATTENUATION_INVERSE_SQUARE_DISTANCE = 1
Atténuation du volume selon la distance carrée.
AttenuationModel ATTENUATION_LOGARITHMIC = 2
Atténuation du volume selon la distance logarithmique.
AttenuationModel ATTENUATION_DISABLED = 3
Aucune atténuation du volume selon la distance. Le son sera toujours entendu de manière positionnelle, contrairement à un AudioStreamPlayer. ATTENUATION_DISABLED peut être combinée avec une valeur max_distance supérieure à 0.0 pour obtenir une atténuation linéaire bornée à une sphère de taille définie.
enum DopplerTracking: 🔗
DopplerTracking DOPPLER_TRACKING_DISABLED = 0
Désactive le suivi doppler.
DopplerTracking DOPPLER_TRACKING_IDLE_STEP = 1
Exécute le suivi Doppler pendant les trames de traitement (voir Node.NOTIFICATION_INTERNAL_PROCESS).
DopplerTracking DOPPLER_TRACKING_PHYSICS_STEP = 2
Exécute le suivi Doppler pendant les trames de physique (voir Node.NOTIFICATION_INTERNAL_PHYSICS_PROCESS).
Descriptions des propriétés
Détermine quelles couches d'Area3D affectent le son pour les effets de réverbération et de bus audio. Les zones peuvent être utilisées pour rediriger les AudioStreams afin qu'ils soient joués sur un certain bus audio. Un exemple de la façon dont vous pouvez utiliser ceci est de faire une zone "eau" de sorte que les sons joués dans l'eau sont redirigés dans un bus audio pour les faire sonner comme ils étaient joués sous l'eau.
float attenuation_filter_cutoff_hz = 5000.0 🔗
La fréquence de coupure du filtre à passe-bas d'atténuation, en Hz. Un son au-dessus de cette fréquence est atténué plus qu'un son en-dessous de cette fréquence. Pour désactiver cet effet, définissez ceci à 20500 car cette fréquence est supérieure à la limite d'audition humaine.
float attenuation_filter_db = -24.0 🔗
Quantité de combien le filtre affecte le volume, en décibels.
AttenuationModel attenuation_model = 0 🔗
void set_attenuation_model(value: AttenuationModel)
AttenuationModel get_attenuation_model()
Décide si la piste audio doit s'atténuer avec la distance de manière linéaire, quadratique, logarithmique ou ne pas être affectée par la distance, désactivant ainsi l'atténuation.
Si true, la lecture commence dès que le AudioStreamPlayer3D est ajouté à la scène.
StringName bus = &"Master" 🔗
void set_bus(value: StringName)
StringName get_bus()
Le bus sur lequel ce son joue.
Note : Lorsque vous définissez cette propriété, n'oubliez pas qu'aucune validation n'est effectuée pour voir si le nom donné correspond à un bus existant. C'est parce que les configurations de bus audio peuvent être chargées après que cette propriété soit définie. Si ce nom ne peut pas être résolu en cours d'exécution, il va se replier sur "Master".
DopplerTracking doppler_tracking = 0 🔗
void set_doppler_tracking(value: DopplerTracking)
DopplerTracking get_doppler_tracking()
Décide dans quelle étape l'effet Doppler devrait être calculé.
Note : Si doppler_tracking n'est pas DOPPLER_TRACKING_DISABLED mais le Camera3D/AudioListener3D courant a le suivi doppler désactivé, l'effet Doppler sera entendu mais ne prendra pas en compte le mouvement de l'auditeur actuel. Si un effet Doppler précis est souhaité, le suivi doppler doit être activé sur le AudioStreamPlayer3D et le Camera3D/AudioListener3D courant.
float emission_angle_degrees = 45.0 🔗
L'angle avec lequel l'audio atteint un auditeur non atténué.
bool emission_angle_enabled = false 🔗
Si true, l'audio doit être atténué selon la direction du son.
float emission_angle_filter_attenuation_db = -12.0 🔗
void set_emission_angle_filter_attenuation_db(value: float)
float get_emission_angle_filter_attenuation_db()
Facteur d'atténuation utilisé si l'auditeur est à l'extérieur de emission_angle_degrees et queemission_angle_enabled est défini, en décibels.
Définit le maximum absolu du niveau sonore, en décibels.
La distance passée laquelle le son ne peut plus être entendu du tout. A un effet seulement si défini à une valeur supérieure à 0.0. max_distance fonctionne en tandem avec unit_size. Cependant, contrairement à unit_size, dont le comportement dépend du attenuation_model, max_distance fonctionne toujours de façon linéaire. Cela peut être utilisé pour empêcher l'AudioStreamPlayer3D d'exiger un mixage audio lorsque l'auditeur est loin, ce qui permet d'économiser des ressources CPU.
Le nombre maximum de sons que ce nœud peut jouer en même temps. Jouer des sons supplémentaires après que cette valeur est atteinte coupera les sons les plus anciens.
float panning_strength = 1.0 🔗
Redimensionne la force de balance de ce nœud en multipliant la base ProjectSettings.audio/general/3d_panning_strength par ce facteur. Si le produit vaut 0.0, la balance stéréo est désactivée et le volume est le même pour tous les canaux. Si le produit vaut 1.0, l'un des canaux sera muet lorsque le son est situé exactement à gauche (ou à droite) de l'auditeur.
Les arrangements stéréo à 2 haut-parleurs implémentent le standard WebAudio pour la balance StereoPannerNode où le volume est le cosinus de la moitié de l'angle d'azimut à l'oreille.
Pour d'autres arrangements des haut-parleurs tels que le 5.1 et 7.1, l'algorithme SPCAP (Speaker-Placement Correction Amplitude) est implémenté.
La hauteur et le tempo de l'audio, en tant que multiplicateur du taux d'échantillonnage de l’échantillon audio.
PlaybackType playback_type = 0 🔗
void set_playback_type(value: PlaybackType)
PlaybackType get_playback_type()
Expérimental : Cette propriété peut être changée ou retirée dans de futures versions.
Le type de lecture du lecteur de flux. Si défini à autre chose que la valeur par défaut, elle forcera ce type de lecture.
Si true, l'audio joue ou est en file pour être joué (voir play()).
AudioStream stream 🔗
void set_stream(value: AudioStream)
AudioStream get_stream()
La ressource AudioStream à jouer.
Si true, la lecture est en pause. Vous pouvez la reprendre en définissant stream_paused à false.
Le facteur pour l'effet d'atténuation. Des valeurs plus élevées rendent le son audible sur une distance plus grande.
Le niveau sonore de base avant l'atténuation, en décibels.
Le niveau sonore de base avant l'atténuation, en tant que valeur linéaire.
Note : Ce membre modifie volume_db par commodité. La valeur renvoyée est équivalente au résultat de @GlobalScope.db_to_linear() sur volume_db. Définir ce membre est équivalent à définir volume_db au résultat de @GlobalScope.linear_to_db() sur une valeur.
Descriptions des méthodes
float get_playback_position() 🔗
Renvoie la position dans l'AudioStream.
AudioStreamPlayback get_stream_playback() 🔗
Renvoie l'objet AudioStreamPlayback associé avec ce AudioStreamPlayer3D.
Renvoie si l'AudioStreamPlayer peut renvoyer l'objet AudioStreamPlayback ou non.
void play(from_position: float = 0.0) 🔗
Met dans la file d'attente la piste audio à jouer lors de la prochaine trame physique, depuis la position from_position donnée, en secondes.
void seek(to_position: float) 🔗
Définit la position depuis laquelle l’audio sera joué, en secondes.
void stop() 🔗
Arrête l'audio.