在Unity3D中实现高效的战斗飘字

Posted kakashi8841

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Unity3D中实现高效的战斗飘字相关的知识,希望对你有一定的参考价值。

版权所有,转载须注明出处!
喜欢火影、喜欢Java、喜欢unity3D、喜欢游戏开发的都可以加入木叶村Q群:379076227



这周有网友提到用NGUI做战斗冒血,冒伤害等文字性能太差。确实如此,我之前(NGUI 3.8.2,1000块的android机器上)在Profile中也发现UIPanel占用CPU奇高。

因此最终自己在战斗飘文字这一块没有使用NGUI,而是自己创建Mesh来处理。优化前后在手机上每秒大概增加了10帧。


先看一下效果。

技术分享

可以看到DrawCall和NGUI一样都为1。

这个 MeshText 就是我自己写的HUD文本组件了。


代码如下:

----代码暂时不公开,抱歉周五将公开。


关于这段代码应该没什么解释的,主要是关于三角形顶点计算、uv计算这些。随便找一篇创建Mesh的文章看完应该就可以看懂了。

虽然里面用到了NGUI的图集,但渲染和更新已经完全和NGUI无关了。

如果想改成不用NGUI的图集也可以。不过那时候比较懒,已经有图集了,就直接拿过来用咯。

不想用NGUI图集的可以自行修改掉。这样可以脱离NGUI运行。


完整工程(基于Unity3D 4.3.3 和 NGUI3.8.2测试)上传完将出现在这里。


以上是关于在Unity3D中实现高效的战斗飘字的主要内容,如果未能解决你的问题,请参考以下文章

在Unity3D中实现高效的战斗飘字

浅谈在Unity3D中实现Finite State Machine System有限状态机框架系统

Unity3d 在NGUI中实现 图片的切换 求代码

一个unity3d文件和一段html代码怎么把html代码加入到网页中实现上传

怎么在Unity3D中实现这种线框效果

Unity3D 在自定义脚本中实现Button组件上的OnClick面板