インターポレータは、アクションを格納した後、中間値を自動計算して、オブジェクトにアクションを適用する方法を提供する。インターポレータを使用して、色を混合し、異なる位置間でオブジェクトを円滑に移動し、メッシュをモーフィングし、さらに、ほかのさまざまな変換も行うことができる。
Direct3DRMFrame3オブジェクトは、Direct3DRMFrameInterpolatorオブジェクトにアタッチできる。インターポレータの詳細については、追加情報の「インターポレータ」を参照すること。
Direct3DRMFrameInterpolatorには次のメソッドが含まれる。
さらに、Direct3DRMFrameInterpolatorは、Direct3DRMObjectインターフェイスから次のメソッドを継承する。
オブジェクトをインターポレータに接続する。
構文
object.AttachObject(mObject As Direct3DRMObject)
要素
- object
- Direct3DRMFrameInterpolatorオブジェクトを表すオブジェクト式。
- mObject
- インターポレータに接続するDirect3DRMObjectオブジェクト。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
注意
接続されるオブジェクトは、別のインターポレータでも、インターポレータがxInterpolator型となるタイプxのオブジェクトでも良い。たとえば、Direct3DRMFrame3オブジェクトは、Direct3DRMFrameInterpolatorオブジェクトにアタッチできる。
インターポレータからオブジェクトのアタッチを解除する。
構文
object.DetachObject(mObject As Direct3DRMObject)
要素
- object
- Direct3DRMFrameInterpolatorオブジェクトを表すオブジェクト式。
- mObject
- インターポレータからアタッチを解除するDirect3DRMObjectオブジェクト。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
インターポレータに現在アタッチされているオブジェクトの配列を取得する。
構文
object.GetAttachedObjects( ) As Direct3DRMObjectArray
要素
- object
- Direct3DRMFrameInterpolatorオブジェクトを表すオブジェクト式。
戻り値
Direct3DRMObjectArrayオブジェクトを返す。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
インターポレータの現在の内部インデックス(時間)を取得する。
構文
object.GetIndex( ) As Single
要素
- object
- Direct3DRMFrameInterpolatorオブジェクトを表すオブジェクト式。
戻り値
インターポレータの現在の内部インデックスを含む値を返す。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
注意
インターポレータに格納されている各キーは、インデックス値を持つ。キーを(メソッドを使って)記録するとき、キーには、現在のインターポレータのインデックス値でスタンプが押される。キーのインデックス値は、スタンプを押された後、変わることはない。
インターポレータに格納されているキー間を補間して、一連のアクションを生成する。その後、アクションは、指定のオブジェクトに適用される。オブジェクトの指定がなければ、アクションは、現在アタッチされているオブジェクトに適用される。
構文
object.Interpolate(val As Single, mObject As Direct3DRMObject, options As CONST_D3DRMINTERPOLATIONFLAGS)
要素
- object
- Direct3DRMFrameInterpolatorオブジェクトを表すオブジェクト式。
- val
- インターポレータの現在の内部インデックスを含む値。
- mObject
- Direct3DRMObjectオブジェクト。このオブジェクトは、インターポレータに格納されているすべてのプロパティに対する補間値を割り当てるオブジェクトを表す。このポインタはNOTHINGでも良い。その場合、すべてのアタッチされているオブジェクトのプロパティ値には、補間値がセットされる。
- options
- 実行する補間の種類を制御するCONST_D3DRMINTERPOLATIONFLAGS列挙型の値の1つ。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
Direct3DRMFrameInterpolatorオブジェクトにカラーキーを追加する。
構文
object.SetColor(c As Long)
要素
- object
- Direct3DRMFrameInterpolatorオブジェクトを表すオブジェクト式。
- c
- フレームの新しい色。赤、緑、青の色要素のほかにアルファ要素 もセットする。そうしないと、オブジェクトが可視にならないことがある。 オブジェクトの色をアルファ要素を含めて指定するには、オブジェクト上のDirectX7インターフェイスからCreateColorRGBAメソッドを呼び出す。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
Direct3DRMFrameInterpolatorオブジェクトにRGBカラーキーを追加する。
構文
object.SetColorRGB(r As Single, g As Single, b As Single)
要素
- object
- Direct3DRMFrameInterpolatorオブジェクトを表すオブジェクト式。
- r, g, b
- フレームの新しい色。各色要素は、0.0〜1.0の範囲 である必要がある。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
インターポレータの内部インデックス(時間)に指定の値をセットする。他のインターポレータがそのインターポレータにアタッチされていれば、このメソッドは、再帰的にそれらのインデックスを同じ値に同期させる。
構文
object.SetIndex(val As Single)
要素
- object
- Direct3DRMFrameInterpolatorオブジェクトを表すオブジェクト式。
- val
- インターポレータの内部インデックスに対してセットされる時間。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
注意
インターポレータに格納されている各キーは、インデックス値を持つ。キーを(メソッドを使って)記録するとき、キーには、現在のインターポレータのインデックス値でスタンプが押される。キーのインデックス値は、スタンプを押された後、変わることはない。
Direct3DRMFrameInterpolatorオブジェクトに方向キーを追加する。
構文
object.SetOrientation(reference As Direct3DRMFrame3, dx As Single, dy As Single, dz As Single, ux As Single, uy As Single, uz As Single)
要素
- object
- Direct3DRMFrameInterpolatorオブジェクトを表すオブジェクト式。
- reference
- 参照として使用されるDirect3DRMFrame3オブジェクトを表す変数。
- dx, dy, dz
- フレームの新しいz軸。ベクトルの各要素は、 1.0〜1.0の範囲である必要がある。
- ux, uy, uz
- フレームの新しいy軸。ベクトルの各要素は、 1.0〜1.0の範囲である必要がある。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
注意
フレームのデフォルト方向は、[0, 0, 1] の方向ベクトルと [0, 1, 0] のアップベクトルを持つ。
[ux, uy, uz] が [dx, dy, dz]に平行な場合には、D3DRMERR_BADVALUEエラー値が戻る。そうでない場合には、渡された [ux, uy, uz] ベクトルは、[dx, dy, dz]に垂直なプレーンに投影される。
Direct3DRMFrameInterpolatorオブジェクトに位置キーを追加する。
構文
object.SetPosition(reference As Direct3DRMFrame3, x As Single, y As Single, z As Single)
要素
- object
- Direct3DRMFrameInterpolatorオブジェクトを表すオブジェクト式。
- reference
- 参照として使用されるDirect3DRMFrame3オブジェクトを表す変数。
- x, y, z
- フレームの新しい位置。位置には単位がない。 視錐台を使って適当な数を選択する。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
単位4元数を用いて、参照フレームに対してフレームの向きを設定する。
構文
object.SetQuaternion(reference As Direct3DRMFrame3, quat As D3DRMQUATERNION)
要素
- object
- Direct3DRMFrameInterpolatorオブジェクトを表すオブジェクト式。
- reference
- 参照として使用されるDirect3DRMFrame3オブジェクトを表す変数。
- quat
- フレームの方向を設定するD3DRMQUATERNION型。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
注意
4元数とは、任意の回転を表すために用いられる4値ベクトルで、向きの間で補間を行うときに有用な特性を持っている。4元数は、
s**2 + x**2 + y**2 + z**2 = 1
であれば単位4元数である。
Direct3DRM3.TickまたはDirect3DRMFrame3.Moveメソッドに対する呼び出しごとに、指定のベクトルの周囲に指定の角度でフレームの回転を設定する。方向ベクトル [x, y, z] は参照フレームで定義される。
構文
object.SetRotation(reference As Direct3DRMFrame3, x As Single, y As Single, z As Single, theta As Single)
要素
- object
- Direct3DRMFrameInterpolatorオブジェクトを表すオブジェクト式。
- reference
- 参照フレームとして使用されるDirect3DRMFrame3 オブジェクトを表す変数。
- x, y, z
- V回転の中心のベクトル。有効な値は、 1.0〜1.0の範囲にある必要がある。
- theta
- ラジアン単位の回転角。角度が大きければ大きいほど、 オブジェクトの回転は速くなる。MoveとTickメソッドが、この値をスケーリングする。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
注意
指定された回転はレンダリングごとに行列を変更する。
Direct3DRMFrameInterpolatorオブジェクトに背景カラーキーを追加する。
構文
object.SetSceneBackground(c As Long)
要素
- object
- Direct3DRMFrameInterpolatorオブジェクトを表すオブジェクト式。
- c
- 背景の新しい色。オブジェクトの色をアルファ要素を含めて指定するには、オブジェクト上のDirectX7インターフェイスからCreateColorRGBAメソッドを呼び出す。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
Direct3DRMFrameInterpolatorオブジェクトに背景RGBカラーキーを追加する。
構文
object.SetSceneBackgroundRGB(r As Single, g As Single, b As Single)
要素
- object
- Direct3DRMFrameInterpolatorオブジェクトを表すオブジェクト式。
- r, g, b
- 背景の新しい色。赤、緑、青の各色要素は 0.0〜1.0の範囲である必要がある。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
Direct3DRMRFrameInterpolatorオブジェクトにフォグカラーキーを追加する。
構文
object.SetSceneFogColor(c As Long)
要素
- object
- Direct3DRMFrameInterpolatorオブジェクトを表すオブジェクト式。
- c
- フォグの新しい色。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
Direct3DRMRFrameInterpolatorオブジェクトにフォグパラメータキーを追加する。
構文
object.SetSceneFogParams(start As Single, End As Single, density As Single)
要素
- object
- Direct3DRMFrameInterpolatorオブジェクトを表すオブジェクト式。
- start, End
- 線形フォグモードのフォグ開始および終了ポイント。 この設定は、フォグ効果が最初に見えるようになるときのカメラからの距離と、フォグが最大密度になるときの距離を決める。
- density
- 指数フォグモードでのフォグ密度。 この値は、0から1の値でなければならない。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
参照フレームを基準として指定のフレームの速度を設定する。 フレームはDirect3DRM3.TickまたはDirect3DRMFrame3.Moveメソッドに対する連続呼び出しごとに、参照フレームを基準として [x, y, z] ベクトル分だけ移動する。
構文
object.SetVelocity(reference As Direct3DRMFrame3, x As Single, y As Single, z As Single, with_rotation As CONST_DBOOLFLAGS)
要素
- object
- Direct3DRMFrameInterpolatorオブジェクトを表すオブジェクト式。
- reference
- 参照として使用されるDirect3DRMFrame3オブジェクト。
- x, y, z
- フレームの新しい速度。回転速度には単位がないので、 任意の値にできる。MoveとTickメソッドは、この値をスケーリングする。
- with_rotation
- 直線速度を設定するときに、オブジェクトの回転速度を考慮する かどうかを指定するフラグ。 D_TRUEの場合、オブジェクトの回転速度が計算に含まれる。 そうでなければ、D_FALSEに設定する。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
トップに戻る
© 1999 Microsoft and/or its suppliers. All rights reserved. Terms of Use.