Game Maker Language リファレンス > 組み込み関数 用途別 > サウンド > audio_falloff_set_model
すべてのfalloffによる計算値のモデルを設定します
audio_falloff_set_model(model);
オーディオエンジンをさらに汎用的にするには、GameMaker:Studioは、あなたのゲームに合ったfalloffモデルを選択することを可能にします。 このモデルは、ゲームまたはアプリ内のすべてのオーディオ機能に使用されるので、選択したモデルが正しいものであることを確認する必要があり、リスナーやエミッタを介して、関数audio_play_sound_at()により再生するサウンドの知覚する方法に影響を与えます。
適切にfalloffを設定するには、audio_play_sound_at()の3つの引数を理解する必要があります。これらとモデルは最終的なサウンドがリスナーが音の発信源からの距離に応じて、プレイヤーに"聞こえさせる方法"に影響を与えます。 その3つの引数の説明は以下のとおりです。
以下の定数(とそれに対応する正確な計算式)でGameMaker:Studioはfalloffモデルを形成します
定数 | 機能 |
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 / reference_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, maximum_distance) 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 |
以下のグラフは上記定数が、再生中のサウンドにどのように機能・影響するかを視覚的に表現したものです
audio_falloff_set_model(audio_falloff_exponent_distance_clamped); audio_play_sound_at(snd_Waterfall, x, y, 0, 100, 300, 1, true, 1);
上記コードは、falloffモデルを設定し、100の"fall-off reference"、300の"maximum reference"、1の"falloff factor"でサウンド変数"snd_Waterfall"を優先度低めで再生します