Ninja Library - コリジョン関数

njCollisionCheckBB

2つの六面体の当たり判定

書式

Sint32 njCollisionCheckBB( h1, h2 )
const NJS_BOX *h1
const NJS_BOX *h2

引数

h1   1つ目の六面体データのポインタ
h2   2つ目の六面体データのポインタ

戻り値

 接触
 非接触

解説

2つの六面体が接触しているかどうかの判定(コリジョンチェック)を行います。

用例

2つの六面体h1、h2のコリジョンチェックを行います。
NJS_BOX h1, h2;
h1.v[0].x = -150.f; h1.v[0].y = 100.f; h1.v[0].z = 100;
h1.v[1].x = -150.f; h1.v[1].y = 100.f; h1.v[1].z = -100;
h1.v[2].x =  50.f; h1.v[2].y = 100.f; h1.v[2].z = -100;
h1.v[3].x =  50.f; h1.v[3].y = 100.f; h1.v[3].z = 100;
h1.v[4].x = -150.f; h1.v[4].y = -100.f; h1.v[4].z = 100;
h1.v[5].x = -150.f; h1.v[5].y = -100.f; h1.v[5].z = -100;
h1.v[6].x =  50.f; h1.v[6].y = -100.f; h1.v[6].z = -100;
h1.v[7].x =  50.f; h1.v[7].y = -100.f; h1.v[7].z = 100;
h2.v[0].x = -50.f; h2.v[0].y = 100.f; h2.v[0].z = 100;
h2.v[1].x = -50.f; h2.v[1].y = 100.f; h2.v[1].z = -100;
h2.v[2].x = 150.f; h2.v[2].y = 100.f; h2.v[2].z = -100;
h2.v[3].x = 150.f; h2.v[3].y = 100.f; h2.v[3].z = 100;
h2.v[4].x = -50.f; h2.v[4].y = -100.f; h2.v[4].z = 100;
h2.v[5].x = -50.f; h2.v[5].y = -100.f; h2.v[5].z = -100;
h2.v[6].x = 150.f; h2.v[6].y = -100.f; h2.v[6].z = -100;
h2.v[7].x = 150.f; h2.v[7].y = -100.f; h2.v[7].z = 100;
njCollisionCheckBB(&h1, &h2);
/* Result */
Return = 1

njCollisionCheckBB
COPYRIGHT © SEGA ENTERPRISES, LTD., 1998-2000