Cannon JS - 在启动具有属性的body之后定位向量NaN

时间:2016-10-01 20:15:33

标签: javascript three.js physics cannon.js

我正在使用简单的设置Cannon.js,按照在线示例,但是当我在构造函数中设置任何属性时,位置和角速度x,y和z都是NaN。

这有效,但不会移动,因为身体没有质量。

int length = inputString.Length;
string result= "";
for (int i = 0; i < length; i++)
{
    if (i%3 == 0) result += inputString[i];
}

然而,这不是......

const body = new CANNON.Body();
console.log(body.position.x, body.mass); //logs 0, 0

此外,如果我实例化身体,然后设置质量,它仍然不会移动。

上下文的一些代码(我在动画循环中调用更新函数,它正在发生A-OK)。

const body = new CANNON.Body({
    mass: 1,
});
console.log(body.position.x, body.mass); //logs NaN, 1

1 个答案:

答案 0 :(得分:3)

我唯一能想到的是你不小心将delta = 0传递给world.step。 Repro使用Cannon.js v0.6.2:JSFiddle

尝试将代码更改为:

export const update = (delta) => {
    if (delta > 0) {
        world.step(TIMESTEP * delta);
    }
}