Microsoft DirectX 8.0 (Visual Basic)

距離係数

距離係数は、ベクトルの単位となるメートル数である。デフォルトの距離係数は 1.0 である。バッファの速度が (2.0, 0.0, 0.0) である場合、音源は X 軸に沿って、2 メートル/秒で移動すると見なされる。アプリケーションが 3D グラフィック ベクトルの測定単位としてメートル以外の単位を使っている場合は、その単位に応じて距離係数も変更できる。

たとえば、現在のアプリケーションが測定の基本単位としてフィート (0.3408 メートル) を使っているとする。この場合は、DirectSound3DListener8.SetDistanceFactor メソッドを呼び出して、distanceFactor パラメータとして 0.3048 を指定する。それ以降、メソッドを呼び出す際にパラメータをフィート単位で指定すると、それらの値はメートル単位に自動的に換算される。

DirectSound3DListener8.GetDistanceFactor メソッドを使うと、リスナーに対して設定されている現在の距離係数を取得できる。

距離係数は、1 秒あたり n 単位で表される実際の速度を変更することにより、主にドップラー効果に影響を及ぼす。ロールオフに直接的な影響を及ぼすことはない。距離に応じた減衰率は、この単位を使った最小距離に基づいているからである。あるサウンドの最小距離を 2 単位に設定した場合、4 単位離れるとボリュームは半分になる。距離がフィートやメートルやほかの単位であっても、これは共通である。詳細については、「最小距離と最大距離」を参照すること。