在 Three.js 构建的 3D 世界中,粒子系统(Particle System)是一种轻量且极具视觉冲击力的技术。它用成千上万个微小的平面或点(通常是一张永远面向相机的纹理)来表现火焰、烟雾、雨雪、星空、魔法光效等难以用实体模型描述的自然现象。相比于由成千上万个Mesh组成的场景,粒子系统通过Points对象能够以极低的性能开销绘制海量对象,是实现梦幻 3D 效果的核心手段。
一、粒子系统的核心概念
1.1 Three.js 中的粒子:Points 与 PointsMaterial
- Points:继承自
Object3D,是容器,负责管理所有粒子个体。 - PointsMaterial:专门为粒子设计的材质,具有几个关键特性:
size:粒子大小(像素或世界单位)。map:纹理贴图(圆形、星形、雪花等)。color:顶点颜色(可统一或按粒子不同)。