玩家和网格的交集

我有一个3D场景,还有一个可以在里面移动的玩家。

在一个时间步中,玩家可以从A点移动到B点。玩家应该遵循地形高度,但是缓慢地爬上悬崖然后回落,或者跳到墙上时停下来,等等。

在我的第一个原型中,我通过将射线与场景中的每个三角形相交来确定玩家中心的X,Z处的Y. 我不是在检查他们的路线,而是只是为每个时间点取样他们的终点。 尽管这是Javascript,它可以接受的性能明智。

不好的碰撞玩家不应该半场休息

但是,因为我将玩家建模为一个单一的点,所以玩家可以将自己的位置放置在悬崖面上,等等。 我需要将它们建模成一个固体,例如一些球体或者甚至是更全面的网格。 我也担心,如果他们加快行动,他们可能完全错过了考试。

我应该如何解决这个问题?

有一个碰撞网格,你不渲染,并比玩家的最大直径的房间小。 在这种情况下,碰撞网格可能比可见模型的帮助性能要less得多。