Microsoft DirectX 8.0 (C++)

傾斜フォース

傾斜フォースは、定義済みの初期マグニチュードと終期マグニチュードおよび有限の継続時間を持つフォースのことである。傾斜フォースは、1 方向だけに延びる場合も、あるいは 1 方向に向かって強い勢いで始まり、弱まって、停止し、反対方向に強く進むという場合もある。

次の図は、マグニチュード -5,000 で始まり、マグニチュード 5,000 で終わる傾斜フォースを表している。

エンベロープ を傾斜フォースに適用して、傾斜フォースを引き伸ばすことができる。次の図は、前の図の傾斜フォースにエンベロープ (緑で表してある) を適用するエフェクトを表している。

エンベロープの維持期間部分では、エフェクトのマグニチュードはエンベロープの適用前と同じ直線を描くことに注意する。アタックフェードの継続時間については、傾斜フォースの傾斜はアタック レベルとフェード レベルで変更される。

傾斜フォースにはオフセットを適用できない。

傾斜フォースを生成するには、GUID_RampForce を IDirectInputDevice8::CreateEffect メソッドに渡す。DIEFFECTINFO 構造体のメンバ dwEffType (DIEFT_GETTYPE(dwEfftype)) の下位バイトが DIEFT_RAMPFORCE と等しい場合は、IDirectInputDevice8::EnumEffects メソッドで取得したほかの任意の GUID を渡すこともできる。この方法を使えば、業者が設計したハードウェア特有の傾斜フォースを使用することができる。

傾斜フォースは DIRAMPFORCE 構造体を利用して、フォースの初期マグニチュードと終期マグニチュードを定義することができる。一方、その継続時間は DIEFFECT 構造体によって定義される。継続時間を決して INFINITE に設定してはいけない。