インターポレータは、アクションを格納した後、中間値を自動計算して、オブジェクトにアクションを適用する方法を提供する。インターポレータを使用して、色を混合し、異なる位置間でオブジェクトを円滑に移動し、メッシュをモーフィングし、さらに、ほかのさまざまな変換も行うことができる。
Direct3DRMMaterial2オブジェクトは、Direct3DRMMaterialInterpolatorオブジェクトにアタッチできる。インターポレータの詳細については、追加情報の「インターポレータ」を参照すること。
Direct3DRMMaterialInterpolatorには次のメソッドが含まれる。
オブジェクトのアタッチ AttachObject DetachObject GetAttachedObjects 放射 SetEmissive 補間の実行 GetIndex Interpolate SetIndex 反射指数 SetPower 反射 SetSpecular
さらに、Direct3DRMMaterialInterpolatorは、Direct3DRMObjectインターフェイスから次のメソッドを継承する。
オブジェクトをインターポレータに接続する。
構文
object.AttachObject(mObject As Direct3DRMObject)
要素
- object
- Direct3DRMMaterialInterpolatorオブジェクトを表すオブジェクト式。
- mObject
- インターポレータにアタッチするDirect3DRMObjectオブジェクト。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
注意
アタッチされるオブジェクトは、別のインターポレータでも、インターポレータがxInterpolator型となるタイプxのオブジェクトでも良い。たとえば、Direct3DRMMaterial2オブジェクトは、Direct3DRMMaterialInterpolatorオブジェクトにアタッチできる。
インターポレータからオブジェクトのアタッチを解除する。
構文
object.DetachObject(mObject As Direct3DRMObject)
要素
- object
- Direct3DRMMaterialInterpolatorオブジェクトを表すオブジェクト式。
- mObject
- インターポレータからアタッチを外すDirect3DRMObjectオブジェクト。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
インターポレータに現在アタッチされているオブジェクトを取得する。
構文
object.GetAttachedObjects( ) As Direct3DRMObjectArray
要素
- object
- Direct3DRMMaterialInterpolatorオブジェクトを表すオブジェクト式。
戻り値
Direct3DRMObjectArrayオブジェクトを返す。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
インターポレータの現在の内部インデックス(時間)を取得する。
構文
object.GetIndex( ) As Single
要素
- object
- Direct3DRMMaterialInterpolatorオブジェクトを表すオブジェクト式。
戻り値
インターポレータの現在の内部インデックスを含む値を返す。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
注意
インターポレータに格納されている各キーは、インデックス値を持つ。キーを(メソッドを使って)記録するとき、キーには、現在のインターポレータのインデックス値でスタンプが押される。キーのインデックス値は、スタンプを押された後、変わることはない。
インターポレータに格納されているキー間を補間して、一連のアクションを生成する。その後、アクションは、指定のオブジェクトに適用される。オブジェクトの指定がなければ、アクションは、現在アタッチされているオブジェクトに適用される。
構文
object.Interpolate(val As Single, mObject As Direct3DRMObject, options As CONST_D3DRMINTERPOLATIONFLAGS)
要素
- object
- Direct3DRMMaterialInterpolatorオブジェクトを表すオブジェクト式。
- val
- インターポレータの現在の内部インデックスを含む値。
- mObject
- Direct3DRMObjectオブジェクト。このオブジェクトは、インターポレータに格納されているすべてのプロパティに対する補間値を割り当てるオブジェクトを表す。このポインタはNOTHINGでも良い。その場合、すべてのアタッチされているオブジェクトのプロパティ値には、補間値がセットされる。
- options
- 実行する補間の種類を制御するCONST_D3DRMINTERPOLATIONFLAGS列挙型の値の1つ。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
Direct3DRMMaterialInterpolatorオブジェクトに放射プロパティキーを追加する。
構文
object.SetEmissive(r As Single, g As Single, b As Single)
要素
- object
- Direct3DRMMaterialInterpolatorオブジェクトを表すオブジェクト式。
- r, g, b
- 放射の色の赤、緑、青要素。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
インターポレータの内部インデックス(時間)に指定の値をセットする。他のインターポレータがそのインターポレータにアタッチされていれば、このメソッドは、再帰的にそれらのインデックスを同じ値に同期させる。
構文
object.SetIndex(val As Single)
要素
- object
- Direct3DRMMaterialInterpolatorオブジェクトを表すオブジェクト式。
- val
- インターポレータの内部インデックスに対してセットされる時間。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
注意
インターポレータに格納されている各キーは、インデックス値を持つ。キーを(メソッドを使って)記録するとき、キーには、現在のインターポレータのインデックス値でスタンプが押される。キーのインデックス値は、スタンプを押された後、変わることはない。
Direct3DRMMaterialInterpolatorオブジェクトに反射指数キーを追加する。
構文
object.SetPower(power As Single)
要素
- object
- Direct3DRMMaterialInterpolatorオブジェクトを表すオブジェクト式。
- power
- 新しい反射指数。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
注意
マテリアルの反射プロパティでは、powerパラメータの値によって反射するハイライトの鋭さが決まる。5の値は金属の外観を与え、より大きい値はよりプラスチック的な外観を与える。
Direct3DRMMaterialInterpolatorオブジェクトに反射カラーキーを追加する。
構文
object.SetSpecular(r As Single, g As Single, b As Single)
要素
- object
- Direct3DRMMaterialInterpolatorオブジェクトを表すオブジェクト式。
- r, g, b
- 反射ハイライトの色の赤、緑、青の各要素。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
トップに戻る
© 1999 Microsoft and/or its suppliers. All rights reserved. Terms of Use.