Microsoft DirectX 8.0 (Visual Basic)

ゲイン

フォースを及ぼすデバイスの種類に応じて、エフェクトのフォースの大きさに差を付けたい場合があるだろう。たとえば、ある軸に対して最大 n ニュートンのフォースを生み出すデバイスでアプリケーションのエフェクトが正しく働くと思われるときは、より多くのフォースを生み出すデバイス用にゲインを調整したいことがあるだろう (軸のフォースの最大値を増やすためにゲインを使用することはできないので、生み出すフォースが小さいデバイスに対して、適切な値を基本的エフェクト マグニチュードに設定すべきである)。

また、ゲインを使って、ハードウェアで定義されたエフェクトのマグニチュードを減少させることもできる。

DirectInputDevice8.SetProperty メソッドを使用して、デバイス全体のゲインを設定することができる。

個別のエフェクトを作成するときは、DIEFFECT 型の lGain メンバに値を設定することで、エフェクトにゲインを設定しなければならない (lGain がゼロならば、そのエフェクトは感じられない)。この値は、flags パラメータに DIEP_GAIN を指定して DirectInputEffect.SetParameters を呼び出すことで、後から変更することができる。

デバイス ゲインを設定する目的は、アプリケーションにすべてのエフェクトのフォースを一括して制御させることである。たとえば、音響ミキサのメイン ボリューム コントローラのように、フォース フィードバック エフェクトに必要とされる強度をユーザーに指定させるスライダ コントロールをアプリケーションに付けたいと思うことがあるだろう。デバイス ゲインを設定すれば、ユーザーの好みに合わせて個別のエフェクトのゲインを、アプリケーションが調整する必要がなくなる。

1 つのゲイン値は 0 から 10,000 の範囲の値を取る。10,000 という値は、マグニチュードをスケーリングすべきでないということを示す。7,500 という値は、フォースの名目マグニチュードの 75% にフォースをスケーリングすべきであるということを意味している。その他の数値もこれに準じる。