Ninjaライブラリ - コリジョン関数

njCollisionCheckBB

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

書式

Int njCollisionCheckBB( *h1, *h2 ) 
NJS_BOX *h1 
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);
/* 結果 */
戻り値=1

njCollisionCheckBB
COPYRIGHT © SEGA ENTERPRISES, LTD., 1998,1999