本次提升了自定义GPU粒子特效的能力,新增了Samples示例,通过使用插件图封装函数和hlsl代码接口,演示自定义shader特效。提供了CustomData自定义特效 和 粒子溶解特效 的示例。
插件已接近"最终版"稳健!由于插件的设计思路非常巧妙(还原整个粒子单次模拟效果), 协议规则非常健壮,效果已经达到设计目标。后续会根据用户使用需求和更广泛的测试反馈 锦上添花。
复杂本次更新继续围绕还原度、构建灵活性和资源体积优化展开,重点补强了 Blend 混合适配、Trail Snapshot 表现,以及循环特效与批量构建的稳定性。单材质模式下,现可更好支持 Alpha、Additive、Premultiply、Alpha Blended Premultiply 等常见 Blend 还原;其中 Multiply、Soft Additive 等 Blend 在单材质同时混用多种混合方式时支持仍有限。若同一特效需要同时精准还原多种 Blend,可取消勾选合并材质,改为多材质输出,再按每种 Blend 分别自定义适配,实现更精确的最终效果。
- 新增EmitterIndex用于判断粒子属于哪个ParticleSystem发射器。便于自定义shader特效
- 新增自定义溶解特效示例
- 新增 Blend 映射表配置,内置 Legacy / URP 常用粒子材质的混合识别规则,同时支持按项目需求追加自定义规则
- 新增普通 GPUParticle 的多材质输出模式。现在可在保留合批方案之外,按 Blend 自动分桶输出多材质,更适合同一特效里混合多种透明叠加方式的场景,也方便用户对每种 Blend 单独做自定义适配,获得更精准的还原效果
- Trail Snapshot 新增 Billboard 回放支持,更多带尾迹的粒子特效可以更完整地转换为 GPU 版本
- 新增Samples示例,演示自定义构建工作流、在自定义GPU粒子shader中使用CustomData自定义特效。
- 优化循环特效的自动识别与烘焙策略,Loop 粒子和循环拖尾的首尾衔接更自然,播放结果更稳定
- 优化 GPUParticle 与 Trail Snapshot 的数据组织方式,显著降低 Texture 大小,进一步减少内存与带宽压力
- 优化构建器界面提示与检查项,针对自定义 Shader、Blend 混合适配等场景给出更明确的引导
- 优化批量构建、图集合并和旧资源清理流程,整体构建输出更加稳定、整洁
- 不支持compute的平台同意回滚到Texture Baked合批渲染模式(同WebGL渲染)
- 修复批量构建时合并图集偶发错乱的问题。
- 修复 SubEmitter 名称重复时,部分粒子只能成功显示一个的异常。
- 修复部分 Blend 混合模式识别不准确、还原结果偏差的问题,并补充更多内置映射项。
- 修复 Renderer Flip、部分 Billboard 尺寸异常等还原问题,提升粒子显示一致性。
- 修复 Trail Snapshot 在部分旋转根节点、模拟空间和材质分离场景下的显示偏差问题。
重构 V1 版本协议,完整补充 ParticleSystem 语义,大幅提升粒子还原度。使用Epic Toon FX粒子包测试,全部粒子接近 100% 成功还原。
- 更新 GPU 粒子协议,扩展更完整的支持能力,进一步提升特效还原度。
- 优化 Build Mode = Auto 的自动识别算法,从根源降低静态粒子误判为 GPUTrail,或动态拖尾误判为 GPUParticle 。
- 优化静态带 Trail 特效的构建链路,使 TrailSnapshot 与普通粒子合并输出时更稳定,构建结果更完整。
- 优化 Trail Snapshot 的材质采样逻辑。Trail 现在独立读取自己的材质、贴图、颜色、Blend 与 UV 变换,不再误用粒子本体材质。
- 优化 Ribbon Trail 的手工烘焙回退逻辑,改进 splitSubEmitterRibbons、limitVelocityOverLifetime 等复杂组合场景下的可构建率和视觉还原度。
- 优化 TrailSnapshot 的颜色、透明度和贴图还原表现,特别是在多材质 Trail、SubEmitter Trail、Color over Trail 等场景下的视觉一致性。
- 优化 WebGL、移动端和大批量拖尾场景下的渲染适配与运行稳定性。
- 优化批量构建反馈、命名、资源组织和构建输出流程,减少重复资产与无效残留文件。
- 合并图集后的子图支持 Wrap Mode。
- 优化 Pivot、3D Start Rotation、Horizontal / Vertical Billboard 等互斥语义,避免相互干扰效果。
- Texture Sheet Animation 完整支持 Single Row / Whole Sheet。
- 2D、3D 全适配协议。
- 简化构建资源名等若干细节。
GPUParticle(GPU粒子):将已有 ParticleSystem Prefab 转换成 GPU 粒子,自动合并 Mesh、Materials 和图集,100% GPU 计算,运行时不依赖脚本。
GPUTrail(GPU拖尾):将拖尾粒子(ParticleSystem)转换为 GPU 拖尾资源,运行时使用 Compute Shader 高性能计算 + 合批渲染;WebGL 平台采用 WebGL GPU Texture Data Transport 技术 + 合批渲染。适合导弹尾迹、飞行轨迹、流体拖尾等动态特效。
插件构建最终产物是 GameObject。GPU 粒子默认使用 MeshRenderer 渲染,GPU 拖尾默认由合批渲染接管 MeshRenderer。已有项目也可无痛快速接入,数十倍提升性能;如果追求百倍性能提升,也可以配合万人同屏插件的高性能渲染器。
- 提供 GPUParticleBuilderEditor 构建资产工作流,可直接从源 ParticleSystem Prefab 生成 GPU 版本资源,也支持 BuildAll 一键批量构建。
- 支持常见粒子渲染模式转换,包括 Billboard、Stretched Billboard、Horizontal Billboard、Vertical Billboard、Mesh 等。几乎覆盖所有类型,在数千个 ParticleSystem 转换测试中,完美覆盖 98% 以上。
- 还原粒子播放效果,支持多层嵌套,支持粒子中嵌套拖尾。最终构建成单 Mesh + 单 Material,DrawCall 降低到 1,同时得到完整特效。
- 支持 movement-only 类型粒子构建为 GPUTrail,将原始粒子发射参数烘焙为拖尾原型数据。
- 支持子粒子、3D 旋转、贴图序列帧等常用模块的基础转换。
- 支持贴图 Repeat / Clamp 等常见 Wrap Mode 的兼容处理。
- 输出 GPU 粒子所需的材质、网格、数据贴图、元数据和 Prefab,便于直接接入项目。
- 以降低 CPU 粒子模拟和渲染开销为目标,适合大批量同类特效的移动端与大场景使用。