2013-04-09 51 views
0

如何獲得一個rotation.y & rotation.z only(rotation.x = 0)使物體看起來對vector3?角度y&z從vector3

+0

您要撥打object.lookAt(矢量)但是你想限制結果旋轉矢量使它的x分量爲零?我可以問你想達到什麼嗎? – WestLangley 2013-04-09 19:36:01

+0

我認爲我需要將vector3轉換爲球體極座標。 (不確定) – karacas 2013-04-09 21:11:22

+0

你想達到什麼目的?你爲什麼要將'rotation.x'限制爲零? – WestLangley 2013-04-09 21:14:38

回答

0

Object3D(在其上擴展Mesh)有一個lookAt()函數,Matrix4也是。

有一個在look at sample

look at sample

+0

Tnx,但我只需要rotation.y&rotation.z/lookAt()計算x,y和z。 – karacas 2013-04-09 16:18:55

+0

我想你可以忽略x旋轉,取決於你使用的是什麼平面,對吧?另外,你仍然需要用3D來看,而不是2D,對嗎? – 2013-04-09 16:34:47

+0

我不能簡單地忽略x旋轉,需要用y&z補償x旋轉。 – karacas 2013-04-09 17:30:13

0

偷看我解決了這個辦法: (基於這個帖子:3D Vector (X, Y, Z) look at Vector

var vec3 = new THREE.Vector3(100, 0, 50); 

var xzdistance = Math.sqrt(vec3.x * vec3.x + vec3.z * vec3.z); 

var rotationY = Math.atan2(vec3.x, vec3.z) + Math.PI /2; 
var rotationZ = -Math.atan2(vec3.y, xzdistance);  
相關問題