01-创建轨道控制器实现360度的查看物体(学习第一天)

创建轨道控制器来实现360度的查看物体,让相机围绕立方体运动,就像地球围绕太阳一样运动,去观察立方体。

1创建轨道控制器
参数:
1.相机,相机围绕目标运动。默认目标是原点。立方体在原点处。
2.渲染的画布dom对象,用于监听鼠标事件控制相机的围绕运动

// 导入轨道控制器
import { OrbitControls } from "three/examples/jsm/controls/OrbitControls";
// 创建轨道控制器
const controls = new OrbitControls(camera, renderer.domElement);

2.每一帧根据控制器更新画面
因为控制器监听鼠标事件之后,要根据鼠标的拖动,来控制相机围绕目标运动,并根据运动之后的效果,显示出画面来。为了保证画面流畅渲染,选择使用请求动画帧requestAnimationFrame,在屏幕渲染下一帧画面时触发回调函数来执行画面的渲染。

 // 每一帧根据控制器更新画面
    function render() {
      //如果后期需要控制器带有阻尼效果,或者自动旋转等效果,就需要加入controls.update()
      controls.update()
      renderer.render(scene, camera)
      //   渲染下一帧的时候就会调用render函数
      requestAnimationFrame(render)
    }

    render()

这里提到的 requestAnimationFrame 是浏览器专门为动画提供的API,运行的时候会自动优化地方的调用,如果页面没有激活状态下动画会自动暂停,有效节省CPU的开销,提高性能改善视觉效果

相关推荐

  1. 学习ArcGIS第一

    2024-07-14 06:18:05       43 阅读
  2. 学习编程第一

    2024-07-14 06:18:05       19 阅读
  3. 每天学习python30分钟(第二

    2024-07-14 06:18:05       32 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-14 06:18:05       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-14 06:18:05       71 阅读
  3. 在Django里面运行非项目文件

    2024-07-14 06:18:05       58 阅读
  4. Python语言-面向对象

    2024-07-14 06:18:05       69 阅读

热门阅读

  1. 持续集成的自动化之旅:Gradle在CI中的配置秘籍

    2024-07-14 06:18:05       23 阅读
  2. C++:虚函数相关

    2024-07-14 06:18:05       27 阅读
  3. helm系列之-构建自己的Helm Chart

    2024-07-14 06:18:05       22 阅读
  4. (算法)硬币问题

    2024-07-14 06:18:05       24 阅读
  5. 【代码复现】STAEformer

    2024-07-14 06:18:05       21 阅读
  6. python中的pickle模块和json模块

    2024-07-14 06:18:05       23 阅读
  7. ClickHouse实战第二章-ClickHouse 的安装调试

    2024-07-14 06:18:05       25 阅读
  8. Spring事件监听机制详解

    2024-07-14 06:18:05       22 阅读