Microsoft DirectX 8.0 (Visual Basic) |
レイがボックスの境界ボックスのボリュームに当たるかどうかを判定する。
object.BoxBoundProbe( _ MinVert As D3DVECTOR, _ MaxVert As D3DVECTOR, _ RayPosition As D3DVECTOR, _ Raydirection As D3DVECTOR) As Boolean
レイがボックスの境界ボックスのボリュームに当たる場合は、TRUE を返す。それ以外の場合は FALSE を返す。
D3DX8.BoxBoundProbe は、レイがボックスのサーフェスだけではなく、ボックスの境界ボックスのボリュームに当たるかどうかを判定する。
D3DX8.BoxBoundProbe に渡される D3DXVECTOR の値は、xmin、xmax、ymin、ymax、zmin、zmax である。したがって、境界ボックスの角の定義は次のようになる。
xmax, ymax, zmax xmax, ymax, zmin xmax, ymin, zmax xmax, ymin, zmin xmin, ymax, zmax xmin, ymax, zmin xmin, ymin, zmax xmin, ymin, zmin
境界ボックスの深度は、z 方向が zmax - zmin、y 方向が ymax - ymin、そして x 方向が xmax - xmin である。たとえば、最小ベクトルが min (-1, -1, -1)、最大ベクトルが (1, 1, 1) の場合、境界ボックスの定義は次のようになる。
1, 1, 1 1, 1, -1 1, -1, 1 1, -1, -1 -1, 1, 1 -1, 1, -1 -1, -1, 1 -1, -1, -1
失敗した場合はエラーが発生し、Err.Number に D3DERR_INVALIDCALL が設定される。
エラー トラッピングの詳細については、Microsoft® Visual Basic® の「エラー処理」を参照すること。