2016-04-24 81 views
0

我一直花费大部分时间试图旋转Y轴上的网格来面对特定的网格位置。THREE Js旋转Y轴上的网格以面对特定的矢量位置

找到了一些方法,但没有人帮助我。

这就是我所拥有的。

var vector = new THREE.Vector3(0,0,5); 
    var axis = new THREE.Vector3(0, 1, 0); 
    turret.quaternion.setFromUnitVectors(axis, vector.clone().normalize()); 

所以我不知道我为什么understeand炮塔不会旋转到所面临的具体vector位置。我也试过用欧拉旋转法,用vec1.angleTo(vec2)旋转炮塔到指定方向,但成功。

我会很高兴,如果有人可以解释这应该如何工作的,什么是一个道理,如果我错

回答

0

这是THREE.Vector3构造(Docs)

Vector3(x, y, z) 

x -- Float the vector's x value 
y -- Float the vector's y value 
z -- Float the vector's z value 

要旋转网状其Y轴,但你实际上旋转在其Z轴,所以不是:

var vector = new THREE.Vector3(0, 0, 5); 

尝试:

var vector = new THREE.Vector3(0, 5, 0); 
+0

试过,也没有任何结果:( –

+0

奇怪,这对我很有用。你有什么错误吗? – leota

+0

没有错误......就好像网格在Y轴上不会旋转 –