物理引擎是如何解决重力使得物体塌陷的问题的?

发布于 2022-09-01 05:15:56 字数 552 浏览 20 评论 0

我现在的处理步骤是:
根据物体AABB两两找出AABB重叠的一组物体 →
根据物体形状求出碰撞点和碰撞方向和相互嵌入的距离 →
根据碰撞点, 碰撞方向, 物体速度求出碰撞产生的冲量并施加给两个物体得到碰撞后的速度 →
因为只用速度没法完全分离物体所以根据嵌入距离等直接平移物体使得两个物体移动到刚好接触的位置 →
用速度更新物体位置

然后在以上随便一步插入"对物体施加重力"(因为总体是循环的把上面的步骤随意改变顺序结果也差不多), 就会变成下面这样
图片描述
 
或许是因为持续的重力会使得多个物体相互嵌入, 位置修正前后物体都是嵌入的结果位置修正跟不上重力累加造成的塌陷, 另外一次只能求两个物体的碰撞后速度, 可能会有类似支持力和重力不平衡的效果

大致上多个物体保持某一速度的同时向一个方向运动就会有这样的问题, 翻一遍了box2d的代码但没个导读也找不出哪块代码用什么方法来解决这个问题的...

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

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

发布评论

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

评论(1

不忘初心 2022-09-08 05:15:56

请问你解决了吗,我也有类似的问题

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