Platform SDK: DirectX

ドップラー係数

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

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

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

[C++]

IDirectSound3DListener::SetDopplerFactorIDirectSound3DListener::GetDopplerFactor の各メソッドを使うと、ドップラー係数の設定と取得が行える。

[Visual Basic]

DirectSound3DListener.SetDopplerFactorDirectSound3DListener.GetDopplerFactor の各メソッドを使うと、ドップラー係数の設定と取得が行える。