2012-03-07 38 views
2

我做了很多关于这个话题的研究,但并没有真正找到我正在寻找的确切答案,也许没有一个完美的解决方案......我想知道如何在视频中执行3D碰撞检测游戏。视频游戏中碰撞检测的最佳技术?

是不是最好使用碰撞体样球体和包装盒,检查十字路口或者是有一个更简单的方法,就像刚比较对象的位置和载体,知道他们是否相交?

回答

1

这是一个模糊的问题。这完全取决于你实际正在做什么。如果它是一个盒子,你会检查相对于中心的两侧之间的collsions。来想一想,你对球体(半径)也是这样做的。

同样值得注意的是,碰撞是很容易的部分,它是碰撞后难以控制的部分,而且当形状起作用时更是如此。即一个球体和一个正方形碰撞将对球体和球体起不同的作用。

一个好方法是打击一个轴上的碰撞,然后移动到另一个轴上。不要让自己难过。

值得一读通过:http://www.gamedev.net/page/resources/_/technical/game-programming/general-collision-detection-for-games-using-ell-r1026

之后,其将是值得购买一本书上一般游戏编程,并通过它的工作,然后你可以看到双手放在什么是最好的办法是你做什么。

希望这有助于

0

这不一定是答案最快的,但一个充分论证的算法是有由(的XYZ)多​​元函数,如果它在该地区和0,否则,返回1表示两个区域,乘他们在一起,然后看看整个空间的积分是否非零。

如果碰撞是基于点的,只需使用基于true和false的函数值。

这将工作时间的100%,只要您可以积分,算出积分...

另一种选择,我会用是刚刚拓展功能区的边缘,这样只需要点检测。准备大量的片段功能。