拾光记录
218个文档 导航 作者 Gitee
随笔记录4
Hexo博客:基础使用Hexo博客:Next主题Hexo博客:Next进阶使用Hexo博客:Next高级配置
前端知识4
基础知识17
Vue框架19
UniApp14
微信小程序1
Java编程6
Java基础15
SpringBoot31
SpringMVC18
MyBatis9
SpringCloud15
中间件2
数据库4
MySQL13
Redis8
MongoDB10
其他数据库1
Python编程6
Python基础知识Python语法yolo目标检测OpenCV的使用及树莓派平台condauv管理工具
Linux12
Linux常用命令Jar启动脚本VirtualBox安装CentOSVirtualBox安装Ubuntu树莓派安装及使用frp内网穿透ArchLinux:基础系统安装ArchLInux:图形化界面安装ArchLinux:常用软件ArchLinux:深度优化ArchLinux:NiriArchLinux:模块记录
软件工具12
IDEAGitMavenGradleNginx安装Nginx配置JMeter压测OllamaRustFSPicGoVSCodeDocker
创意设计2
Blender:入门知识UI设计基础知识
AI相关9
Claude CodeHermes AgentOpenAI基本使用OpenAI工具调用OpenAI记忆管理OpenAI推理执行OpenAI开发框架Langchainllama.cpp

网格辅助

GridHelper:用于显示网格辅助

const gridHelper = new THREE.GridHelper(30, 30, 0xff0000);
scene.add(gridHelper);

坐标辅助

// 坐标辅助,绿色Y轴,红色X轴,蓝色Z轴
const axesHelper = new THREE.AxesHelper(5);
scene.add(axesHelper);

轨道控制器

使用方式:

import { OrbitControls } from 'three/addons/controls/OrbitControls.js'
const controls = new OrbitControls(camera, renderer.domElement)

注意:最好配合动画函数,不然需要手动渲染

惯性

// 是否开启惯性
controls.enableDamping = true;
// 阻尼惯性有多大
controls.dampingFactor = 0.05;
// 是否自动旋转
controls.autoRotate = true
// 围绕目标旋转的速度
controls.autoRotateSpeed = 0.05
// 禁用缩放
controls.enableZoom = false
// 禁止拖动
controls.enablePan = false
// 禁止移动
controls.enableRotate = false

// 必须在动画循环里调用.update()
controls.update()

相机位置和视角切换

// 更新相机位置
new TWEEN.Tween(camera.position)
  .to(
    {
      x: cameraPosition[item * 6],
      y: cameraPosition[item * 6 + 1],
      z: cameraPosition[item * 6 + 2],
    },
    4000
  )
  .easing(TWEEN.Easing.Exponential.InOut)
  .start();
new TWEEN.Tween(controls.target)
  .to(
    {
      x: cameraPosition[current * 6 + 3],
      y: cameraPosition[current * 6 + 4],
      z: cameraPosition[current * 6 + 5],
    },
    4000
  )
  .easing(TWEEN.Easing.Exponential.InOut)
  .start();
网格辅助坐标辅助轨道控制器惯性相机位置和视角切换