XNA 4.0中的3D碰撞检测

时间:2012-10-24 21:55:34

标签: c# 3d collision-detection xna-4.0

我一直在网上搜索这段时间,但我找不到任何足以帮助我的东西。我知道XNA会死,但它仍然有用(在我心里,之后我将它移植到SharpDX之前)

我正在XNA 4.0中制作3D FPS射击游戏,我在设置碰撞检测方面遇到了严重问题。

首先,我在混合器中制作模型,并且我有一个高多边形和低多边形版本的模型。我想使用带有碰撞检测的低多边形模型,但我对如何做到这一点感到困惑。我想使用JigLibX,但我不确定如何设置我的项目以便这样做。

简而言之:我想完成这个简单的目标: 在混合器中制作一个复杂的地图,并从中制作边界框,然后使用四叉树将其拆分。然后我的主角和他的枪可以在它周围射击!

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

我并不完全明白你的具体问题是什么,但我想你想知道如何有效地实施碰撞检测:

  • 用于角色:使用(几个)边界框和边界球体(如头部的球体,躯干,腿部和手臂的9个框。

  • 用于地形:使用高度图中的数据进行Y(上/下)碰撞检测,并使用地形上物体的边界框/球体(如树木,墙壁,灌木丛......)

  • 对于粒子 - 就像枪声:使用点,小的边界球或 - 甚至更好,因为帧率依赖 - 光线追踪。

几乎无案例你想要在你的帖子中建议的基于多边形的碰撞检测(引用“低多边形模式进行碰撞检测”)。

我希望能让你朝着正确的方向前进。

欢呼声