我最近在视频游戏中发现了一个很棒的white paper 3D冲突,并希望实现该算法,但我遇到了一些我自己似乎无法解决的问题。该算法使用一个球体对象作为玩家/实体,并对世界进行搜索,以便将碰撞算法简化为球形三角形,然后不进行渲染。这听起来不错,但我的碰撞似乎是零星的,我看不出问题在哪里。 Here是我的代码的完整工作示例(需要LOVE游戏框架)。通常我会在这里发布一些代码片段,但坦率地说,有太多相关代码可以提供帮助。如果您没有或无法使用LOVE运行游戏,则可以使用任何存档管理器打开.love文件(它只是一个zip文件)。相关文件是:
如果有人能推荐的东西更有效或更容易,我也对其他算法持开放态度。在游戏过程中,我在过去的一年中实施了几种碰撞算法,并且它们都以某种方式存在缺陷。我真的希望得到一个可靠的碰撞系统,所以我可以把精力集中在其他事情上,比如游戏机制。
编辑:这是一个动作中碰撞(和失败)的视频。您将看到玩家对象经常穿过世界,红色碰撞点位于奇怪的地方等等。