Three.js设置相机lookAt无效
原因:代码中使用了OrbitControls轨道控件来控制相机,这个目标默认为THREE.Vector3(),也就是(0, 0, 0)世界坐标的原点。使用camera.lookAt会无效。
源代码片段:
//创建相机
const camera = new THREE.PerspectiveCamera(80, //视角widthofelement / heightofelement, //宽高比0.1, //近距离1000 //远距离
)//相机位置,z轴为朝向自己的方向,y轴为垂直方向
camera.position.set(-7, 13, -7)
// 设置相机朝向的位置
camera.lookAt(100, 0, 100) // <----!!!此处无效!!!
const controls = new OrbitControls(camera, renderer.domElement);//渲染函数
function animate() {controls.update()//调用animaterequestAnimationFrame(animate) //异步函数//渲染renderer.render(scene, camera)
}animate()
解决方法:
将camera.lookAt(100, 0, 100)
改为:
controls.target = new THREE.Vector3(100, 0, 100)
这篇博文写的很详细:
https://blog.csdn.net/ithanmang/article/details/82735273