2011-02-28 72 views
1

我搜索了一下,我发现一些教程如何做地形碰撞,但他们使用.raw文件,我使用的是.x。但是,我认为我可以做同样的事情。他们把一个物体的x,y,z值与地形中的每一个三角形进行核对。这很有道理,但它看起来会很慢。这就像对每一个三角形的挑选检查一样慢。
有没有更快的方法做到这一点,好?
UPDATE
我的地势不平坦,如果是我会用包围盒。Directx 9地形碰撞

回答

0

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

+0

对于高度贴图的地形,你真的不需要超过四叉树:) – Goz

+0

@Goz好点;) –

1

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