Rate over Distance 的 movement-only emitter 独立为 GPU拖尾运行时路径,只为真正动态的轨迹部分保留动态语义。直接在线查看 GPU粒子与 GPU拖尾效果,重点验证还原度、帧率表现以及 Unity 全平台兼容覆盖,包含 WebGL2 与微信/抖音小游戏平台。
核心思路不是把 ParticleSystem 全部搬到运行时重算,而是把能离线固化的粒子提前烘焙,把必须实时生成的轨迹单独交给 GPU 处理,以最少消耗换取最大的粒子效果还原。
GPU粒子
* ParticleSystem 对比 GPU粒子ParticleSystem
GPU粒子
GPU拖尾
* ParticleSystem 拖尾 对比 GPU拖尾ParticleSystem 拖尾
GPU拖尾
巧妙之处就在于只计算真正需要动态的部分。能烘焙的提前烘焙,既保住效果还原,又把消耗压到更低,同时兼容 Unity 全平台、WebGL2 和微信/抖音小游戏。
适合非位移驱动粒子、序列帧粒子、静态轨迹粒子。继续沿用 Unity ParticleSystem 工作流制作特效,把位置、颜色、尺寸、旋转、UV 和序列帧等信息提前烘焙为 GPU 回放资源。
核心优势是“只离线固化适合固化的部分”。不在运行时重做整套粒子模拟,所以消耗更低,但画面还原更接近原始特效,同时实现 100% GPU 播放,不依赖运行时代码。
专门处理必须依赖位移变化的轨迹效果。把 movement-only emitter 从整套粒子效果里拆出来,运行时仅为真正需要动态轨迹的部分生成 GPU拖尾。
这样做避免了整套粒子全动态模拟。只对关键轨迹保留动态语义,所以拖尾既保留“跟着动”的真实感,又能获得极高帧率收益。
为追求性能,平衡性能与功能做了取舍,以下是不支持的特性。
- GPU粒子是对单次播放效果的还原,不支持每次随机发射。
- 不支持实时碰撞。
- 不支持 Trigger 模块运行时事件。
- 不支持 Lights 模块运行时生成 Light。
- 不支持 External Forces 的运行时实时响应。
- 不支持 Custom Data。
- 不支持 Stretch 的 Camera Velocity Scale。
- 不支持 Stretch 的 Freeform Stretching。
- 不支持 ParticleSystemRenderer 的 Sort Mode = ByDistance。
- 不支持 OldestInFront / YoungestInFront 的精确等价还原。
- 不支持 sortingFudge 对外部透明物体排序的完全等价还原。
- 只支持通过材质参数做简单控制,例如播放速度、散开距离。
- 不支持带 Rate over Time 的 emitter。
- 不支持带 Burst 的 emitter。
- 不支持 Mesh 粒子拖尾。
- GPU拖尾模式只保留 movement-only trail emitter,其余静态粒子不会参与构建。
- 不支持复杂碰撞反馈。
- 不支持力场驱动等重度运行时动态控制。
- 拖尾粒子中夹杂的非拖尾粒子不会被还原。
- 因优先保障性能,未支持拖尾透明渲染排序。
- 生成物外部 MeshRenderer 的 SortingLayer / Order 固定为 Default / 0。
一次付费授权,配合持续迭代更新与源码交付,更适合要长期维护、逐步替换性能热点特效的项目团队。
价格
授权模式直接:一次付费永久授权使用,不走订阅,不增加持续扣费压力。
旧项目无痛兼容:直接转换即可接入现有项目,不要求重构原有粒子工作流和特效资源体系。
工程可控性更高:运行时源码交付,便于二次开发、问题定位与长期维护。
- 核心收益是用更少运行时消耗,换取更高粒子还原度与更大的兼容覆盖面。
- GPU粒子与动态拖尾形成清晰分工,不需要为每类效果维护完全不同的技术路线。
- 兼容 Unity 全平台,包含 WebGL2,并支持微信 / 抖音小游戏平台。
- 适合性能瓶颈已经明确,但又不想重做整套特效管线的项目团队。
- 支持长期更新迭代,适合旧项目持续优化与新项目前置选型。
服务
交付内容聚焦落地:提供测试包下载、产品说明、视频教程与售后答疑,便于接入前先判断方案适配度。