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 地形碰撞的主要内容,如果未能解决你的问题,请参考以下文章
根据OpenGL / DirectX中的道路轮廓进行地形变形
DirectX11 With Windows SDK--18 使用DirectXCollision库进行碰撞检测