在cannon.js中“粘在一起”两个尸体

时间:2016-01-30 09:19:00

标签: cannon.js

这一定非常简单,但我似乎无法得到,如何在cannon.js中将两个物体固定在一起。我已经尝试了不同类型的约束没有(首先我认为,LockConstraint应该正是我需要的,被称为“消除所有自由度”)。

我想要实现的是将几个物体“粘在一起”,使得它们中的一个移动/旋转时它们一起旋转/表现,例如,像锤子一样,但绝对“固定”。 (即使应用了非常高的“maxForce”选项,约束也会像使用橡皮筋连接一样有点像

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

非常感谢任何提示。

1 个答案:

答案 0 :(得分:1)

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

此示例代码创建一个主体,其中包含两个框,相对于质心,在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