游戏中各种不同碰撞的结果

发布于 2021-11-27 02:20:01 字数 96 浏览 777 评论 7

游戏中的主角总是会和各种各样的物体发生碰撞。会有不同的碰撞结果。怎么实现这种不同的结果。原本想用if判断的。但是如果有几万个物体。我不是要判断几万下。然后做出不同碰撞结果。有没有更好的办法呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

倾城泪 2021-12-04 01:00:08

最简单的办法是用现成的物理引擎,2D游戏有Box2D,3D游戏有Bullet,两者都能实现大规模的碰撞检测.

大概的原理,就是每次碰撞检测时分为两个阶段,第一阶段宏观阶段(Broadphase)只找出可能发生碰撞的物体,然后在微观阶段(Narrowphase)再用常规的碰撞算法进行精确检测. 每种阶段的具体算法可以看各个开源的碰撞库或物理引擎...

羁拥 2021-12-04 00:39:52

二维的话用四叉树,三维的用八叉树做碰撞检测

冷默言语 2021-12-03 17:58:36

是的,但是我想弄清楚他们是怎样实现的。感觉很厉害

妖妓 2021-12-03 17:41:47

所有的游戏引擎都有碰撞检测框架吧?你担心个毛线?

做个少女永远怀春 2021-12-03 05:19:46

用射线?

梦中楼上月下 2021-11-30 10:02:17

有点提示了。谢谢

长安忆 2021-11-29 01:39:29

分组,有些物件由于距地等原因,永远不可能发生碰撞。

分类,有些物体是摆设久静止在那里,这种物体只和会动的物体碰撞,不会和静止物体碰撞。

总之,分而治之。

如果你用现成的引擎的话,可能这些事引擎都做好了吧(一般来说引擎可能做了更多)。

用引擎的话,去找相应引擎的处理方式。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文