首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CANNON.JS角速度行为奇怪

CANNON.JS角速度行为奇怪
EN

Stack Overflow用户
提问于 2014-06-18 12:10:58
回答 1查看 1.1K关注 0票数 0

我目前正在three.js和cannon.js上做一些实验。

我有一个像这样的物体:

代码语言:javascript
复制
var ship = {
    mesh: new THREE.Mesh(); //let's pretend there's a mesh in there.
    rigidBody: new CANNON.RigidBody(); //let's pretend there's a rigid body in here.
};

在更新函数中,我将网格旋转为刚体旋转,如下所示:

代码语言:javascript
复制
var update = function(){
    ship.mesh.rotation.x = ship.rigidBody.quaternion.x;
    ship.mesh.rotation.y = ship.rigidBody.quaternion.y;
    ship.mesh.rotation.z = ship.rigidBody.quaternion.z;
};

这一切都很好,问题是当我定义一个角速度时。

代码语言:javascript
复制
ship.rigidBody.angularVelocity.z = 1; //for example

我估计物体会开始旋转,直到角速度达到0,但它只是来回摆动。有人能这样仁慈地解释一下为什么会发生这种情况吗?也许能给出一个保持物体旋转的解决方案吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-18 13:35:58

你应该这样做:

代码语言:javascript
复制
var update = function(){
    ship.mesh.quaternion.x = ship.rigidBody.quaternion.x;
    ship.mesh.quaternion.y = ship.rigidBody.quaternion.y;
    ship.mesh.quaternion.z = ship.rigidBody.quaternion.z;
    ship.mesh.quaternion.w = ship.rigidBody.quaternion.w;
};
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24285244

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档