码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2016-01-27 21:38:04      阅读:459      评论:0      收藏:0      [点我收藏+]

标签:

版权所有,转载须注明出处!
喜欢火影、喜欢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中实现高效的战斗飘字

标签:

原文地址:http://blog.csdn.net/kakashi8841/article/details/50596000

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!