IDirect3DRMInterpolator

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

IDirect3DRMInterpolatorインターフェイスは、IDirect3DRMAnimation2インターフェイスを包含する集合であり、アニメーションを行うことができるオブジェクトパラメータの種類が多くなっている。IDirect3DRMAnimation2インターフェイスがオブジェクトの位置、サイズ、および方向のアニメーションを可能にする一方で、IDirect3DRMInterpolatorは、色、メッシュ、テクスチャ、およびマテリアルのアニメーションも使用可能にしている。

概要は、「IDirect3DRMInterpolatorインターフェイス」を参照すること。

標準的なIUnknownおよびIDirect3DRMObjectメソッドに加えて、IDirect3DRMInterpolatorは、以下のメンバも含む。

オブジェクトの接続 AttachObject
DetachObject
GetAttachedObjects
補間の実行 GetIndex
Interpolate
SetIndex

すべてのCOMインターフェイスと同様、IDirect3DRMInterpolatorインターフェイスはIUnknownインターフェイスメソッドを継承する。IUnknownインターフェイスは、以下の3つのメソッドをサポートする。
AddRef
QueryInterface
Release

さらに、IDirect3DRMInterpolatorインターフェイスは、IDirect3DRMObjectインターフェイスから以下のメソッドを継承する。
AddDestroyCallback
Clone
DeleteDestroyCallback
GetAppData
GetClassName
GetName
SetAppData
SetName

IDirect3DRMInterpolator::AttachObject

IDirect3DRMInterpolator

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

構文

HRESULT AttachObject(
  LPDIRECT3DRMOBJECT lpD3DRMObject
  )

パラメータ

lpD3DRMObject
インターポレータに接続されるIDirect3DRMObjectオブジェクトのアドレス。

戻り値

成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。

注意

接続されるオブジェクトは、別のインターポレータでも、インターポレータがxInterpolator型となるタイプxのオブジェクトでも良い。たとえば、ビューポートは、ViewportInterpolatorに接続できる。インターポレータのタイプは、以下のとおりである。

IDirect3DRMInterpolator::DetachObject

IDirect3DRMInterpolator

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

構文

HRESULT DetachObject(
  LPDIRECT3DRMOBJECT lpD3DRMObject
  )

パラメータ

lpD3DRMObject
インターポレータから接続を外すIDirect3DRMObjectオブジェクトのアドレス。

戻り値

成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。

IDirect3DRMInterpolator::GetAttachedObjects

IDirect3DRMInterpolator

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

構文

HRESULT GetAttachedObjects(
  LPDIRECT3DRMOBJECTARRAY lpD3DRMObjectArray
  )

パラメータ

lpD3DRMObjectArray
現在インターポレータに付加されているIDirect3DRMObjectオブジェクトを含んだIDirect3DRMObjectArrayオブジェクトのアドレス。

戻り値

成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。

IDirect3DRMInterpolator::GetIndex

IDirect3DRMInterpolator

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

構文

D3DVALUE GetIndex( )

戻り値

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

注意

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

IDirect3DRMInterpolator::Interpolate

IDirect3DRMInterpolator

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

構文

HRESULT Interpolate(
  D3DVALUE d3dVal,
  LPDIRECT3DRMOBJECT lpD3DRMObject,
  D3DRMINTERPOLATIONOPTIONS d3drmInterpFlags
  )

パラメータ

d3dVal
インターポレータの現在の内部インデックスを含むD3DVALUE。
lpD3DRMObject
IDirect3DRMObjectオブジェクトのアドレス。このオブジェクトは、インターポレータに格納されているすべてのプロパティに対する補間値を割り当てるオブジェクトを表す。このポインタはNULLでも良い。その場合には、すべての接続されているオブジェクトのプロパティ値には、補間値がセットされる。
d3drmInterpFlags
実行する補間の種類を制御する1つまたは複数のフラグ。可能な値は、以下のとおりである。
D3DRMINTERPOLATION_CLOSED
D3DRMINTERPOLATION_LINEAR
D3DRMINTERPOLATION_NEAREST
D3DRMINTERPOLATION_OPEN
D3DRMINTERPOLATION_SLERPNORMALS
D3DRMINTERPOLATION_SPLINE
D3DRMINTERPOLATION_VERTEXCOLOR
これらのオプションの記述は、「補間オプション」を参照すること。

戻り値

成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。

IDirect3DRMInterpolator::SetIndex

IDirect3DRMInterpolator

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

構文

HRESULT SetIndex(
  D3DVALUE d3dVal
  )

パラメータ

d3dVal
インターポレータの内部インデックスに対してセットされる時間。

戻り値

成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。

注意

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


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