在Three.js中,我想讓攝像機指向3D空間中的一個點。ThreeJS camera.lookAt()沒有效果,有什麼我做錯了嗎?
爲此,我嘗試使用camera.lookAt
功能,像這樣:
camera.lookAt(new THREE.Vector3(-100,-100,0));
然而,我發現呼叫有任何作用。它根本沒有做任何事情。我嘗試改變向量中的數字,並且在屏幕上始終保持相同的外觀,當它應該改變時。
我剛剛發現,如果我刪除THREE.TrackballControls
我在我的代碼中,那麼camera.lookAt()
就像它應該那樣工作。我如何使用THREE.TrackballControls有什麼問題?這是我對它們進行初始化:
controls = new THREE.TrackballControls(camera, renderer.domElement);
controls.rotateSpeed = 10.0;
controls.zoomSpeed = 1.2;
controls.panSpeed = 0.2;
controls.noZoom = false;
controls.noPan = false;
controls.staticMoving = true;
controls.dynamicDampingFactor = 1.0;
var radius = 5;
controls.minDistance = radius * 1.1;
controls.maxDistance = radius * 100;
controls.keys = [ 65, 83, 68 ]; // [ rotateKey, zoomKey, panKey ]*/
然後在我的渲染功能我做的:在three.js所
function render() {
controls.update();
renderer.render(scene, camera);
}
文檔是非常稀缺的,所以我認爲我會問這裏。難道我做錯了什麼?
向我們展示更多代碼。看看這個簡單的示例:http://jsfiddle.net/TE5bM/ – 2012-04-26 09:08:12
你有更新循環,你重新渲染場景?這聽起來像你沒有更新/渲染。 – 2012-04-26 10:54:08
@Juan George:我在設置場景之前調用.lookAt(),在渲染任何東西之前,所以我的調用應該有效果。不過,我想我只是發現了這個問題。我在我的代碼中有THREE.TrackballControls,我認爲它干擾了我告訴.lookAt(),因爲當我刪除THREE.TrackballControls時,.lookAt()函數就像它應該那樣工作。我在做什麼錯誤與THREE.TrackballControls? – houbysoft 2012-04-26 12:26:59