(立方体)用三个.js旋转
(Cube) Rotation with three.js
我在three.js中做一个项目,在那里我有一个立方体,可以用一些按钮(箭头)旋转它。旋转是有效的,但经过一些旋转后,它就不再朝着正确的方向旋转了。可能是因为立方体的轴偏移了?但这让我有点困惑。。
我需要立方体能够通过一些控件向上、向下、向左和向右旋转。这基本上就是它目前的工作方式:
当按下一个方向时,比如"右",我们用tween.js更新mesh.rotation.y,直到mesh.rotection.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);
}
我需要更改什么才能使这个立方体在正确的方向上旋转?我们能固定立方体的轴,这样它们就不会移动吗?我读过一些关于世界轴与对象轴的文章,这是我需要改变的吗?我该如何实现?
提前感谢!
对不起,不能发表评论,这肯定不是完美的答案,但如果你在旋转方面有问题,也许你的推特不太正确?让我印象深刻的是,你的函数只在一个轴上旋转,但你仍然更新所有三个轴。也许你应该去掉x和z,只更新正确的轴?也许这也有助于解决你的问题,因为你知道自己实际上在改变什么。不过,这只是一个想法。
多亏了这篇文章,才明白了:如何在轴three.js上旋转三维对象?
围绕世界轴旋转对象。
相关文章:
- 旋转按钮[HTML][JS]
- 在JS中围绕旋转对象旋转对象
- HTML5、CSS3和/或JS中旋转CD上的音频播放器
- 使用tween.js围绕世界轴旋转对象
- JS/CSS旋转的DIVS在任何屏幕的中间相遇
- 三个js键盘旋转
- JS下拉菜单显示在图像旋转器上
- 三.js轨道控制.js可以改变反Y轴旋转吗?
- jquery 图像旋转器(仅在 JS 中传递图像)
- Don't限制OrbitControls.js中的旋转
- 恢复旋转三.js
- 如何旋转相机,使其面向/高于球体上的点(Three.js)
- 单击three.js中的链接旋转球体
- JS with SVG:围绕其中心旋转SVG元素
- 使用D3.js旋转外部SVG文件
- 无中心旋转的Matter.js机身
- Three.js如何使用四元数旋转相机
- Three.js TrackballControls.js在z中旋转;仅x轴
- 在HTML5画布中旋转JS对象时Y轴出现问题
- 如何围绕织物中的一个指定点旋转.js