# three-ps **Repository Path**: withoutRock/three-ps ## Basic Information - **Project Name**: three-ps - **Description**: threejs particle system - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-04-08 - **Last Updated**: 2025-10-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SPE - TypeScript 粒子系统引擎 SPE(Simple Particle Engine)是一个基于 TypeScript 和 Three.js 的轻量级粒子系统引擎。它适用于 WebGL 可视化、动画特效、科学模拟等场景,支持自定义粒子发射器、力场、约束等模块化扩展。 ## 打包说明 build命令打包为esm模块,使用rollup打包,打包后在dist文件夹下生成spe.js文件,该文件为esm模块,可以直接在浏览器中使用。 暂无dts打包,但是可以直接用build.js把多个ts文件合并成一个spe.ts文件,结果可能会有些东西需要手动修改一下。 ## 特性 轻量级:仅包含核心功能,易于集成 模块化:粒子发射器、力场、约束等模块化设计,易于扩展 ## 主要功能 支持多种粒子属性(位置、速度、颜色、角度、大小、生命周期等) 可自定义粒子发射器(Emitter)、力场(ForceField)、约束(Constraint) Tween 插值支持,粒子属性可随时间变化 与 Three.js 深度集成,易于在 3D 场景中使用 代码结构清晰,易于扩展与维护 ## 目录结构 src/ Emitter.ts // 粒子发射器 Particle.ts // 粒子对象 ForceField.ts // 力场定义 Constaint.ts // 约束条件 ParticleSystem.ts // 粒子系统主控 Tween.ts // 插值工具 util.ts // 工具函数 start.ts // 示例入口 spe.ts // 合并后的主文件 build.js // 合并脚本 ## 快速开始 安装依赖(需先安装 three): bash npm install three 合并源码(可选): bash node build.js 在你的项目中引入 spe.ts 并使用相关类创建粒子系统。 依赖 three.js - 3D 渲染引擎 示例 typescript import { ParticleSystem, Emitter, GravityForceField } from './spe'; // 创建粒子系统、发射器和力场,添加到 Three.js 场景中 ## TODO 任意形状的发射源。 形状顶点发射源 面发射源 体发射源 发射初速度使用发射源法向、切向。 常规demo 粒子轨迹效果 火焰 雨 雪 ## 许可证 MIT