Three.js设置相机lookAt无效
·
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()
//调用animate
requestAnimationFrame(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
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)