三个Js在Y轴上旋转网格以面向特定的矢量位置

时间:2016-04-24 11:43:06

标签: javascript three.js rotation

我一天中大部分时间都在尝试在其Y轴上旋转网格以面向特定的网格位置。

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

这就是我所拥有的。

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

所以我不确定我是不是为什么炮塔不会旋转以面向特定的vector位置。我还使用vec1.angleTo(vec2)对欧拉旋转进行了尝试,并将炮塔旋转到指定方向,但取得了成功。

如果有人可以解释这应该如何运作以及如果我错了,那么它背后的逻辑将会非常高兴

1 个答案:

答案 0 :(得分: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);