在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的文档非常稀缺,所以我想在这里问一下。难道我做错了什么?
最佳答案
通过查看 THREE.TrackballControls
的源代码,我发现可以通过将trackballControls.target
设置为我希望它查看的THREE.Vector3
,然后重新渲染场景,使相机看起来像我想要的位置。
关于javascript - ThreeJS camera.lookAt()没有效果,我做错了什么吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10325095/