1

首先,嘿,感谢所有查看我问题的人,

我正在为女巫构建一个 3D-Physics 引擎,我需要一个广泛的相位碰撞检测系统。我需要这个的世界非常具体,我比较了一些方法,但我仍然不确定什么是最好的。

现在我想请你就这个话题提供一些意见。

世界的属性: - 非常大(双向量中的位置) - 很少有对象(最多 100 个) - 对象有复杂的碰撞器(图元的组装 - 平均 10 到 50 个) - 对象通常聚集成组(平均 2 - 10 个) -物体不断移动 - 很少有静态物体

我有 2 个重点选项(但对其他选项持开放态度): - 球体或轴对齐的箱形树 - 局部分区

具有二元结构的球体树(每个节点最多 2 个对象)可能是最好的..

你觉得最快的是什么?有什么方法可以在不尝试每一种可能性的情况下进行说明吗?

我希望你有一些建议。

阳光先生

4

1 回答 1

1

大多数物理引擎都实现了某种动态 AABB 树。

它们比球体树稍微复杂一些,但会表现得更好并且产生更少的误报碰撞,尤其是高速物体。

它们还允许在您的案例中轻松隔离不同的对象集群,并通过在特定高度切割树来独立模拟它们。

您的复杂碰撞形状也可能有自己的 AABB 树,以加快最终的凸与凸碰撞对检测,然后可以集成到全局 AABB 树中。

于 2016-03-25T10:27:04.287 回答