0

我已经在网上搜索了很长一段时间,但我找不到任何足够具体的东西来帮助我。我知道 XNA 会死,但它仍然有用(在我心里,在我稍后将它移植到 SharpDX 之前)

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

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

简而言之:我想完成一个简单的目标:在搅拌机中制作一张复杂的地图,并从中制作边界框,然后使用四叉树将其拆分。然后我的主角和他的枪可以跑来跑去射击东西!

任何帮助将不胜感激。

4

1 回答 1

0

我不明白你的具体问题是什么,但我假设你想知道如何在原则上有效地实现碰撞检测:

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

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

  • 对于粒子——比如枪声:使用点、小的边界球或者——甚至更好,因为帧率独立——光线追踪。

几乎在任何情况下,您都不想按照您在帖子中建议的那样在多边形基础上进行碰撞检测(引用“用于碰撞检测的低多边形模型”)。

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

干杯

于 2012-10-26T13:12:47.737 回答