众所周知技能系统技能特效,可以说是 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

最后,作者孙二喵再给公众号读者送上福利。欢迎大家留言评论,将从走心的评论中,随机选取 3 位伙伴送上 Cocos 微店兑换码,可免费获取该资源,

活动截止时间:12月3日12:00 ,祝你好运哦!

往期精彩

  • 麒麟子免费3D角色虚拟摇杆控制器!这也太好用了

  • 这样的一个人,他是如何能独立做吃鸡的!

  • 微信小游戏构建发布指南!5分钟视频教程

  • Creator 3.x 资源加密方案!支持Web与原生

  • 微信小游戏超4M怎么办?小游戏包体优化方案

RPG游戏高性能特效是怎么练成的?文末送福利相关推荐

  1. 杨彪 | 一次线上游戏卡死的解决历程(文末赠书福利)

    题图:StartupStock@Pixabay 编辑:冷锋 作者:杨彪 本文首发于简书云时代构架杨彪 http://www.jianshu.com/p/7885bbf153f5 事故的发生详细过程 故 ...

  2. 2022年了,云游戏离我们还有多远?【文末附彩蛋】

    云游戏,是一种以云计算技术为基础的在线游戏方式,玩家本地不需要运行任何游戏,就可以直接通过设备来接收运行在远程服务器上面游戏信息来进行游玩.简单来讲,就是玩家可以借助云服务器高配机器的计算能力,在自己 ...

  3. android 游戏移植 (一) (文末有福利) | SDL 西游释厄传调试

    游戏效果(不是真实画质) 有没有被惊艳到?你的内心肯定会说,我靠,画质这么渣,画面却如此熟悉. 对的,就是如此渣渣的画面,却伴随了我们的童年快乐. 下面我们就详细的讲讲这个移植过程,说得更加具体些,就 ...

  4. 元宵节,我们用Scratch来做一个猜灯谜的游戏吧!(文末有福利)

    首先祝大家元宵节快乐! 昨天晚上回到家搞了一个猜灯谜游戏,并且写了PPT教程讲义.今天就将这个案例分享出来,希望大家喜欢. 如果你想要我所有的节假日课程体系可以在微信小商店购买(节假日课程永久持续更新 ...

  5. 【Unity优化篇】 | Unity脚本代码优化策略,快速获取 游戏对象 和 组件 的方法【文末送书】

  6. 【Unity小游戏】《捕鱼达人》小游戏来啦~ 有源码下载【文末送书】

  7. 【Unity小游戏】益智类小游戏《保护小猫》做一个暖心的铲屎官,还有语音聊天功能【文末送书】

    目录

  8. Silverlight 2.5D RPG游戏技巧与特效处理(Game Effects):目录

    以当下主流的2.5D RPG客户端品质游戏特效为借鉴,以最大程度控制性能损失为前提,将Silverlight游戏资源占用最小化,综合效果及用户体验最优化,即本系列作者想要向大家讲解的核心技术知识. 本 ...

  9. 如何制作一款HTML5 RPG游戏引擎——第五篇,人物人物特效

    上一次,我们实现了对话类,今天就来做一个游戏中必不可少的--人物类. 当然,你完全是可以自己写一个人物类,但是为了方便起见,还是决定把人物类封装到这个引擎里. 为了使这个类更有意义,我还给人物类加了几 ...

最新文章

  1. linux字符cdev和Inode的关系
  2. 网络编程(原始套接字)
  3. gmail怎么延时发送邮件呢?
  4. 【优化SQL Server循环更新、插入耗时长的问题】
  5. LeetCode 1335. 工作计划的最低难度(DP)
  6. C++结构体中const使用场景
  7. hpux系统启动中被某个服务hang住的解决办法
  8. java 配置文件加载_java加载配置文件信息
  9. php 错误500排错,如何排查Web服务器HTTP ERROR 500的错误?
  10. android命名管道创建使用
  11. 鼠标和按键在android 上的识别和区别
  12. Promise 必知必会(十道题)
  13. php项目打不开DNS,电脑无法打开网页显示错误代码dns_probe_possible怎么解决?
  14. 解决办法:KeyError: ‘ExpandBackward’及老版本pytorch/torchvision的安装办法。
  15. 如何用10分钟做出一个表情包视频
  16. Mplay 常用命令及功能简介
  17. 搭建简单的企业网站,华为云速建站和阿里建站哪个好?
  18. 阿里云CDN介绍以及如何配合OSS使用
  19. c语言迷宫问题程序流程图,c语言程序设计 迷宫问题
  20. 测试开发工作者日记:2020.10.21

热门文章

  1. 静态无功补偿与动态无功补偿的区别(转载)
  2. C#开发------对对碰游戏
  3. chico lachowski_新年大盘点:那些冷门却养眼的时尚男神
  4. go语言学习:结构体
  5. c# DateTime
  6. 滴水逆向三期实践15:重定位表修正
  7. SRAM、DRAM;SDRAM、DDRSDRAM(DDR)、RDRAM;SARAM、DARAM的区别
  8. 【VMware】 VMware Tools安装步骤(windows10)
  9. Android AlarmManager闹钟的使用
  10. Android脚本(约战精灵刷好感)