Directx 9 地形碰撞

Posted

技术标签:

【中文标题】Directx 9 地形碰撞【英文标题】:Directx 9 Terrain collision 【发布时间】:2011-02-28 04:15:18 【问题描述】:

我搜索并找到了一些如何进行地形碰撞的教程,但它们使用的是 .raw 文件,我使用的是 .x。但是,我想我可以做和他们一样的事情。他们获取了对象的 x、y、z 值,可以对照地形中的每个三角形对其进行检查。这是有道理的,但看起来它会很慢。这就像对每个三角形进行检查一样很慢。 有没有更快更好的方法?更新 我的地形不平坦,如果是的话,我会使用边界框。

【问题讨论】:

【参考方案1】:

上次我这样做时,我使用了 Bullet 库,效果很好。它有多种collision shapes可供选择,针对不同的场景进行了优化,包括一般的三角形网格和高度场。您可以在没有物理的情况下使用库的碰撞例程。

【讨论】:

【参考方案2】:

显着减少检测冲突所需时间的一种常见方法是将空间组织成octree,这将使您能够非常快速地确定特定节点中是否可能发生冲突。一般来说,使用游戏引擎更容易完成这类任务。

【讨论】:

对于高度映射的地形,您真的只需要四叉树 :)

以上是关于Directx 9 地形碰撞的主要内容,如果未能解决你的问题,请参考以下文章

Directx11学习笔记二十二 用高度图实现地形

根据OpenGL / DirectX中的道路轮廓进行地形变形

DirectX 9.0读书笔记 向量

DirectX11 With Windows SDK--18 使用DirectXCollision库进行碰撞检测

微软怎么没DirectX 11下载?只找到DirectX 9··官方网站下载位置是?

带有 Visual Studio 2012 Express 的 Directx 9