移动端:一份"减法"清单
移动端(iOS / Android)对粒子尤其苛刻:GPU 算力弱、内存少、发热敏感。这份清单是项目过审前逐条对照用的。
移动端 Niagara 的十条减法
| # | 措施 | 说明 |
|---|---|---|
| 1 | 砍量一半起步 | 移动端按 PC 的一半起调,再按实测减 |
| 2 | Sprite 尺寸上限 | 大 Sprite 的 overdraw 在移动端是灾难 |
| 3 | 拒绝多层半透明烟 | 烟雾最多 2 层,用材质做出"层感" |
| 4 | Ribbon 段数减半 | PC 用多少,移动端减半 |
| 5 | 关闭距离场依赖的功能 | 移动端默认可能没开全局距离场 |
| 6 | 谨慎 GPU 模拟 | 移动 GPU 模拟兼容性有限,先 CPU,逐个验证 |
| 7 | 简化材质:禁用复杂光照模型 | 用无光照(Unlit)+ 顶点色为主 |
| 8 | 减少发射器数量 | 每个 NS 的发射器数不超过 3 |
| 9 | 关闭无关的 DI | 骨骼 DI 等按需保留 |
| 10 | 用轻量级发射器替代装饰特效 | 见上一节 |
移动端的验证流程
- 打包真机测试,别只信编辑器统计——移动端的 GPU 架构与 PC 差异巨大,编辑器数据可能严重误导;
- 用 Xcode Instruments / Android GPU Inspector 看帧时间分布,找到是 GPU 还是 CPU 瓶颈;
- 分档:高端机满效果,中端减一档(套用上面的清单),低端再减一档(或替换为简化版 NS)。
一个真实的案例
某手游的"火雨"技能:PC 版每发火球 800 粒子 + 拖尾 Ribbon + 爆炸 1500 粒子。移动端初版直接套用,团战时帧率掉到 15。按清单调整后:火球 120 粒子无拖尾、爆炸 300 粒子,调整后帧率稳定在 28 以上。视觉感受只损失了约一成,性能换回近一倍。
移动端的特殊机会
移动端也并非全是劣势:
- 触屏设备距离屏幕近,近景细节比远景重要——LOD 裁剪可以更激进;
- 移动端常用前向渲染,某些前向渲染下的半透明效率反而可预测,适合"少而大"的风格化特效。
移动端特效最终要回到"做减法也是设计":不是把 PC 效果"移植"到手机,而是为手机重新设计表现语言。
