njCollisionCheckBC English
|INDEX|
6面体とカプセルのコリジョンチェックを実行します。

書 式

#include <Ninja.h>
Int njCollisionCheckBC( *box, *capsule )
NJS_BOX     *box
NJS_CAPSULE *capsule

引 数

*box
コリジョンチェックの対象となる6面体
*capsule
コリジョンチェックの対象となるカプセル

返 値

1:接触
0:非接触

エラー

なし

機 能

6面体とカプセルのコリジョンチェックを行います。

用 例

6面体 box とカプセル capsule のコリジョンチェックを行います。
NJS_BOX box;
NJS_CAPSULE capsule;

box.v[0].x = -150.f; box.v[0].y =  100.f; box.v[0].z =  100;
box.v[1].x = -150.f; box.v[1].y =  100.f; box.v[1].z = -100;
box.v[2].x =   50.f; box.v[2].y =  100.f; box.v[2].z = -100;
box.v[3].x =   50.f; box.v[3].y =  100.f; box.v[3].z =  100;
box.v[4].x = -150.f; box.v[4].y = -100.f; box.v[4].z =  100;
box.v[5].x = -150.f; box.v[5].y = -100.f; box.v[5].z = -100;
box.v[6].x =   50.f; box.v[6].y = -100.f; box.v[6].z = -100;
box.v[7].x =   50.f; box.v[7].y = -100.f; box.v[7].z =  100;

capsule.c1.x = 100.f;
capsule.c1.y =   0.f;
capsule.c1.z =   0.f;
capsule.c2.x = 200.f;
capsule.c2.y =   0.f;
capsule.c2.z =   0.f;
capsule.r    = 100.f;

njCollisionCheckBC(&box, &capsule);

% 結果 %
返り値 = 1

備 考

6面体 box とカプセル capsule のコリジョンチェックを行います。
NJS_BOX box;
NJS_CAPSULE capsule;

box.v[0].x = -150.f; box.v[0].y =  100.f; box.v[0].z =  100;
box.v[1].x = -150.f; box.v[1].y =  100.f; box.v[1].z = -100;
box.v[2].x =   50.f; box.v[2].y =  100.f; box.v[2].z = -100;
box.v[3].x =   50.f; box.v[3].y =  100.f; box.v[3].z =  100;
box.v[4].x = -150.f; box.v[4].y = -100.f; box.v[4].z =  100;
box.v[5].x = -150.f; box.v[5].y = -100.f; box.v[5].z = -100;
box.v[6].x =   50.f; box.v[6].y = -100.f; box.v[6].z = -100;
box.v[7].x =   50.f; box.v[7].y = -100.f; box.v[7].z =  100;

capsule.c1.x = 100.f;
capsule.c1.y =   0.f;
capsule.c1.z =   0.f;
capsule.c2.x = 200.f;
capsule.c2.y =   0.f;
capsule.c2.z =   0.f;
capsule.r    = 100.f;
    
njCollisionCheckBC(&box, &capsule);

% 結果 %
返り値 = 1

関 連

NJS_BOX構造体(箱型)
typedef struct{
    NJS_POINT3 v[8]; /* 6面体の頂点リスト */
} NJS_BOX;
頂点リストのインデックスと対応する頂点

NJS_CAPSULE構造体(カプセル型)
typedef struct{
    NJS_POINT3 c1;
    NJS_POINT3 c2;
    Float      r; 
} NJS_CAPSULE;
中心座標 c1、半径 r の球と中心座標 c2、半径 r の球を両端に持った棒状の物。

njCollisionCheckBC |INDEX|

Copyright SEGA ENTERPRISES, LTD., 1997