我正在尝试重现像Three.js这样的太阳系,但我无法让行星绕着恒星倾斜旋转:
这是一个小提琴样本,但轮换错误: http://goo.gl/MzcwI
我试过这个解决方案: How to rotate a 3D object on axis three.js?没有成功。
如果有人有线索要帮助我, 感谢
答案 0 :(得分:1)
答案 1 :(得分:0)
你试过吗?
function animate() {
pivot.rotation.y += 0.01;
pivot.rotation.x += 0.01;
requestAnimationFrame(animate);
render();
}
答案 2 :(得分:0)
如果您只想使用网格的位置矢量进行旋转,您可以执行类似
的操作theta = 0;/* Global variable */
function render(){
orbiter = /* Get the planet you want to rotate*/;
orbiter.mesh.position.x = Math.cos( theta ) *100;
orbiter.mesh.position.z = Math.sin( theta ) *25;
orbiter.mesh.position.y = Math.cos( theta ) * -60;
theta +=.02;
renderer.render( scene, camera );
}
function animate(){ animation_id = requestAnimationFrame( animate ); render(); }
animate();
您必须使用这些值来获得所需的旋转角度 - 尤其是position.y值。增加theta应该会提高速度。