我正在使用 MatterJs 进行基于物理的游戏,但还没有找到解决防止物体被鼠标强制拖动穿过其他物体的问题的解决方案。如果您将一个实体拖入另一个实体,则被拖动的实体会迫使自己进入并穿过另一个实体。我正在寻找一种可靠的方法来防止它们相交。您可以在任何 MatterJS 演示中观察这种效果,方法是用鼠标选择一个主体,并尝试强制它穿过另一个主体。下面是一个典型的例子:
https://brm.io/matter-js/demo/#staticFriction
不幸的是,这会根据拖放操作破坏任何游戏或模拟。我尝试了许多解决方案,例如在发生碰撞时打破鼠标约束,或降低约束刚度,但没有任何可靠的方法。
欢迎任何建议!