zl程序教程

您现在的位置是:首页 >  其他

当前栏目

RPG游戏高性能特效是怎么练成的?

2023-02-19 12:20:43 时间

众所周知技能系统技能特效,可以说是 RPG 游戏的精髓,游戏好不好玩,带不带感,这一点至关重要。

但是!花里胡哨的特效容易上,可稍有不慎,经验不足的话,就很容易掉进性能不济的大坑里。

开发时满怀信心,可一上真机,特别是小游戏上。要不就是加载缓慢,卡的要死,或包体太大,各种糟心......只能自己亵玩,无法产生商业价值!

今天,晓衡要向大家推荐一款 Cocos Store 新器资源 炫酷AOK技能系统

这是社区中号称卷王之王孙二喵大神,从实战商业项目中整理、提炼、总结而出,体验链接(长按复制): http://gameview.creator-star.cn/iwea/skill

强烈推荐你体验一下,并参与文末评论,开发者有福利送上哦!

本文将主要介绍关于技能管理系统粒子特效相关的加载与优化技巧,希望能对你有所帮助和启发,Let'go!

3D粒子加载优化

1. 优化粒子贴图尺寸

看源码你能了解到,技能仅在第一次加载时,才会解析特效所使用到的 Texuture 纹理。

强烈建议在小游戏上,控制特效贴图的分辨率大小在 128×128 ~ 512×512 以内,特效使用的贴图尽量做到复用,以节省内存和显存。

2. 粒子 Mesh 优化

建议尽量使用减面后的 Mesh 做粒子特效,以CocosCreator 中自带的球体为例,减面前为 2380 面,见下图右下方:

在引擎资源管理器选中 FBX 文件,在属性检查器中,选择模型面板,可勾选设置 Mesh Optimizer进行减面优化后只有476个面(你也可以使用其它工具进行减面),请看下图:

可以看到,减面后球体没有那圆润了。但是,会明显示提升粒子的渲染性能,减少渲染时间,而且对于粒子特效来说,在表现上几乎是看不出来的!

3. GPU 和 CPU 资源互换

目前小游戏和休闲游戏的瓶颈在CPU偏多,建议粒子材质都是用GPU材质。

不过 GPU 材质不支持重力参数。因此,需要使用重力的粒子,可以使用 GPU 材质 + ForceOverTime 的 curve 去模拟。

4. 使用 burst 创建多个粒子

在使用较多粒子时,应避免重复创建。可以使用 burst 的重复次数 + 间隔,在单个粒子内重复生成,确保合批。

5. 多个图案合图加textureanimation随机

常见的像雪花、岩石、地面等效果可以用一张贴图合图,使用 Texture Animation 随机出不同的图案,减少粒子数量。

注意勾选 Random Row 选项,看下图

6. 混合 Mesh 使用

部分常驻的效果可以使用 Mesh + UV 动画模拟,以减少粒子开销。

这里使用的是动画编辑器,数量较多时可以使用 instancing + instancedarribute 控制。

7. 粒子预加载

在资源加载阶段,可以把粒子提前实例化好,丢到天上或者视野外播放。

由于部分粒子有 start delay 会有播放延迟,这里统一是 0.65s 后播放然后回收,保证第一次使用技能不会因为贴图加载解析造成卡顿。

也可以直接使用 prewarm,需要记录下延迟,然后还原再回收。

小结

以上是技能系统中关于粒子特效的优化,后续我们再给大家介绍关于角色伤害文字物理技能配置等方面的内容,欢迎关注!

下载地址: https://store.cocos.com/app/detail/4321

体验链接: http://gameview.creator-star.cn/iwea/skill