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

njCollisionCheckBB

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

書式

Int njCollisionCheckBB( *h1, *h2 )
NJS_BOX *h1
NJS_BOX *h2

引数

*h16面体その1
*h26面体その2

戻値

1接触
0非接触

解説

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

用例

2つの6面体 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