audio_falloff_set_model


La description

Pour ajouter plus de polyvalence au moteur audio, GameMaker Studio 2 vous permet de sélectionner le modèle d'atténuation qui convient à votre jeu. Ce modèle sera utilisé pour toutes les fonctions audio du jeu ou de l'application, et vous devez donc vous assurer que le modèle que vous choisissez est le bon, car chacun affectera la façon dont l'auditeur perçoit les sons que vous jouez à travers les émetteurs ou fonction audio_play_sound_at.

Lorsque vous définissez la chute dans votre jeu avec les fonctions appropriées, il y a trois arguments que vous devrez définir, et chacun est approprié à un modèle spécifique et affectera la façon dont le son final est "entendu" par le joueur en fonction de la distance que l'auditeur provient de la source. Les trois arguments sont:


Les modèles d'atténuation affectés par ces arguments sont représentés dans GameMaker Studio 2 par les constantes suivantes (le tableau montre également les calculs exacts utilisés):

Constant Fonction
audio_falloff_exponent_distance
gain = (listener_distance / reference_distance) ^ (-falloff_factor)

audio_falloff_exponent_distance_clamped
distance = clamp (listener_distance, reference_distance, maximum_distance)
gain = (distance / distance_distance) ^ (-falloff_factor)

audio_falloff_inverse_distance
gain = reference_distance / (reference_distance + falloff_factor * (listener_distance - reference_distance))

audio_falloff_inverse_distance_clamped
distance = clamp (listener_distance, reference_distance, maximum_distance)
gain = reference_distance / (reference_distance + falloff_factor * (distance - reference_distance))

audio_falloff_linear_distance
distance = min (distance, distance maximale)
gain = (1 - falloff_factor * (distance - reference_distance) / (maximum_distance - reference_distance))

audio_falloff_linear_distance_clamped
distance = clamp (listener_distance, reference_distance, maximum_distance)
gain = (1 - falloff_factor * (distance - reference_distance) / (maximum_distance - reference_distance))

audio_falloff_none
gain = 1


Les graphiques suivants sont des représentations visuelles de la façon dont les constantes ci-dessus fonctionnent et affectent le son en cours de lecture:


Syntaxe:

audio_falloff_set_model(model);


Argument La description
model La constante utilisée pour définir le modèle d'atténuation.


Résultats:

N/A


Exemple:

audio_falloff_set_model(audio_falloff_exponent_distance_clamped);
audio_play_sound_at(snd_Waterfall, x, y, 0, 100, 300, 1, true, 1);

Le code ci-dessus définit le modèle falloff et joue le son indexé dans la variable "snd_Waterfall", qui sera bouclée à sa position de pièce, avec une référence de chute de 100, une distance de chute de 300, un facteur de réduction de 1 et une faible priorité.