发布时间:2026/7/18 13:34:17
Three.js 花瓣雨教程 花瓣雨 ·Flower Rain· ▶ 在线运行案例案例合集三维可视化功能案例threehub.cn开源仓库github地址https://github.com/z2586300277/three-cesium-examples400个案例代码:网盘链接你将学到什么OrbitControls 相机轨道交互requestAnimationFrame渲染循环与resize自适应效果说明本案例演示花瓣雨效果基于 WebGL 实现「花瓣雨」可视化效果附完整可运行源码核心用到 OrbitControls。建议先打开文首在线案例查看动态画面再对照下方源码逐步理解。核心概念OrbitControls轨道旋转缩放开enableDamping时每帧需controls.update()。实现步骤搭建 Scene / Camera / Renderer 与 OrbitControlsrAF 循环中 update 并 render代码要点import * as THREE from three;import { OrbitControls } from three/examples/jsm/controls/OrbitControls.js;const box document.getElementById(box);const scene new THREE.Scene(); /**花瓣分组*/ const petal new THREE.Group();const width box.clientWidth; const height box.clientHeight; //窗口宽高比 const k width / height; //三维场景的显示的上下范围 const s 200; const camera new THREE.OrthographicCamera(-sk, sk, s, -s, 1, 1000);const renderer new THREE.WebGLRenderer();function create() { //设置相机位置 camera.position.set(0, 200, 500) camera.lookAt(scene.position)//设置渲染区域尺寸 renderer.setSize(width, height) //设置背景颜色//body元素中插入canvas对象 box.appendChild(renderer.domElement)// const axisHelper new THREE.AxisHelper(1000); // scene.add(axisHelper)var flowerTexture1 new THREE.TextureLoader().load(FILE_HOST examples/flowerAndHouse/img/flower1.png); var flowerTexture2 new THREE.TextureLoader().load(FILE_HOST examples/flowerAndHouse/img/flower2.png); var flowerTexture3 new THREE.TextureLoader().load(FILE_HOST examples/flowerAndHouse/img/flower3.png); var flowerTexture4 new THREE.TextureLoader().load(FILE_HOST examples/flowerAndHouse/img/flower4.png); var flowerTexture5 new THREE.TextureLoader().load(FILE_HOST examples/flowerAndHouse/img/flower5.png); var imageList [flowerTexture1, flowerTexture2, flowerTexture3, flowerTexture4, flowerTexture5];for (let i 0; i 400; i) { var spriteMaterial new THREE.SpriteMaterial({ map: imageList[Math.floor(Math.random() * imageList.length)],//设置精灵纹理贴图 }); var sprite new THREE.Sprite(spriteMaterial); petal.add(sprite);sprite.scale.set(40, 50, 1); sprite.position.set(2000(Math.random() - 0.5), 500Math.random(), 2000 * (Math.random() - 0.5)) } scene.add(petal) }function render() { petal.children.forEach(sprite { sprite.position.y - 5; sprite.position.x 0.5; if (sprite.position.y - height / 2) { sprite.position.y height / 2; } if (sprite.position.x 1000) { sprite.position.x -1000 } });renderer.render(scene, camera)requestAnimationFrame(render) }create() render()const controls new OrbitControls(camera, renderer.domElement); controls.autoRotate true;完整源码GitHub小结本文提供花瓣雨完整 Three.js 源码与在线 Demo建议先运行案例再改 uniform/参数做二次实验更多 Three.js 实战案例见 three-cesium-examples 合集 与 GitHub 开源仓库

相关新闻

2026/7/18 13:34:17

基于LeRobot与SO-101机械臂的ACT模型实战:从数据采集到实机部署

1. 项目概述:从零到一,让机械臂学会“看”和“抓” 如果你对机器人、具身智能或者强化学习感兴趣,并且手头恰好有一台像SO 101这样的桌面级机械臂,那么“训练一个ACT模型”这件事,听起来可能既酷炫又遥远。我最近花了大…

2026/7/18 13:34:17

9大网盘直链获取神器:LinkSwift让你告别龟速下载的终极指南

9大网盘直链获取神器:LinkSwift让你告别龟速下载的终极指南 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 /…

2026/7/18 13:34:17

剑网1武林联赛120级技能全解析:从入门到精通实战指南

在《剑网1》这款经典武侠游戏中,武林联赛一直是玩家们热衷的竞技舞台。随着游戏版本的迭代,120级技能系统逐渐成为影响战局的关键因素。无论是新手玩家还是资深侠客,掌握120技能的运用技巧都能在联赛中占据优势。本文将系统解析各门派120技能…

2026/7/18 16:04:30

DownKyi:解锁B站视频离线观看的实用秘籍

DownKyi:解锁B站视频离线观看的实用秘籍 【免费下载链接】downkyi 哔哩下载姬downkyi,哔哩哔哩网站视频下载工具,支持批量下载,支持8K、HDR、杜比视界,提供工具箱(音视频提取、去水印等)。 项…

2026/7/18 16:04:30

STM32 使用LCD1602简单显示字符

一、概述 1. 功能说明 本驱动适配 LCD1602 8 位并行模式,完全对标原 51 单片机逻辑迁移至 STM32,实现 LCD 初始化、清屏、指定坐标字符串打印;硬件引脚固定 PB 组,底层采用标准库 GPIO 操作,不依赖 HAL 库。 2. 硬件引…

2026/7/17 5:59:06

3步解锁音乐自由:ncmdumpGUI终极NCM文件解密转换指南

3步解锁音乐自由:ncmdumpGUI终极NCM文件解密转换指南 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换,Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 你是否曾在网易云音乐下载了心爱的歌曲&#…

2026/7/18 10:53:38

CANoe 19 SP3 配置 GB/T 27930-2023 A类系统:3步搭建BMS仿真测试环境

CANoe 19 SP3 配置 GB/T 27930-2023 A类系统:3步搭建BMS仿真测试环境随着新能源汽车行业的快速发展,充电通信协议的标准化和测试验证变得尤为重要。GB/T 27930-2023作为中国智能充电协议的最新版本,对充电机与电动汽车之间的通信提出了更严格…

2026/7/17 7:39:19

3步搞定RTL8852BE驱动:从零开始配置Wi-Fi 6网卡

3步搞定RTL8852BE驱动:从零开始配置Wi-Fi 6网卡 【免费下载链接】rtl8852be Realtek Linux WLAN Driver for RTL8852BE 项目地址: https://gitcode.com/gh_mirrors/rt/rtl8852be 还在为Linux系统无法识别RTL8852BE Wi-Fi 6网卡而烦恼吗?&#x1f…

2026/7/18 0:00:24

某智驾大牛创业

作者:钟声编辑:Mark出品:红色星际头图:智能驾驶图片据悉,国内某头部智驾公司端到端模型技术大牛Z投身创业,并且已经拿到融资。Z不仅是该头部公司内部最年轻的对标阿里P10级别技术负责⼈,更是业内…

2026/7/17 14:59:44

3个高效策略:快速掌握Axure中文界面配置

3个高效策略:快速掌握Axure中文界面配置 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包。支持 Axure 11、10、9。不定期更新。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-cn 还在为Axure RP的英文界面感…