你将如何去对物体施力?
澄清 - ammo.js
是使用mscripten的子弹物理的端口
我有一个角色(本质上是一个块),需要用武力推动。 我试过(我认为)所有的力量方法,但我仍然无法移动该块。
setVelocity(1,0,0)
甚至不会移动块 - 它只是停止重力作用于它! applyImpulse([0,0,200000],[0,0,0])
完全没有。
applyForce([0,0,200000],[0,0,0])
完全没有。
由于ammo.js是一个emscripten端口,所以你必须使用它的本地数据类型来跟它交谈......
所以为了设置速度,你需要body.setLinearVelocity(new Ammo.btVector3(1,0,0));
applyForce和applyImpulse也一样。
在我的代码中,我通常会创建一组临时btVector3s,并在整个文件中使用它们,以减少分配和垃圾收集的开销。
var tbv30 = new Ammo.btVector3();
function doSomeStuff(body){
tbv30.setValue(10,0,0);
body.setLinearVelocity(tbv30);
}
祝你好运:D
链接地址: http://www.djcxy.com/p/66169.html