javascript - ThreeJScamera.lookAt()没有效果,我做错了什么吗?

标签 javascript macos google-chrome 3d three.js

在 Three.js 中,我希望相机指向 3D 空间中的某个点。

为此,我尝试使用 camera.lookAt 函数,如下所示:

camera.lookAt(new THREE.Vector3(-100,-100,0));

但是,我发现调用没有任何效果。它什么也不做。我尝试更改向量中的数字,但当它应该更改时,我总是在屏幕上看到相同的外观。

我现在发现,如果我删除代码中的THREE.TrackballControlscamera.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 - ThreeJScamera.lookAt()没有效果,我做错了什么吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10325095/

相关文章:

javascript - 我的作业项目 : Stock Price Checker 的异步/等待问题

javascript - Strage Vue 行为。 V-if 没有正常观看

macos - 从通知中心删除应用程序

javascript - clearTimeout 在 chrome 中不起作用

css - 自定义复选框在 Windows 上的 Chrome 中不起作用

google-chrome - 如何在 Chrome 上恢复 OneTab 旧数据?

javascript - 如何使用 jquery.shapeshift 禁用拖放?

javascript - 如何使用循环制作 16 x 16 的行内 block 网格?

objective-c - 如何在 OS X 中使用 "SecItemAdd"存储对称 key ?

python - python.org 版本能否与 Apple 框架构建兼容?