2016-04-24 14 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()); 

だから私は、タレットが文句を言わない、特定のvector位置に直面して回転させ、なぜ私はundersteandわかりません。私は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軸にまったく回転しないようです –

関連する問題