"Glueing together" 两具尸体 cannon.js

"Glueing together" two bodies in cannon.js

这一定很简单,但我似乎无法理解,如何在 cannon.js 中将两个物体固定在一起。我已经尝试过不同类型的约束 否(首先我认为,LockConstraint 应该正是我所需要的,被定义为 "removing all degrees of freedom")。

我想要实现的是 "stick together" 多个主体,以便它们 rotate/behave 在一起,如果其中一个 moves/rotates,例如就像锤子一样,但绝对 "fix"。 (即使应用非常高的 "maxForce" 选项,约束的行为也有点像身体用橡皮筋连接)

我该怎么做? body.addShape() 是正确的方向吗..?!

非常感谢任何提示。

如果您希望两个形状始终具有相同的相对变换,您应该将它们放在同一个 Body 中。

此示例代码创建了一个主体,其中有两个盒子,相对于质心,在主体的局部 X=2 和 X=-2 处。

var body = new CANNON.Body({ mass: 1 });
var shapeA = new CANNON.Box(new CANNON.Vec3(1,1,1));
body.addShape(shapeA, new CANNON.Vec3(2,0,0), new CANNON.Quaternion());
var shapeB = new CANNON.Box(new CANNON.Vec3(1,1,1));
body.addShape(shapeB, new CANNON.Vec3(-2,0,0), new CANNON.Quaternion());

另见复合演示:http://schteppe.github.io/cannon.js/demos/compound.html