Three.js 粒子系统与渲染机制教程

本教程基于示例目录内的 Three.js r174(0.174.0)。先用 WebGLRenderer 和 Three.js 原生 API 理解混合、深度、遮挡,再逐步实现粒子的生命周期、CPU/GPU 路线和具体效果。第三方库放在系列末尾,并以兼容 r174 的版本讲解。

阅读与运行

  1. 按编号阅读根目录中的章节正文,并打开相应的可运行示例。
  2. 调节示例参数,先观察现象,再回到正文理解原因。
  3. 在 exercises/ 做对应章节的独立练习;参考答案放在练习文件末尾,不混入正文。

从 particle-system/ 目录执行:

cd examples
python -m http.server 8000

然后打开 阶段 00 最小示例:http://localhost:8000/stage-00/。页面使用同目录的 three.module.js 和 three.core.min.js,不依赖仓库根目录的构建文件。不要直接通过 file:// 打开。若端口 8000 已被占用,可换端口并修改地址中的端口号。

当前进度

阶段 00—09、正文第 01—20 章已完成。 教程正文与独立练习分开,章节、答案、示例及排错附录可从下方进入。

内容 入口 作用
阶段计划 PLAN.md 01—20 章的编写阶段、交付物和技术边界
写作约定 WRITING-GUIDE.md 正文、练习、答案与示例的共同标准
最小示例 示例说明 · 运行页面 确认本地服务器、模块导入和 WebGL 渲染正常
练习区 exercises/README.md 练习与参考答案的组织方式

第一部分:颜色、混合与透明纹理

教程正文 独立练习 可运行示例
01 从片元到最终像素 练习与答案 像素路径
02 混合模式是什么,如何选择 练习与答案 四种混合模式
03 透明纹理、黑边与颜色空间 练习与答案 贴图边缘对照

阶段 01 示例说明与入口列出了每个页面的预期画面和关键控件。

第二部分:深度与绘制顺序

教程正文 独立练习 可运行示例
04 深度测试:谁能占据这个像素 练习与答案 墙与光斑
05 深度写入:透明烟片为何相互硬裁 练习与答案 重叠烟片
06 颜色写入与绘制顺序 练习与答案 不可见遮挡体与叠色

阶段 02 示例说明与入口列出预期画面、参数和源码位置。

第三部分:透明排序与遮挡剔除

教程正文 独立练习 可运行示例
07 透明对象排序 练习与答案 相交烟幕
08 物体遮挡与遮挡剔除 练习与答案 墙后粒子

阶段 03 示例说明与入口列出两页的预期画面、参数和源码位置。

粒子模型与生命周期(阶段 04)

教程正文 独立练习 可运行示例
09 粒子系统:发射器与粒子个体 练习与答案 持续火焰
10 生命周期与属性曲线 练习与答案 一次性爆炸

阶段 04 示例说明与入口列出预期画面、控件与源码位置。

时间、池化与数学(阶段 05)

教程正文 独立练习 可运行示例
11 时间、发射率与粒子池 练习与答案 更新频率与槽位复用
12 随机分布与运动积分 练习与答案 圆盘采样 · 喷泉、雨、爆炸

阶段 05 示例说明与入口列出三页的预期画面与源码位置。

原生 CPU 路线(阶段 06)

教程正文 独立练习 可运行示例
13 THREE.Points 基础 练习与答案 Points 星空
14 Billboard 与纹理图集 练习与答案 平面与 Sprite
15 动态 BufferGeometry 练习与答案 雪与烟

阶段 06 示例说明与入口列出三页的预期画面、控件与运行方式。

GPU 与软粒子(阶段 07)

教程正文 独立练习 可运行示例
16 GPU 解析式粒子 练习与答案 GPU 星尘
17 基于场景深度的软粒子 练习与答案 烟雾硬边与软边

阶段 07 示例说明与入口列出两页的预期画面、源码与验收条件。

特效与群体(阶段 08)

教程正文 独立练习 可运行示例
18 七种粒子特效配方 练习与答案 烟、火、雨、雪、爆炸、星光、魔法
19 鸟群与人群:邻居行为 练习与答案 鸟群与独立运动

阶段 08 示例说明与入口列出两页的运行方式、控制项和验收条件。

性能与第三方库(阶段 09)

教程正文 独立练习 可运行示例
20 性能诊断与 three.quarks 练习与答案 性能实验 · 原生与库火焰

阶段 09 示例说明与入口记录版本、运行方式与浏览器验收;排错附录 A按画面、深度、更新和性能症状定位问题。

全系列阅读路线

部分 章节 主题
一 01—03 像素生成、混合模式、透明纹理
二 04—08 深度测试、深度写入、颜色写入、排序与遮挡剔除
三 09—17 粒子模型、生命周期、池化、运动、Points、Billboard、GPU 与软粒子
四 18—20 特效配方、群体行为、性能与第三方库

分阶段编写计划记录了各阶段的交付范围。所有示例以本仓库 r174 为技术基线;第 20 章额外固定了兼容版本的第三方库。