gpt4 book ai didi

javascript - BulletPhysics (ammo.js) - 您将如何向物体施加力?

转载 作者:行者123 更新时间:2023-12-02 16:51:32 26 4
gpt4 key购买 nike

澄清一下 - ammo.js 是使用 mscripten 的 BulletPhysics 的端口

我有一个 Angular 色(本质上是一个方 block )需要用力插入。我已经尝试了(我认为)所有的力方法,但我仍然无法移动方 block 。

setVelocity(1,0,0) 甚至不会移动方 block - 它只是阻止重力作用在它上面!applyImpulse([0,0,200000],[0,0,0]) 绝对不执行任何操作。
applyForce([0,0,200000],[0,0,0]) 绝对不执行任何操作。

最佳答案

由于 ammo.js 是一个 emscripten 端口,因此您必须使用其 native 数据类型与其通信...

因此,要设置速度,您需要 body.setLinearVelocity(new Ammo.btVector3(1,0,0));

applyForce 和 applyImpulse 也是如此。

在我的代码中,我通常会创建一组临时 btVector3,并在整个文件中使用它们,以减少分配和垃圾收集的开销。

var tbv30 = new Ammo.btVector3();

function setBodyVelocity(body,x,y,z){
tbv30.setValue(x,y,z);
body.setLinearVelocity(tbv30);
}

祝你好运:D

关于javascript - BulletPhysics (ammo.js) - 您将如何向物体施加力?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26573039/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com