Direct3DRMFrameInterpolator

インターポレータは、アクションを格納した後、中間値を自動計算して、オブジェクトにアクションを適用する方法を提供する。インターポレータを使用して、色を混合し、異なる位置間でオブジェクトを円滑に移動し、メッシュをモーフィングし、さらに、ほかのさまざまな変換も行うことができる。

Direct3DRMFrame3オブジェクトは、Direct3DRMFrameInterpolatorオブジェクトにアタッチできる。インターポレータの詳細については、追加情報の「インターポレータ」を参照すること。

Direct3DRMFrameInterpolatorには次のメソッドが含まれる。

オブジェクトのアタッチ AttachObject
DetachObject
GetAttachedObjects
背景 SetSceneBackground
SetSceneBackgroundRGB
SetColor
SetColorRGB
フォグ SetSceneFogColor
SetSceneFogParams
補間の実行 GetIndex
Interpolate
SetIndex
位置指定と移動 SetOrientation
SetPosition
SetQuaternion
SetRotation
SetVelocity

さらに、Direct3DRMFrameInterpolatorは、Direct3DRMObjectインターフェイスから次のメソッドを継承する。

Direct3DRMFrameInterpolator.AttachObject

Direct3DRMFrameInterpolator

オブジェクトをインターポレータに接続する。

構文

object.AttachObject(mObject As Direct3DRMObject)

要素

object
Direct3DRMFrameInterpolatorオブジェクトを表すオブジェクト式。
mObject
インターポレータに接続するDirect3DRMObjectオブジェクト。

エラー値

エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。

注意

接続されるオブジェクトは、別のインターポレータでも、インターポレータがxInterpolator型となるタイプxのオブジェクトでも良い。たとえば、Direct3DRMFrame3オブジェクトは、Direct3DRMFrameInterpolatorオブジェクトにアタッチできる。

Direct3DRMFrameInterpolator.DetachObject

Direct3DRMFrameInterpolator

インターポレータからオブジェクトのアタッチを解除する。

構文

object.DetachObject(mObject As Direct3DRMObject)

要素

object
Direct3DRMFrameInterpolatorオブジェクトを表すオブジェクト式。
mObject
インターポレータからアタッチを解除するDirect3DRMObjectオブジェクト。

エラー値

エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。

Direct3DRMFrameInterpolator.GetAttachedObjects

Direct3DRMFrameInterpolator

インターポレータに現在アタッチされているオブジェクトの配列を取得する。

構文

object.GetAttachedObjects( ) As Direct3DRMObjectArray

要素

object
Direct3DRMFrameInterpolatorオブジェクトを表すオブジェクト式。

戻り値

Direct3DRMObjectArrayオブジェクトを返す。

エラー値

エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。

Direct3DRMFrameInterpolator.GetIndex

Direct3DRMFrameInterpolator

インターポレータの現在の内部インデックス(時間)を取得する。

構文

object.GetIndex( ) As Single

要素

object
Direct3DRMFrameInterpolatorオブジェクトを表すオブジェクト式。

戻り値

インターポレータの現在の内部インデックスを含む値を返す。

エラー値

エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。

注意

インターポレータに格納されている各キーは、インデックス値を持つ。キーを(メソッドを使って)記録するとき、キーには、現在のインターポレータのインデックス値でスタンプが押される。キーのインデックス値は、スタンプを押された後、変わることはない。

Direct3DRMFrameInterpolator.Interpolate

Direct3DRMFrameInterpolator

インターポレータに格納されているキー間を補間して、一連のアクションを生成する。その後、アクションは、指定のオブジェクトに適用される。オブジェクトの指定がなければ、アクションは、現在アタッチされているオブジェクトに適用される。

構文

object.Interpolate(val As Single,
  mObject As Direct3DRMObject,
  options As CONST_D3DRMINTERPOLATIONFLAGS)

要素

object
Direct3DRMFrameInterpolatorオブジェクトを表すオブジェクト式。
val
インターポレータの現在の内部インデックスを含む値。
mObject
Direct3DRMObjectオブジェクト。このオブジェクトは、インターポレータに格納されているすべてのプロパティに対する補間値を割り当てるオブジェクトを表す。このポインタはNOTHINGでも良い。その場合、すべてのアタッチされているオブジェクトのプロパティ値には、補間値がセットされる。
options
実行する補間の種類を制御するCONST_D3DRMINTERPOLATIONFLAGS列挙型の値の1つ。

エラー値

エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。

Direct3DRMFrameInterpolator.SetColor

Direct3DRMFrameInterpolator

Direct3DRMFrameInterpolatorオブジェクトにカラーキーを追加する。

構文

object.SetColor(c As Long)

要素

object
Direct3DRMFrameInterpolatorオブジェクトを表すオブジェクト式。
c
フレームの新しい色。赤、緑、青の色要素のほかにアルファ要素 もセットする。そうしないと、オブジェクトが可視にならないことがある。 オブジェクトの色をアルファ要素を含めて指定するには、オブジェクト上のDirectX7インターフェイスからCreateColorRGBAメソッドを呼び出す。

エラー値

エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。

Direct3DRMFrameInterpolator.SetColorRGB

Direct3DRMFrameInterpolator

Direct3DRMFrameInterpolatorオブジェクトにRGBカラーキーを追加する。

構文

object.SetColorRGB(r As Single,
  g As Single,
  b As Single)

要素

object
Direct3DRMFrameInterpolatorオブジェクトを表すオブジェクト式。
r, g, b
フレームの新しい色。各色要素は、0.0〜1.0の範囲 である必要がある。

エラー値

エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。

Direct3DRMFrameInterpolator.SetIndex

Direct3DRMFrameInterpolator

インターポレータの内部インデックス(時間)に指定の値をセットする。他のインターポレータがそのインターポレータにアタッチされていれば、このメソッドは、再帰的にそれらのインデックスを同じ値に同期させる。

構文

object.SetIndex(val As Single)

要素

object
Direct3DRMFrameInterpolatorオブジェクトを表すオブジェクト式。
val
インターポレータの内部インデックスに対してセットされる時間。

エラー値

エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。

注意

インターポレータに格納されている各キーは、インデックス値を持つ。キーを(メソッドを使って)記録するとき、キーには、現在のインターポレータのインデックス値でスタンプが押される。キーのインデックス値は、スタンプを押された後、変わることはない。

Direct3DRMFrameInterpolator.SetOrientation

Direct3DRMFrameInterpolator

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.SetPosition

Direct3DRMFrameInterpolator

Direct3DRMFrameInterpolatorオブジェクトに位置キーを追加する。

構文

object.SetPosition(reference As Direct3DRMFrame3,
  x As Single,
  y As Single,
  z As Single)

要素

object
Direct3DRMFrameInterpolatorオブジェクトを表すオブジェクト式。
reference
参照として使用されるDirect3DRMFrame3オブジェクトを表す変数。
x, y, z
フレームの新しい位置。位置には単位がない。 視錐台を使って適当な数を選択する。

エラー値

エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。

Direct3DRMFrameInterpolator.SetQuaternion

Direct3DRMFrameInterpolator

単位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元数である。

Direct3DRMFrameInterpolator.SetRotation

Direct3DRMFrameInterpolator

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
ラジアン単位の回転角。角度が大きければ大きいほど、 オブジェクトの回転は速くなる。MoveTickメソッドが、この値をスケーリングする。

エラー値

エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。

注意

指定された回転はレンダリングごとに行列を変更する。

Direct3DRMFrameInterpolator.SetSceneBackground

Direct3DRMFrameInterpolator

Direct3DRMFrameInterpolatorオブジェクトに背景カラーキーを追加する。

構文

object.SetSceneBackground(c As Long)

要素

object
Direct3DRMFrameInterpolatorオブジェクトを表すオブジェクト式。
c
背景の新しい色。オブジェクトの色をアルファ要素を含めて指定するには、オブジェクト上のDirectX7インターフェイスからCreateColorRGBAメソッドを呼び出す。

エラー値

エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。

Direct3DRMFrameInterpolator.SetSceneBackgroundRGB

Direct3DRMFrameInterpolator

Direct3DRMFrameInterpolatorオブジェクトに背景RGBカラーキーを追加する。

構文

object.SetSceneBackgroundRGB(r As Single,
  g As Single,
  b As Single)

要素

object
Direct3DRMFrameInterpolatorオブジェクトを表すオブジェクト式。
r, g, b
背景の新しい色。赤、緑、青の各色要素は 0.0〜1.0の範囲である必要がある。

エラー値

エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。

Direct3DRMFrameInterpolator.SetSceneFogColor

Direct3DRMFrameInterpolator

Direct3DRMRFrameInterpolatorオブジェクトにフォグカラーキーを追加する。

構文

object.SetSceneFogColor(c As Long)

要素

object
Direct3DRMFrameInterpolatorオブジェクトを表すオブジェクト式。
c
フォグの新しい色。

エラー値

エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。

Direct3DRMFrameInterpolator.SetSceneFogParams

Direct3DRMFrameInterpolator

Direct3DRMRFrameInterpolatorオブジェクトにフォグパラメータキーを追加する。

構文

object.SetSceneFogParams(start As Single,
  End As Single,
  density As Single)

要素

object
Direct3DRMFrameInterpolatorオブジェクトを表すオブジェクト式。
start, End
線形フォグモードのフォグ開始および終了ポイント。 この設定は、フォグ効果が最初に見えるようになるときのカメラからの距離と、フォグが最大密度になるときの距離を決める。
density
指数フォグモードでのフォグ密度。 この値は、0から1の値でなければならない。

エラー値

エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。

Direct3DRMFrameInterpolator.SetVelocity

Direct3DRMFrameInterpolator

参照フレームを基準として指定のフレームの速度を設定する。 フレームは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
フレームの新しい速度。回転速度には単位がないので、 任意の値にできる。MoveTickメソッドは、この値をスケーリングする。
with_rotation
直線速度を設定するときに、オブジェクトの回転速度を考慮する かどうかを指定するフラグ。 D_TRUEの場合、オブジェクトの回転速度が計算に含まれる。 そうでなければ、D_FALSEに設定する。

エラー値

エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。


トップに戻る トップに戻る
© 1999 Microsoft and/or its suppliers. All rights reserved. Terms of Use.