threejs使用gui改变相机的参数

调节相机远近角度

  1. 定义相机的配置:

    javascript 复制代码
    const cameraConfg = reactive({ fov: 45 })
  2. gui中加入调节fov的方法

    javascript 复制代码
      const gui = new dat.GUI();
    
      const cameraFolder = gui.addFolder("相机属性设置");
      cameraFolder.add(cameraConfg, "fov", 0, 100).name("修改相机远近").onChange((num) => {
        camera.fov = num;
        camera.updateProjectionMatrix();
      });
  3. 实现效果

调节相机的位置

  1. 定义参数:

    javascript 复制代码
    const cameraConfg = reactive({
        fov: 45,
        viewX: 0, 
        viewY: 20, 
        viewZ: 10
    });
  2. 初始化相机,设置相机位置。

    javascript 复制代码
    // 2、创建相机
    const camera = new THREE.PerspectiveCamera(
        cameraConfg.fov,
        window.innerWidth / window.innerHeight,
        0.25,
        1000
    );
    camera.position.set(cameraConfg.viewX, cameraConfg.viewZ, cameraConfg.viewY);
  3. 加入gui的配置

    javascript 复制代码
      const gui = new dat.GUI();
      const cameraFolder = gui.addFolder("相机属性设置");
    
      cameraFolder.add(cameraConfg, "viewX", -50, 50).name("修改视角-x").onChange((num) => {
        cameraConfg.viewX = num;
        camera.position.set(cameraConfg.viewX, cameraConfg.viewZ, cameraConfg.viewY);
      });
      cameraFolder.add(cameraConfg, "viewY", 0, 100).name("修改视角-y").onChange((num) => {
        cameraConfg.viewY = num;
        camera.position.set(cameraConfg.viewX, cameraConfg.viewZ, cameraConfg.viewY);
      });
      cameraFolder.add(cameraConfg, "viewZ", 0, 100).name("修改视角-z").onChange((num) => {
        cameraConfg.viewZ = num;
        camera.position.set(cameraConfg.viewX, cameraConfg.viewZ, cameraConfg.viewY);
      });
  4. 最后的效果

相关推荐
军军君0118 天前
Three.js基础功能学习十五:智能黑板实现实例二
开发语言·前端·javascript·vue.js·3d·threejs·三维
军军君0119 天前
Three.js基础功能学习十八:智能黑板实现实例五
前端·javascript·vue.js·3d·typescript·前端框架·threejs
军军君0119 天前
Three.js基础功能学习十六:智能黑板实现实例三
前端·javascript·css·vue.js·3d·前端框架·threejs
军军君0119 天前
Three.js基础功能学习十四:智能黑板实现实例一
前端·javascript·css·typescript·前端框架·threejs·智能黑板
陶甜也20 天前
3D智慧城市:blender建模、骨骼、动画、VUE、threeJs引入渲染,飞行视角,涟漪、人物行走
前端·3d·vue·blender·threejs·模型
YAY_tyy1 个月前
Vue3 + Three.js 实战:自定义 3D 模型加载与交互全流程
前端·javascript·vue.js·threejs
loriloy1 个月前
Three.js初学者到高级开发工程师的完整学习路径
threejs
ai超级个体1 个月前
前端下午茶:这 3 个网页特效建议收藏(送源码)
前端·three.js·threejs·网页设计·vibe coding·网页灵感·网页分享
css在哪里1 个月前
小程序版 Three.js 入门 Demo(完整可运行)
3d·小程序·threejs
ai超级个体1 个月前
金三银四,一个面试官连连夸赞的个人网页技术分享
前端·面试·three.js·threejs·网页设计·网页灵感·网页分享