游戏中各种不同碰撞的结果
游戏中的主角总是会和各种各样的物体发生碰撞。会有不同的碰撞结果。怎么实现这种不同的结果。原本想用if判断的。但是如果有几万个物体。我不是要判断几万下。然后做出不同碰撞结果。有没有更好的办法呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
游戏中的主角总是会和各种各样的物体发生碰撞。会有不同的碰撞结果。怎么实现这种不同的结果。原本想用if判断的。但是如果有几万个物体。我不是要判断几万下。然后做出不同碰撞结果。有没有更好的办法呢?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(7)
最简单的办法是用现成的物理引擎,2D游戏有Box2D,3D游戏有Bullet,两者都能实现大规模的碰撞检测.
大概的原理,就是每次碰撞检测时分为两个阶段,第一阶段宏观阶段(Broadphase)只找出可能发生碰撞的物体,然后在微观阶段(Narrowphase)再用常规的碰撞算法进行精确检测. 每种阶段的具体算法可以看各个开源的碰撞库或物理引擎...
二维的话用四叉树,三维的用八叉树做碰撞检测
是的,但是我想弄清楚他们是怎样实现的。感觉很厉害
所有的游戏引擎都有碰撞检测框架吧?你担心个毛线?
用射线?
有点提示了。谢谢
分组,有些物件由于距地等原因,永远不可能发生碰撞。
分类,有些物体是摆设久静止在那里,这种物体只和会动的物体碰撞,不会和静止物体碰撞。
总之,分而治之。
如果你用现成的引擎的话,可能这些事引擎都做好了吧(一般来说引擎可能做了更多)。
用引擎的话,去找相应引擎的处理方式。