我正在three.js中的一个项目中工作,我有一个立方体,可以用一些按钮(箭头)旋转它。旋转有效,但经过一些旋转后,它不再朝正确的方向旋转。可能是因为立方体的轴被移动了?但这让我有点困惑..
我需要立方体能够通过一些控件向上、向下、向左和向右旋转。这基本上是它目前的工作方式:
当按下一个方向时,比如“右”,我们用 tween.js 更新 mesh.rotation.y,直到 mesh.rotation.y 旋转 90 度角。
//SCENE, MESH,.. SETUP
...
function rotateRight(){
var start = {x:cubeMesh.rotation.x, y:cubeMesh.rotation.y, z:cubeMesh.rotation.z};
//RIGHT: y + 90°
var end = {x:cubeMesh.rotation.x, y:cubeMesh.rotation.y + degreeToRadians(90),
z:cubeMesh.rotation.z};
var tween = new TWEEN.Tween(start)
.to(end, 1000)
.easing( TWEEN.Easing.Exponential.InOut )
.onUpdate(function(){
cubeMesh.rotation.x = this.x;
cubeMesh.rotation.y = this.y;
cubeMesh.rotation.z = this.z;
})
.start();
}
function animateScene(){
requestAnimationFrame(animateScene);
TWEEN.update();
renderer.render(scene, camera);
}
我需要改变什么来保持这个立方体在正确的方向上旋转?我们可以修复立方体的轴,使其不会移动吗?我已经阅读了有关世界轴与对象轴的内容,这是我需要更改的内容吗?如何实现?
提前致谢!