在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