0
我有一个载体对象和一个可以通过键盘输入控制的平面,我想能够检测到2之间的碰撞,所以我可以着陆在载体上。这是我的代码:三维碰撞检测帮助openGL
//Camera
gluLookAt(45,30,-50,eyeX,eyeY-5,eyeZ,0,1,0);
//Skybox
glPushMatrix();
glEnable(GL_TEXTURE_2D);
drawSea();
glDisable(GL_TEXTURE_2D);
drawCube();
//Carrier
glPushMatrix();
//glTranslatef(-22,12,0);
glTranslatef(-carrierX,12,-carrierZ-190);
glEnable(GL_TEXTURE_2D);
model2.speedDisplayFaceNormals();
glDisable(GL_TEXTURE_2D);
glPopMatrix();
glPopMatrix();
//Aircraft
glPushMatrix();
glTranslatef(eyeX,eyeY-5,eyeZ);
glRotatef(-heading, 0,1,0);
glRotatef(-elevation, 1,0,0);
glEnable(GL_TEXTURE_2D);
model.speedDisplayFaceNormals();
glDisable(GL_TEXTURE_2D);
//Bounding box
glBegin(GL_QUADS);
glVertex3f(-6, -2, -6);
glVertex3f(6, -2, -6);
glVertex3f(6, -2, 6);
glVertex3f(-6, -2, 6);
glEnd();
glPopMatrix();
我最初的想法是在飞机的底部有一个平面,一个在载体的顶部,当他们碰撞应该很容易然后检测。你可以看到我在飞机的底部增加了一架飞机,但是,随着飞机位置的移动,飞机也将移动,我如何获得飞机当前坐标的移动? 还是有不同的方式我应该去做这件事?我对如何执行检测有了很好的理解,一旦我可以获得协调对象正在移动