旋转围绕球体排列的对象以查看原点,然后再次旋转它

时间:2015-02-25 00:34:48

标签: three.js

我知道如何旋转围绕球体排列的物体,使其看到原点,但我如何沿着从物体中心到球体原点的轴再次旋转呢?

在这里小提琴:http://jsfiddle.net/s3L6tqj0/

我尝试过的所有内容都没有效果,包括我以前的代码与lookAt做同样的事情,但我还添加了额外的轮播。

我认为这是一个非常简单的事情,我错过了 - 任何指针?

2 个答案:

答案 0 :(得分:0)

您可以使用makeRotationAxis()沿着轴从球体原点旋转到网格。假设球体的原点是(0,0,0),你可以这样做:

var axis = new THREE.Vector3( mesh.position.x, mesh.position.y, mesh.position.z );
var angle = someAmountYoudLike * Math.PI / 256;
var matrix = new THREE.Matrix4();
matrix.makeRotationAxis( axis.normalize(), angle ); 
mesh.rotation.setFromRotationMatrix( matrix );

答案 1 :(得分:0)

正如我想象的那样,答案结果非常简单。

在我的对象上调用rotateZ(angle)就可以了。

在这里演示:http://jsfiddle.net/2hkg76se/