1
我已經做了13年的矢量東西了,但我仍然在用three.js處理東西的方式掙扎。所以我最喜歡做的事情是用風扇始終面向相機,當然也是旋轉的。three.js旋轉面對象
這是我用另一種語言來實現這一點:
// Create a vector facing in camera direction.
temp.x = 0;
temp.y = 1;
temp.z = 0;
vec_rotate(temp, camera.pan);
// Apply vector direction to scene object.
vec_to_angle(entity.pan, temp);
// Rotate scene object's angle around another angle/imaginary line from camera to object.
ang_rotate(
entity.pan,
vector(random(360), 0, 0)
);
因此,應用entity.lookAt(camera.position)後,我缺少一個角度旋轉基於當前角度(最後函數調用例)。到風扇建模
不幸的是,我看不到任何區別,只是離開整個樞軸部分,但你的答案指出我的孤獨,這是... 我nitialization: 'var angle = 0; var axis = new THREE.Vector3(0,0,1);' Loop: 'angle + = 0.01 * deltaTime; mesh.lookAt(camera.position); mesh.rotateOnAxis(axis,angle);' 現在,「風扇」在旋轉時總是面向相機。因此在我的例子中,rotateOnAxis(...)似乎只是ang_rotate(...)的功能。 – Artimus 2014-08-31 18:21:25
1.我的解決方案計算量小得多,因爲您只需調用一次'lookAt()'。 2.您找不到解決方案,您找到了不同的解決方案。 3.你可以使用'旋轉Z(角度)'。 – WestLangley 2014-08-31 19:17:08
這絕對是真的。我不知道爲什麼它在我實施時不起作用,但最後,對於我的特殊情況,我只需要進行一次定向和旋轉,因爲它是一種只能持續很短時間的能量釋放。我很高興我終於找到了解決方案,因爲我在昨天掙扎了至少5個小時...... – Artimus 2014-09-01 16:09:12