javascript - 如何设置控件的第一个 lookAt/target

标签 javascript three.js

我需要设置场景的初始“lookAt”点,这将是屏幕和控件旋转的中心。 如果可能的话,我更愿意设置一个点(或一个对象的位置),而不是旋转 Angular 。

控件是OrbitControl。如果我只是在控件初始化之前设置 lookAt,则在第一次用户交互时中心将恢复到 (0,0,0),这会导致“间隙”...

// camera
camera = new THREE.PerspectiveCamera( 35, window.innerWidth / window.innerHeight, 0.1, 20000);
camera.position.set(0,20,20);
camera.lookAt(new THREE.Vector3(0,10,0));

// controls
controls = new THREE.OrbitControls( camera );
controls.addEventListener( 'change', render );

如何正确设置初始点?

最佳答案

尝试设置控件的目标并删除 camera.lookAt 调用:

controls.target = new THREE.Vector3(0, 10, 0);
controls.update();

关于javascript - 如何设置控件的第一个 lookAt/target,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20933125/

相关文章:

javascript - 从小的 Three.js 视口(viewport)中选取对象

javascript - 旋转或移动对象后如何更新顶点几何

javascript - 使用 AngularJS 按钮显示/隐藏表单的简洁方法

javascript - Firebase 数据库权限被拒绝错误

reactjs - 以编程方式更改 gltf 导入网格的 Material - react 三纤维

javascript - 如何对球体的不规则平面进行纹理处理?

javascript - 如何使用 jQuery 更改 <span> 标记 </span> 之间的值?

javascript - 无法从 Redux 存储读取状态。我错过了什么?

javascript - 为什么/什么时候 $.inArray 返回 -1?

javascript - 我如何在 Three.js 中创建这样的地形