カメラの位置から、足元(の基準)となっている位置まで
の座標を使って
まわりのものとの接触判定をしようとしています。
最初に で初期化してから
void clS_3D_graph::Hit(){
MV1_COLL_RESULT_POLY_DIM out;
int on_flag= 0;
for(int i=0; i<OBJECT_3D_MAX; i++ ){
if(graph.object[i].flag== 1){
//物体と触れているかどうか 自分は、camera.xyの身長分の線として扱う
out= MV1CollCheck_Capsule( imG_3D[graph.object[i].object_img] , -1 ,
VGet( graph.camera.x, graph.camera.y , graph.camera.z ) ,
VGet( graph.camera.x, graph.camera_under_y , graph.camera.z ),CAMERA_XZ );
for(int j=0; j<out.HitNum; j++){//あたっているなら あたった数分繰り返す
if(out.HitNum!= 0){
on_flag= 1;
}
}
}
}
}
if(on_flag== 0){//足場がCAMERA_Yの範囲になければ
graph.camera_under_y-=13;//そこは穴だから落ちる
}
}
落ちていくようにしたいんです。
しかし何故か中心座標付近なら、きちんと当たり判定ができるのに
一定以上離れると、当たり判定がなくなります。
3D関係のものに触れるのは
はじめてなのでよくわかりません。
後、法線ベクトルとはどのようなものでしょうか?
自分は、ポリゴン(というか面)に対して垂直な線として認識していますが
あっているのでしょうか?