Javascript 子弹物理(asm.js中的ammo.js)如何获得碰撞冲击力

Javascript 子弹物理(asm.js中的ammo.js)如何获得碰撞冲击力,javascript,physics,emscripten,bullet,ammo.js,Javascript,Physics,Emscripten,Bullet,Ammo.js,所以我设法在ammo.js中实现了碰撞检测,就像在Physijs中一样。下面是有效的代码 var i, dp = this.dispatcher, num = dp.getNumManifolds(), manifold, num_contacts, j, pt; for (i = 0; i < num; i++) { manifold = dp.getManifoldByIndexInternal(i); num_contacts = mani

所以我设法在ammo.js中实现了碰撞检测,就像在Physijs中一样。下面是有效的代码

var i,
    dp = this.dispatcher,
    num = dp.getNumManifolds(),
    manifold, num_contacts, j, pt;

for (i = 0; i < num; i++) {
    manifold = dp.getManifoldByIndexInternal(i);

    num_contacts = manifold.getNumContacts();
    if (num_contacts === 0) {
        continue;
    }

    for (j = 0; j < num_contacts; j++) {
        pt = manifold.getContactPoint(j);

        //console.log('body 1: ', manifold.getBody0());
        //console.log('body 2: ', manifold.getBody1());

        console.log('COLLISION DETECTED!');
        // HERE: how to get impact force details?
        // pt.getAppliedImpulse() is not working
    }
}
但是ammo.js中没有这样的函数。我搜索了代码,但它不在那里。也许API更新了,或者读取力的方法完全不同

编辑:

这是我使用getAppliedImpulse()和许多基本函数定制的弹药。

将绑定描述添加到
ammo.idl
,然后重新生成ammo.js

interface btManifoldPoint {
    ...
    [Const] double getAppliedImpulse();
}

我不知道ammo.js,但我知道物理学;力量和冲动是两码事。谢谢,这也是我找到的正确答案。不幸的是,我无法在Windows上构建ammo.js,这是一个已知的问题。另外,我不会像其他前端/JavaScript开发人员那样切换到Mac。也许我会得到一个备用的来制造弹药。这是我的弹药叉(制造),如果有人有同样的需求,可以启用这个选项
interface btManifoldPoint {
    ...
    [Const] double getAppliedImpulse();
}