この項は、Direct3DRMFrame3インターフェイスのメソッドのうち、メソッド名がNからZのものをとりあげるリファレンスページである。
このDirect3DRMFrame3オブジェクトを起点として階層を検索し、任意のビジュアルと、referパラメータによって参照されるDirect3DRMFrame3インターフェイスで指定される光線との交差部分を計算する。
構文
object.RayPick(refer As Direct3DRMFrame3, ray As D3DRMRAY, flags As CONST_D3DRMRAYPICKFLAGS) As Direct3DRMPick2Array
要素
- object
- Direct3DRMFrame3オブジェクトを表すオブジェクト式。
- refer
- 光線を含むDirect3DRMFrame3オブジェクト。
- ray
- 2つのD3DVECTOR型を含むD3DRMRAY型。最初のD3DVECTOR型は、光線のベクトル方向である。2番目のD3DVECTOR型は、光線の原点の位置である。
- flags
- 計算される交差部分のタイプまたは補間オプションを示すCONST_D3DRMRAYPICKFLAGS列挙型からの1つ以上の値。
戻り値
Direct3DRMPick2Arrayオブジェクトを返す。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
注意
フラグには、最適化フラグと補間フラグの2種類がある。最適化フラグは、検索を制限することができ、したがってそれを高速にする。補間フラグは、プリミティブに行き当たったときに何を補間すべきか指定する。3つの補間選択肢は、色、法線およびテクスチャ座標である。
光線は、参照フレーム座標空間で指定される(referが指す)。参照フレームがNOTHINGの場合には、光線は、ワールド座標で指定される。
指定したファイルにDirect3DRMFrame3オブジェクトを保存する。
構文
object.Save(name As String, format As CONST_D3DRMXOFFORMAT, flags As CONST_D3DRMSAVEFLAGS)
要素
- object
- Direct3DRMFrame3オブジェクトを表すオブジェクト式。
- name
- 作成したファイルの名前。このファイルは、.xファイル名拡張を持たなければならない。
- format
- ファイルがテキストフォーマットであることを示すCONST_D3DRMXOFFORMAT列挙型からのD3DRMXOF_TEXT値。
- flags
- 保存オプションを記述するCONST_D3DRMSAVEFLAGS列挙型の1つ以上の値。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
Direct3DRMFrame3.SetOrientationベクトルを変換する座標空間を定義するベクトルを設定する。
構文
object.SetAxes(dx As Single, dy As Single, dz As Single, ux As Single, uy As Single, uz As Single)
要素
- object
- Direct3DRMFrame3オブジェクトを表すオブジェクト式。
- dx, dy, dz
- フレームのz軸。デフォルトは(0,0,1)である。
- ux, uy, uz
- フレームのy軸。デフォルトは(0,1,0)である。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
注意
このメソッドは、左手座標系と右手座標系の両方を支援する。また、負のz軸がオブジェクトの前面を表すように指定することも可能にする。
Direct3DRMFrame3.SetOrientation方向ベクトル (dx, dy, dz) とアップベクトル (ux, uy, uz) は、SetAxesベクトルの値に従って変換される。
Direct3DRMFrame3.SetInheritAxesに指定されているように、軸は子フレームによって継承される。
参照
境界ボックステストで使用するボックスを設定する。境界ボックスが有効であるためには、最小xは最大x以下でなければならず、最小yは最大y以下でなければならず、また最小zは最大z以下でなければならない。
構文
object.SetBox(box As D3DRMBOX)
要素
- object
- Direct3DRMFrame3オブジェクトを表すオブジェクト式。
- box
- 境界ボックス座標を含むD3DRMBOX型。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
注意
このメソッドは、階層的選別に対するフレーム上の境界ボックスをサポートする。境界ボックスをイネーブルにするには、Direct3DRMFrame3.SetBoxEnableメソッドを使って、イネーブルフラグにD_TRUEをセットしなければならない。デフォルトでは、ボックスイネーブルフラグはD_FALSEである。
参照
このDirect3DRMFrame3オブジェクトに対して、境界ボックステストをイネーブルまたはディセーブルする。境界ボックステストをイネーブルにするには、有効な境界ボックスがフレームに既に設定されていなければならない。
構文
object.SetBoxEnable(boxEnable As CONST_DBOOLFLAGS)
要素
- object
- Direct3DRMFrame3オブジェクトを表すオブジェクト式。
- boxEnable
- 境界ボックスがイネーブルかどうかを指定するフラグ。境界ボックスをイネーブルにするにはD_TRUEを、境界ボックスをディセーブルにするにはD_FALSEを指定する。デフォルトはD_FALSEである。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
注意
境界ボックステストは、以下のように行う。レンダリング時には、境界ボックスはモデル空間に変換して、視錐台との交差部分がないか調べる。ボックス全体が視錐台の外にある場合、フレームや子フレームにあるビジュアルのレンダリングは行わない。それ以外の場合は、通常のレンダリングを続ける。
{0,0,0,0}のボックスで境界ボックステストをイネーブルすると、フレームはまったくレンダリングされない。
参照
Direct3DRMFrame3.GetBoxEnable、Direct3DRMFrame3.GetBox、Direct3DRMFrame3.SetBox
フレームの色を設定する。この色は、CONST_D3DRMMATERIALMODE列挙型がD3DRMMATERIAL_FROMFRAMEである場合に、フレーム中のメッシュに対して使用される。
構文
object.SetColor(c As Long)
要素
- object
- Direct3DRMFrame3オブジェクトを表すオブジェクト式。
- c
- フレームの新しい色。赤、緑、青の色要素だけでなく、アルファ要素も必ずセットする。そうしないと、オブジェクトが可視にならないことがある。オブジェクトの色をアルファ要素を含めて指定するには、オブジェクト上のDirectX7インターフェイスからCreateColorRGBAメソッドを呼び出す。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
参照
フレームの色を設定する。この色は、CONST_D3DRMMATERIALMODE列挙型がD3DRMMATERIAL_FROMFRAMEである場合に、フレーム中のメッシュに対して使用される。
構文
object.SetColorRGB(r As Single, g As Single, b As Single)
要素
- object
- Direct3DRMFrame3オブジェクトを表すオブジェクト式。
- r, g, b
- フレームの新しい色。色の各要素は、0.0から1.0の範囲にある必要がある。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
参照
フレームの軸が親フレームから継承したものであるかどうかを指定する。
構文
object.SetInheritAxes(inheritFromParent As CONST_DBOOLFLAGS)
要素
- object
- Direct3DRMFrame3オブジェクトを表すオブジェクト式。
- inheritFromParent
- フレームがその親から軸を継承するかどうかを示す。D_TRUEの場合、フレームは軸を継承する(デフォルト)。D_FALSEの場合、フレームは軸を継承しない。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
注意
デフォルトでは、軸は親から継承したものである。フレームに親からの継承と設定されていて、親が存在しない場合には、フレームは、デフォルト軸(方向=(0,0,1)アップ=(0,1,0))を持つ親から継承したように動作する。このメソッドは、階層のルートで設定される軸の単一の方針を許す。
参照
Direct3DRMFrame3.GetInheritAxes、 Direct3DRMFrame3.GetAxes、Direct3DRMFrame3.SetAxes
Direct3DRMFrame3オブジェクトのマテリアルを設定する。
構文
object.SetMaterial(mat As Direct3DRMMaterial2)
要素
- object
- Direct3DRMFrame3オブジェクトを表すオブジェクト式。
- mat
- フレームに適用されるDirect3DRMMaterialオブジェクト。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
参照
フレームのマテリアルモードを設定する。マテリアルモードは、フレームとレンダリングされるビジュアルのマテリアル情報のソースを決定する。
構文
object.SetMaterialMode(val As CONST_D3DRMMATERIALMODE)
要素
- object
- Direct3DRMFrame3オブジェクトを表すオブジェクト式。
- val
- フレームとレンダリングされるビジュアルのマテリアル情報を記述するCONST_D3DRMMATERIALMODE列挙型のメンバの1つ。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
参照
固有のマテリアル属性をセットできるようにする。たとえば、このメソッドはマテリアルの放射プロパティだけをオーバーライドできるようにする。
構文
object.SetMaterialOverride(override As D3DRMMATERIALOVERRIDE)
要素
- object
- Direct3DRMFrame3オブジェクトを表すオブジェクト式。
- override
- オーバーライドするプロパティを記述するD3DRMMATERIALOVERRIDE型。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
注意
オーバーライドでは、常に階層をたどってすべてがオーバーライドされる。あるフレームの放射プロパティをオーバーライドする場合、階層をさらにたどって同じプロパティをオーバーライドしようとしても無視される。このオーバーライドは、固有のメッシュ上のマテリアルプロパティだけでなく、標準フレームのオーバーライドよりも優先する。SetMaterialやSetTextureなどのオーバーライドは、このメソッドの動作に対して何の効果も持たない。
参照
マテリアル属性に対する現在の属性ごとのオーバーライド設定をセットする。
構文
object.SetMaterialOverrideTexture(tex As Direct3DRMTexture3)
要素
- object
- Direct3DRMFrame3オブジェクトを表すオブジェクト式。
- tex
- オーバーライドテクスチャとして設定されるDirect3DRMTexture3インターフェイス。
エラー値
メソッドが失敗した場合は、DDERR_INVALIDOBJECTまたはDDERR_INVALIDPARAMSを返す。
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
参照
z方向が方向ベクトル [dx, dy, dz]と同方向を指し、y方向がベクトル[ux, uy, uz]と同方向を指すようにフレームを整列する。
構文
object.SetOrientation(reference As Direct3DRMFrame3, dx As Single, dy As Single, dz As Single, ux As Single, uy As Single, uz As Single)
要素
- object
- Direct3DRMFrame3オブジェクトを表すオブジェクト式。
- reference
- 参照として使用されるDirect3DRMFrameオブジェクトを表す変数。
- 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オブジェクトに方向キーを追加するためにも使用する。
参照
参照フレームを基準にしてフレームの位置を設定する。フレームを参照フレームから [x, y, z] の距離に置く。親の中に子フレームが作成される場合、子フレームは親フレームの [0, 0, 0] の位置に置かれる。
構文
object.SetPosition(reference As Direct3DRMFrame3, x As Single, y As Single, z As Single)
要素
- object
- Direct3DRMFrame3オブジェクトを表すオブジェクト式。
- reference
- 参照として使用されるDirect3DRMFrameオブジェクトを表す変数。
- x, y, z
- フレームの新しい位置。位置には単位がない。視錐台を使用して、適正な数字を選択する。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
注意
このメソッドは、Direct3DRMFrameInterpolatorオブジェクトに位置キーを追加するためにも使用する。
参照
単位4元数を用いて、参照フレームに対してフレームの向きを設定する。
構文
object.SetQuaternion(reference As Direct3DRMFrame3, quat As D3DRMQUATERNION)
要素
- object
- Direct3DRMFrame3オブジェクトを表すオブジェクト式。
- reference
- 参照として使用されるDirect3DRMFrameオブジェクトを表す変数
- quat
- フレームの方向を設定するD3DRMQUATERNION型。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
注意
4元数とは、任意の回転を表すために用いられる4値ベクトルで、向きの間で補間を行うときに有用な特性を持っている。4元数は、
s**2 + x**2 + y**2 + z**2 = 1
であれば単位4元数である。SetQuaternionメソッドは、インターポレータによりサポートされている。
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
- Direct3DRMFrame3オブジェクトを表すオブジェクト式。
- reference
- 参照として使用されるDirect3DRMFrameオブジェクトを表す変数。
- x, y, z
- 回転の中心のベクトル。有効な値は、1.0から1.0の範囲にある必要がある。
- theta
- ラジアン単位の回転角。角度が大きければ大きいほど、オブジェクトの回転は速くなる。MoveとTickメソッドが、この値をスケーリングする。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
注意
指定の回転は、フレーム中のオブジェクトを一度しか変更しないDirect3DRMFrame3.AddRotationメソッドとは異なり、レンダリングごとに行列を変更する。
参照
シーンの背景色を設定する。
構文
object.SetSceneBackground(c As Long)
要素
- object
- Direct3DRMFrame3オブジェクトを表すオブジェクト式。
- c
- 背景の新しい色。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
注意
このメソッドは、Direct3DRMFrameInterpolatorオブジェクトへの背景カラーキーを追加するためにも使われる。
シーンの背景深度バッファを指定する。
構文
object.SetSceneBackgroundDepth(s As DirectDrawSurface4)
要素
- object
- Direct3DRMFrame3オブジェクトを表すオブジェクト式。
- s
- シーンの新しい背景深度を保存する Microsoft DirectDraw® サーフェス。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
注意
イメージはピクセル単位の深度16を持たなければならない。イメージとビューポートのサイズが異なると、はじめにイメージのスケーリングを行う。背景深度バッファをアニメーションするときに最適なパフォーマンスを得るには、イメージはビューポートと同じサイズでなければならない。そうすると、余分なオーバーヘッドなしに、深度バッファはイメージメモリから直接更新することができる。
参照
シーンの背景イメージを指定する。
構文
object.SetSceneBackgroundImage(i As Direct3DRMTexture3)
要素
- object
- Direct3DRMFrame3オブジェクトを表すオブジェクト式。
- i
- 新しい背景シーンを含むDirect3DRMTexture3オブジェクト。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
注意
イメージのサイズまたはカラー深度がビューポートと異なる場合、まずイメージのスケーリングを行うか、正しい深度に変換する。背景をアニメーションするときに最適なパフォーマンスを得るには、イメージはビューポートと同じサイズおよびカラー深度でなければならない。そうすると、余分なオーバーヘッドなしに、直接イメージメモリから背景のレンダリングを行うことができる。
シーンの背景色を設定する。
構文
object.SetSceneBackgroundRGB(r As Single, g As Single, b As Single)
要素
- object
- Direct3DRMFrame3オブジェクトを表すオブジェクト式。
- r, g, b
- 背景の新しい色。色の各要素は、0.0から1.0の範囲にある必要がある。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
注意
このメソッドは、Direct3DRMFrameInterpolatorオブジェクトに背景RGBカラーキーを追加するためにも用いられる。
シーンのフォグ色を設定する。
構文
object.SetSceneFogColor(c As Long)
要素
- object
- Direct3DRMFrame3オブジェクトを表すオブジェクト式。
- c
- フォグの新しい色。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
注意
このメソッドは、Direct3DRMRFrameInterpolatorオブジェクトにフォグカラーキーを追加するためにも用いられる。
フォグイネーブル状態を設定する。
構文
object.SetSceneFogEnable(enable As CONST_DBOOLFLAGS)
要素
- object
- Direct3DRMFrame3オブジェクトを表すオブジェクト式。
- enable
- 新しいフォグイネーブル状態。フォグイネーブル状態を無効にするには、このパラメータをD_FALSEに設定し、フォグイネーブル状態を有効にするにはD_TRUEに設定する。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
頂点フォグまたはテーブルフォグを介してフォグを実行するかどうかを指定する。
構文
object.SetSceneFogMethod(enable As CONST_D3DRMFOGMETHOD)
要素
- object
- Direct3DRMFrame3オブジェクトを表すオブジェクト式。
- enable
- フォグの実装方法を示す値。CONST_D3DRMFOGMETHOD列挙型からの値。
エラー値
エラーが発生した場合は、次の値のうちの1つを返す。
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
注意
Direct3DRM3インターフェイスによって作成されるDirect3DRMFrame3オブジェクトのデフォルトの動作はD3DRMFOGMETHOD_ANYであり、フォグメソッドはデバイスの機能に基づいて選択される。デバイスが頂点とテーブルを基準とした両方のフォグをサポートする場合、頂点フォグが使用される。アプリケーションでテーブルフォグが要求されたが、テーブルフォグが使用可能でない場合も、頂点フォグが使用される。
フォグモードを設定する。
構文
object.SetSceneFogMode(c As CONST_D3DRMFOGMODE)
要素
- object
- Direct3DRMFrame3オブジェクトを表すオブジェクト式。
- c
- CONST_D3DRMFOGMODE列挙型のメンバの1つで、新しいフォグモードを指定する。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
参照
シーンのフォグ開始および終了ポイントとフォグの密度を設定する。
構文
object.SetSceneFogParams(start As Single, End As Single, density As Single)
要素
- object
- Direct3DRMFrame3オブジェクトを表すオブジェクト式。
- start, End
- 線形フォグモードのフォグ開始および終了ポイント。この設定は、フォグ効果が最初に見えるようになるときのカメラからの距離と、フォグが最大密度になるときの距離を決める。
- density
- 指数フォグモードでのフォグ密度。この値は、0から1の値でなければならない。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
注意
このメソッドは、Direct3DRMRFrameInterpolatorオブジェクトにフォグパラメータキーを追加するためにも用いられる。
参照
子フレームを処理するのに使用するソートモードを設定する。このメソッドを使用して隠面削除アルゴリズムのプロパティを変更することができる。
構文
object.SetSortMode(val As CONST_D3DRMSORTMODE)
要素
- object
- Direct3DRMFrame3オブジェクトを表すオブジェクト式。
- val
- ソートモードを指定するCONST_D3DRMSORTMODE列挙型のメンバの1つ。デフォルト値は、D3DRMSORT_FROMPARENTである。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
参照
フレームのテクスチャを設定する。
構文
object.SetTexture(t As Direct3DRMTexture3)
要素
- object
- Direct3DRMFrame3オブジェクトを表すオブジェクト式。
- t
- 使用されるDirect3DRMTexture3オブジェクト。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
注意
このテクスチャは、CONST_D3DRMMATERIALMODE列挙型がD3DRMMATERIAL_FROMFRAMEである場合に、フレーム中のメッシュに対して使用される。フレームのテクスチャをディセーブルにするには、NOTHINGテクスチャを使用する。
参照
Direct3DRMFrame3.GetTexture、Direct3DRMFrame3.SetMaterialMode
レンダリングとピッキングの際にこのフレームを横断するかどうかを指定する。
構文
object.SetTraversalOptions(flags As CONST_D3DRMTRAVERALFLAGS)
要素
- object
- Direct3DRMFrame3オブジェクトを表すオブジェクト式。
- flags
- このフレームがレンダリングとピッキングのどちらが可能であるか示すCONST_D3DRMTRAVERALFLAGS列挙型の1つ以上の値。D3DRMFRAME_RENDERENABLEの値なしでこのメソッドを使用すると、レンダリングに対してフレームが効率的にオフに切り換わる。デフォルトでは、フレームはレンダリングとピッキングに対して有効になる。
エラー値
エラーのリストについては、「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
- Direct3DRMFrame3オブジェクトを表すオブジェクト式。
- reference
- 参照として使用されるDirect3DRMFrameオブジェクト
- x, y, z
- フレームの新しい速度。回転速度は単位を持たず、任意の値をセットできる。MoveとTickメソッドは、この値をスケーリングする。
- with_rotation
- 直線速度を設定するときに、オブジェクトの回転速度を考慮するかどうかを指定するフラグ。D_TRUEの場合、オブジェクトの回転速度が計算に含まれる。そうでなければ、D_FALSEを設定する。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
参照
Zバッファリングをイネーブルまたはディセーブルにするかを設定する。
構文
object.SetZbufferMode(val As CONST_D3DRMZBUFFERMODE)
要素
- object
- Direct3DRMFrame3オブジェクトを表すオブジェクト式。
- val
- Zバッファモードを指定するCONST_D3DRMZBUFFERMODE列挙型のメンバの1つ。デフォルト値はD3DRMZBUFFER_FROMPARENTである。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
参照
指定のベクトルを変換し、結果を返す。
構文
object.Transform(d As D3DVECTOR, s As D3DVECTOR)
要素
- object
- Direct3DRMFrame3オブジェクトを表すオブジェクト式。
- d
- 変換操作の結果がセットされるD3DVECTOR型。
- s
- 変換操作のソースであるD3DVECTOR型。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
参照
ベクトルの配列を、モデルからワールド空間に変換する。
構文
object.TransformVectors(reference As DIRECT3DRMFrame3, num As Long, DstVectors() As D3DVECTOR, SrcVectors() As D3DVECTOR)
要素
- object
- Direct3DRMFrame3オブジェクトを表すオブジェクト式。
- reference
- この呼び出しのためにシーンのルートとして使用されるフレーム。この引数がNOTHINGの場合、現在のルートフレーム(GetSceneが返すフレーム)が使用される。
- num
- 変換する必要のあるベクトル数。
- DstVectors()
- 変換の出力先。
- SrcVectors()
- 変換するベクトルの配列。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
参照
トップに戻る
© 1999 Microsoft and/or its suppliers. All rights reserved. Terms of Use.