如何绘制并设置旋转3D对象轴的角度?

时间:2015-05-19 16:45:01

标签: javascript 3d three.js

我有一个旋转的行星(带环的土星),我设置了相机:

  var camera = new THREE.PerspectiveCamera(45, width / height, 0.05, 1000);
  camera.position.z = 3;
  camera.position.y = 1;
  camera.position.x = 1;

我在这里得到的是一颗以某个角度被看到的行星,但行星本身位于x-y-z平面轴上。

它的外观如下:Saturn & Rings

我希望绘制一条虚线/虚线,以显示行星的实际轴线,该轴线与太阳平面的正交角度为“Ɵ”(假设太阳平面='x-z')。以及如何更改行星的默认轴(XYZ)设置的角度。

1 个答案:

答案 0 :(得分:0)

如果要在轴上旋转行星网格,可以使用如下图案:

mesh = new THREE.Mesh( geometry, material );
scene.add( mesh );

mesh.add( new THREE.AxisHelper( 10 ) ); // show the local coordinate system

mesh.rotation.set( 0, 0, - Math.PI / 8 ); // set initial orientation

然后,在渲染循环中,

mesh.rotateY( 0.01 ); // rotate mesh around its local Y-axis

three.js r.71