我试图从更高层次上弄清楚为什么我使用b2.js(box2d的包装器库)会出现一些意外行为。我试图模型颗粒的的晶体结构中的化学系统(全部表示为b2body
的矩形)等我想我使用能够链接在一起的颗粒{{1} } 绳索对象并创建单个矩形的刚性格子。
当我仅将b2Body粒子放置在屏幕上并且不连接它们时,物体的物理外观看起来正确。然而,当我晶体的单元链接在一起以b2Joint
,所述b2Joint
的框现在能够重叠并相互穿透
我不知道为什么发生这种情况,并希望任何指导。
https://www.youtube.com/watch?v=zEUN238gd6Q&feature=youtu.be
这是b2.js中创建关节的相关代码:
b2Body
答案 0 :(得分:1)
box2d实体的collide connected属性为false时,它们会相互渗透。这是默认设置。
将 collide connected 属性设置为true,应启用已连接物体之间的碰撞处理,以使它们不再相互渗透。
我喜欢并详细介绍Box2d关节的教程可在http://www.iforce2d.net/b2dtut/joints-overview中找到。