如何处理碰撞openGL

时间:2013-11-19 19:03:03

标签: c++ opengl collision-detection

这与我提出的上一个问题是分开的。 为了使碰撞检测更简单,我现在使用欧氏距离来计算物体是否相交。

  • 我在使用openGL的3D环境中工作,周围有围墙 边缘。
  • 我有一个播放器(现在只显示为四边形)
  • 还有几个随机显示的圆柱作为支柱,使用gluCylinder创建。

与墙壁的交点很好,我知道如果与左墙有交叉点,例如玩家应该位于距离边界墙0.5的X坐标处。如果玩家是要穿过墙壁,它会有一种能够走进墙壁而不是通过墙壁的外观。

我遇到了内部支柱的问题,当我发现它们在支柱的一定距离内时我应该怎么做。

我正在使用欧氏距离计算来检测饮食时的碰撞情况。比例如值1。

double dist = sqrt(pow((playerX - xPosi[i]),2) + pow((playerZ - zPosi[i]),2));

xPosi [i]和zPosi [i]是包含我的支柱的x和z坐标的数组,并且玩家X和Z保持玩家的坐标。任何人都可以建议如何处理与支柱的交互,因为我现在有碰撞检测工作。

玩家将只在+ ve或-ve x方向或+ ve或-ve z方向行进,我希望玩家在检测到碰撞并且无法再通过支柱时停止。

0 个答案:

没有答案