Microsoft DirectX 8.0 (C++)

ドップラー係数

DirectSound は、速度を持つバッファやリスナーに対して、自動的にドップラー効果を作成する。このエフェクトは累積する。リスナーとサウンド バッファの両方が移動している場合、システムは相対速度を自動的に計算し、それに従ってドップラー効果を調整する。

現実的なドップラー効果をアプリケーションに追加するには、移動しているあらゆるオブジェクトの速度を計算し、その音源またはリスナーの適切な速度を設定しなければならない。特定の状況では特殊効果をもたらすために、この値を自由に拡張または減少させてよい。ドップラー係数を変更すると、ドップラー偏移を全体的に増加または減少させられる。

ドップラー係数は、DS3D_MINDOPPLERFACTOR から DS3D_MAXDOPPLERFACTOR の範囲で変更できるが、これらはそれぞれ 0.0 と 10.0 に設定されている。値 0 は、サウンドにドップラー偏移を適用しないことを意味する。ほかの値は、実世界のドップラー偏移に対する乗数を表す。言い換えれば、値 1 (または DS3D_DEFAULTDOPPLERFACTOR) は実世界で体験するドップラー偏移をサウンドに適用すること、値 2 は実世界のドップラー偏移の 2 倍を意味する。以下同様である。

IDirectSound3DListener8::SetDopplerFactorIDirectSound3DListener8::GetDopplerFactor の各メソッドを使うと、ドップラー係数を設定および取得できる。