我一天中大部分时间都在尝试在其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)
对欧拉旋转进行了尝试,并将炮塔旋转到指定方向,但取得了成功。
如果有人可以解释这应该如何运作以及如果我错了,那么它背后的逻辑将会非常高兴
答案 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);