#yyds干货盘点#three.js中相机的lookAt和control的target区别

Posted 歆冉

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了#yyds干货盘点#three.js中相机的lookAt和control的target区别相关的知识,希望对你有一定的参考价值。

1.改变相机的lookAt,效果如下:

会发现:

  • 场景是没移动的
  • 改变的是相机的lookAt值

    核心代码

    // 添加相机辅助对象,用来查看相机的变化情况
    const cameraHelper = new THREE.CameraHelper(camera)
    scene.add(cameraHelper)
    // 创建一个点
    let pos  = new THREE.Vector3(0, 0, 0)
    let index = 0
    function render() {
    controls.update()
    TWEEN.update()
    renderer.render(scene, camera)
    if (isEnabled) {
        pos.x += 0.5
        camera.lookAt(pos)
    }
    }
    animate()

    2.改变OrbitControls控制器的target的值,效果如下:

    会发现

  • 相机是没有变化的
  • 整个3D场景在朝着反方向移动,所以我们可以得出,其实OrbitControls控制的是场景的变化

    核心代码

    
    let pos  = new THREE.Vector3(0, 0, 0)
    let index = 0
    function render() {
    controls.update()
    TWEEN.update()
    renderer.render(scene, camera)
    if (isEnabled) {
        pos.x += 0.5
        controls.target.copy(pos)
    }
    }
    animate()

## 3.总结
1. 相机的lookAt的使用
2. 明白OrbitControls控制到底控制的是什么, 控制的的是整个场景对象

以上是关于#yyds干货盘点#three.js中相机的lookAt和control的target区别的主要内容,如果未能解决你的问题,请参考以下文章

#yyds干货盘点#愚公系列2022年12月 微信小程序-three.js绘制球体

#yyds干货盘点#three.js源码解读-EventDispatcher

#yyds干货盘点#three.js中3D场景扩散波特效

#yyds干货盘点#three.js中OrbitControls控制器的使用

#yyds干货盘点#数组中第K小的数字

#yyds干货盘点# 数组中第K小的数字