当前位置: 首页 > news >正文

threejs使用gui改变相机的参数

调节相机远近角度

  1. 定义相机的配置:
    const cameraConfg = reactive({ fov: 45 })
  2. gui中加入调节fov的方法
      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. 定义参数:
    const cameraConfg = reactive({fov: 45,viewX: 0, viewY: 20, viewZ: 10
    });
  2. 初始化相机,设置相机位置。
    // 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的配置
      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. 最后的效果

 

http://www.lryc.cn/news/131764.html

相关文章:

  • 计算机竞赛 图像识别-人脸识别与疲劳检测 - python opencv
  • PHP8的字符串操作3-PHP8知识详解
  • Unity VR:XR Interaction Toolkit 输入系统(Input System):获取手柄的输入
  • 智慧工地一体化云平台源码:监管端、工地端、危大工程、智慧大屏、物联网、塔机、吊钩、升降机
  • C# 表达式体方法 C#算阶乘
  • 互联网发展历程:保护与隔离,防火墙的安全壁垒
  • 基于IMX6ULLmini的linux裸机开发系列七:中断处理流程
  • Postman软件基本用法:浏览器复制请求信息并导入到软件从而测试、发送请求
  • react go实现用户历史登录列表页面
  • 如何做好服务性能测试
  • 速通蓝桥杯嵌入式省一教程:(五)用按键和屏幕实现嵌入式交互系统
  • 虚拟拍摄,如何用stable diffusion制作自己的形象照?
  • 开启AI创新之旅!“华为云杯”2023人工智能应用创新大赛等你来挑战
  • npm和node版本升级教程
  • C++入门篇9---list
  • STM32基于CubeIDE和HAL库 基础入门学习笔记:物联网项目开发流程和思路
  • Hive on Spark (1)
  • PostgreSQL基本操作总结
  • Jakarta 的 Servlet 下BeanUtils的日期处理 和JSTL 的使用
  • 聚焦电力行业CentOS迁移,麒麟信安受邀参加第六届电力信息通信新技术大会暨数字化发展论坛并发表主题演讲
  • 华为OD真题--分月饼--带答案
  • 帆软大屏2.0企业制作
  • 【学习笔记之opcua】使用Python获取opcua数据
  • apache doris和StarRocks的区别
  • 文心一言最新重磅发布!
  • css整体使用
  • LeetCode1578. 使绳子变成彩色的最短时间
  • 如何在机器学习中实现分类?
  • 华为网络篇 RIP的负载均衡-29
  • 前端面试的性能优化部分(10)每天10个小知识点