【发布时间】:2010-11-27 14:08:17
【问题描述】:
我正在开发一个基于脉冲的物理引擎,但我遇到了质量差异较大的物体的问题。
在每一帧,引擎都会应用脉冲来处理碰撞。脉冲在每对碰撞对象之间进行多次迭代。如果物体的质量大致相同,这将很有效。
但问题是,当将重物放在轻物上时,重物会先将轻物压入地面。
问题的原因是,施加在两个物体之间的脉冲太小,所以即使经过多次迭代,也不足以抵消重物体上的重力。
我相信有一些方法可以准确计算所需的冲动,但我担心它太复杂了?所以我主要是在寻找一些技巧来解决这个问题,而不是改变引擎的工作方式。
感谢您的任何想法!
【问题讨论】:
-
你需要支持(至少)身体和地面的弹性变形。
-
你如何计算冲动?
-
我计算每次碰撞时的冲量,就好像它不受任何其他碰撞的影响一样。但是通过迭代它通常会找到正确的“总冲动”。
标签: physics game-physics