在Three.js中,我想让相机指向3D空间中的一个点。
为此,我尝试使用
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 ]*/
然后在我的渲染函数中,我执行:
function render() {
controls.update();
renderer.render(scene, camera);
}
Three.js的文档相当匮乏,所以我想在这里问一下。 我做错了什么吗?