Three.js 相机控件教程
相机控件 ·OrbitControls· ▶ 在线运行案例案例合集三维可视化功能案例threehub.cn开源仓库github地址https://github.com/z2586300277/three-cesium-examples400个案例代码:网盘链接你将学到什么OrbitControls的基本用法与事件监听手动渲染模式vs动画循环渲染阻尼enableDamping的配置要点效果说明鼠标左键旋转、滚轮缩放、右键平移围绕场景中心轨道式观察立方体。本案例在change事件里按需渲染而非持续 rAF。核心概念import { OrbitControls } from three/examples/jsm/controls/OrbitControls.js;const controls new OrbitControls(camera, renderer.domElement);| 操作 | 默认按键 | |------|---------| | 旋转 | 左键拖拽 | | 缩放 | 滚轮 | | 平移 | 右键拖拽 |两种渲染策略1. 按需渲染本案例controls.addEventListener(change, () {renderer.render(scene, camera); }); // 静止时不消耗 GPU2. 动画循环推荐配合阻尼controls.enableDamping true;function animate() { requestAnimationFrame(animate); controls.update(); // 阻尼必须每帧 update renderer.render(scene, camera); }实现步骤创建受光场景Lambert DirectionalLight Helper初始化 OrbitControls监听change→render代码要点import * as THREE from three; import { OrbitControls } from three/examples/jsm/controls/OrbitControls.js// 场景 const scene new THREE.Scene();// 创建场景 const geometry new THREE.BoxGeometry(10, 60, 100); //几何体 const material new THREE.MeshLambertMaterial(); //材质 const mesh new THREE.Mesh(geometry, material); //网格模型 mesh.position.set(0, 10, 0); //网格模型位置 scene.add(mesh); //场景添加网格模型// AxesHelper const axesHelper new THREE.AxesHelper(150); scene.add(axesHelper);// 光源 const pointLight new THREE.DirectionalLight(0xff00ff, 1.0); //颜色、强度 pointLight.position.set(200, 300, 400); //位置 scene.add(pointLight); //点光源添加到场景中// 光源参考线 const dirLightHelper new THREE.DirectionalLightHelper(pointLight, 5, 0xff0000); scene.add(dirLightHelper);// 相机 const camera new THREE.PerspectiveCamera(); //相机 camera.position.set(200, 200, 200); //相机位置 camera.lookAt(0, 10, 0); //相机观察位置// 渲染器 const renderer new THREE.WebGLRenderer(); // 创建渲染器 const box document.getElementById(box); renderer.setSize(box.clientWidth, box.clientHeight); //渲染区域 renderer.render(scene, camera); //执行渲染 box.appendChild(renderer.domElement);// 设置相机控件轨道控制器OrbitControls const controls new OrbitControls(camera, renderer.domElement); // 如果OrbitControls改变了相机参数重新调用渲染器渲染三维场景 controls.addEventListener(change, function () { renderer.render(scene, camera); //执行渲染操作 console.log(camera.position) });//监听鼠标、键盘事件完整源码GitHub小结本文提供相机控件完整 Three.js 源码与在线 Demo建议先运行案例再改 uniform/参数做二次实验更多 Three.js 实战案例见 three-cesium-examples 合集 与 GitHub 开源仓库

相关新闻

【AI大模型进阶】解密“思维链”:让AI做数学题时“一步一步想”有多重要?

【AI大模型进阶】解密“思维链”:让AI做数学题时“一步一步想”有多重要?

【AI大模型进阶】解密“思维链”:让AI做数学题时“一步一步想”有多重要? 这是【AI大模型进阶】系列第二十三课。 上一节课我们用「鸡兔同笼」实测得出一个关键结论:小参数模型智商有限,多步逻辑推理极易出错,哪怕调低温度、优化提示词,依然无法规避逻辑断层、计算失误…

2026/7/3 17:11:14阅读更多 →
前端Monorepo依赖管理优化:pnpm硬链接与按需安装实战

前端Monorepo依赖管理优化:pnpm硬链接与按需安装实战

大型 Monorepo 的依赖管理之痛 当项目规模增长到上百个包(packages),node_modules 目录可能膨胀到数 GB,每次 npm install 或 yarn install 耗时动辄 5~10 分钟。更糟的是,不同包之间可能重复安装同一版本的依赖&#…

2026/7/3 17:06:13阅读更多 →
Playwright三大Agent实战:从测试生成到自愈的自动化测试新范式

Playwright三大Agent实战:从测试生成到自愈的自动化测试新范式

1. 项目概述:从“写测试”到“管测试”的范式转移如果你和我一样,在软件测试领域摸爬滚打了几年,一定对“测试代码维护”这件事又爱又恨。爱的是,一套健壮的自动化测试是产品质量的“金钟罩”;恨的是,随着产…

2026/7/3 17:06:13阅读更多 →
2026Word文档过大压缩全解:内置功能、线上工具、小程序多类实操方法

2026Word文档过大压缩全解:内置功能、线上工具、小程序多类实操方法

随着图文、表格、高清原图、修订记录不断添加,Word 文件体积会持续膨胀,传输、存储、上传都会受限。文档臃肿大多来源于内嵌高清图片、留存修订批注、老旧 doc 格式、嵌入多余字体、隐藏冗余内容几类问题。本文整合软件自带瘦身操作、桌面办公工具、在线…

2026/7/3 18:51:28阅读更多 →
GitHub Desktop中文汉化工具:3分钟告别英文界面困扰

GitHub Desktop中文汉化工具:3分钟告别英文界面困扰

GitHub Desktop中文汉化工具:3分钟告别英文界面困扰 【免费下载链接】GitHubDesktop2Chinese GithubDesktop语言本地化(汉化)工具 【GitHub桌面客户端中文汉化】 项目地址: https://gitcode.com/gh_mirrors/gi/GitHubDesktop2Chinese 还在为GitHub Desktop的…

2026/7/3 18:51:28阅读更多 →
BiSheng JDK 21故障排查手册:常见问题诊断与解决方案

BiSheng JDK 21故障排查手册:常见问题诊断与解决方案

BiSheng JDK 21故障排查手册:常见问题诊断与解决方案 【免费下载链接】bishengjdk-21 BiSheng JDK 21 is a high-performance, production-ready distribution of OpenJDK 21. 项目地址: https://gitcode.com/openeuler/bishengjdk-21 前往项目官网免费下载&…

2026/7/3 18:51:28阅读更多 →
一文吃透 AI Agent 开发11大核心问题:基础 / 深化 / 进阶三层知识汇总

一文吃透 AI Agent 开发11大核心问题:基础 / 深化 / 进阶三层知识汇总

共11个知识点 按认知难度分为入门 → 深化 → 进阶 三大阶段 🟢 入门层 (Q1-Q3)🟡 深化层 (Q4-Q7)🔴 进阶层 (Q8-Q11) 第一阶段:基础入门层 — 理解核心概念与闭环Q1 - Q3 Q:核心流程Q1: Agent 端到端的运行流程是怎样的&#…

2026/7/3 18:51:28阅读更多 →
AI工作流自动化工具链深度评估 —— n8n/Zapier/Make实战能力对比

AI工作流自动化工具链深度评估 —— n8n/Zapier/Make实战能力对比

AI工作流自动化工具链深度评估 —— n8n/Zapier/Make实战能力对比 一、工作流触发条件的设计范式 自动化工作流的核心起点是触发器设计。不同场景需要不同的触发策略。常见模式包括四种。 Webhook触发器适合外部系统回调。比如GitHub PR事件、支付回调通知。n8n提供原生的Webho…

2026/7/3 18:51:28阅读更多 →
构建纵深防御体系:从系统到应用的全栈安全自检清单实践

构建纵深防御体系:从系统到应用的全栈安全自检清单实践

1. 项目概述:为什么我们需要一份自己的安全自检清单?干了这么多年运维和开发,我见过太多因为“没想到”而引发的安全事件。服务器被挂马、数据库被拖库、用户信息泄露……很多时候,问题就出在一些看似不起眼的环节上。我们总把目光…

2026/7/3 18:46:28阅读更多 →
AI Coding 六个月真实ROI账本:产品经理的血泪教训,研发的冷静忠告

AI Coding 六个月真实ROI账本:产品经理的血泪教训,研发的冷静忠告

6个月前的2025年12月,Boris Cherny 公开宣布自己卸载了 IDE。一时间,Vibe Coding 成了全行业最热的话题。6个月后,当我们回过头来拉一份真实账本,发现事情远没有"一句话生成一个App"那么浪漫。本文从产品经理和研发两个…

2026/7/3 14:18:39阅读更多 →
审计来了,数据权限全开——审计走了,怎么确保权限全部关掉?

审计来了,数据权限全开——审计走了,怎么确保权限全部关掉?

引言:审计结束三个月了,审计员的权限还没关某城商行每年按照监管要求开展至少一次数据安全审计。审计期间,内审部门需要抽样检查各类业务数据——交易流水、客户信息、员工操作日志、权限配置记录。这些数据分布在不同系统中,审计…

2026/7/3 14:38:35阅读更多 →
LV3296与PIC18F45K22的UART通信与USB扩展方案

LV3296与PIC18F45K22的UART通信与USB扩展方案

1. LV3296与PIC18F45K22的硬件搭档解析在嵌入式数据采集系统中,LV3296条形码扫描模块与PIC18F45K22微控制器的组合堪称经典搭配。LV3296作为一款工业级条码扫描头,其核心是一颗高性能CMOS图像传感器,配合专用解码芯片,能自动识别包…

2026/7/3 0:03:41阅读更多 →
AI初创生存指南:6个月完成可信度验证闭环

AI初创生存指南:6个月完成可信度验证闭环

1. 这不是“逆袭指南”,而是一份AI初创公司真实生存手记“How To Beat Odds As an AI Startup?”——这个标题乍看像一句热血口号,但在我带过7个从0到1的AI产品团队、亲手踩过融资失败、技术债崩盘、客户POC卡在最后一公里等23类典型坑之后,…

2026/7/3 0:03:41阅读更多 →
多模态+推理链+RAG 2.0+智能体:工业级AI系统落地四支柱

多模态+推理链+RAG 2.0+智能体:工业级AI系统落地四支柱

1. 这不是又一篇“AI趋势速览”,而是一份实操者手记:当多模态、推理链、检索增强与智能体协作真正撞进工程现场“LAI #73”这个编号本身就像一个暗号——它不属于某家大厂的白皮书,也不是学术会议的议程表,而是长期泡在模型训练集…

2026/7/3 0:03:41阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/3 1:12:46阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/3 1:36:36阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/3 2:08:15阅读更多 →