201703-24 UGUI研究院之比较大的图片的压缩(二十四) 好久没写文章了,最近太累了。。 使用UGUI开发界面,一般比较小的图片会设置一个tag,让它打进图集。其实还有很多大的图片,比如logo、头像、图标、关卡图、等 。 宽高各一方大于256 或者 512的图片。 这类大的图片不太适合放在图集中,因为他们会把图集撑的很大,可是如果从图集中拿出.... Read More >
201702-12 UGUI研究院之有效解决RaycastTarget勾选过多的烦恼(二十三) 看过UGUI源码的朋友一定都知道,UI事件会在EventSystem在Update的Process触发。UGUI会遍历屏幕中所有RaycastTarget是true的UI,接着就会发射线,并且排序找到玩家最先触发的那个UI,在抛出事件给逻辑层去响应。 团队多人在开发游戏界面,很多时候都是复制黏.... Read More >
201612-14 UGUI研究院之UI粒子特效自适应缩放(二十二) 我们UI自适应采用的是Canvas Scaler 设置 Expand模式。 那么UI可以很好的自适应屏幕,可是粒子特效就会出问题所以写下了这个脚本来自适应UI的粒子特效。 比如技能图标的特效光圈。 当屏幕缩放后,UI变小了,可是特效出问题了。 测.... Read More >
201609-05 Unity3D研究院之将UI的点击事件渗透下去(九十) 处理UI还有3D模型的点击推荐使用UGUI的这套事件系统,因为使用起来比较简洁,不需要自己用代码来发送射线,并且可以很好的处理同时点击UI和3D模型上。 1.给3D摄像机挂一个Physics Raycaster组件。Event Mask过滤掉UI. 2.用unity自带的Event Tr.... Read More >
201604-13 Unity3D研究院之UGUI一个优化效率小技巧 无意间发现了一个小技巧。如下图所示,可以发现UGUI的Image组件的RaycastTarget勾选以后会消耗一些效率,为了节省效率就不要勾选它了,不仅Image组件Text组件也有这样的问题。 一般UI里也就是按钮才需要接收响应事件,那么大部分image和text是是不需要开RaycastTarg.... Read More >
201603-18 UGUI研究院之游戏摇杆(二十一) 最近在做Unity基于UGUI的摇杆,发现了一种非常简单并且巧妙的方法,原文在这里, 不过要翻墙!!http://godstamps.blogspot.tw/2015/07/unity-ugui-scrollrect.html 它的原理就是利用ScrollRect来限制摇块的摇动区域,但是Sc.... Read More >
201601-31 Unity3D研究院编辑器之Editor的GUI的事件拦截(二十一) OnGUI是Unity上一个时代的UI系统,而现在运行时的UI系统已经被UGUI取代,但是Editor的UI还是在用老的这一套GUI系统。比如unity编辑器里的所有窗口,布局,按钮,拖动条、滚动等等都是用GUI来写的。GUI提供了一套Event事件系统,虽然不能模拟它的事件(其实是可以发的 Edi.... Read More >
201511-19 UGUI研究院之自动触发UI的消息事件(二十) Unity新的消息系统已经完全取代了之前的sendMessage。总体来说这玩意没什么大用,因为C#的 代理事件委托完全能更好的替代他。只是UGUI中大量的在使用新的消息系统。运行时怎么给UI添加事件,大家可以看我之前的文章 UGUI研究院之控件以及按钮的监听事件系统(五) 如下图所示,这里我.... Read More >
201507-30 UGUI研究院之提前获取Text的宽度(十九) Unity提供的两个获取文件宽高的方法 preferredWidth 和preferredHeight 必须是文字在Text组件中渲染出来以后才能取到。因为我们游戏的聊天框中是可以输入表情,所以图文混排工具需要支持自动换行的功能。那么这里问题就来了我需要提前获取Text的宽度,这样我才能知道文字什么时候进行换行。 总体来说和NGUI的思路完全一样。提前把文字渲到材质上,这样就可以取出来宽度了.... Read More >
201506-24 UGUI研究院之Image模糊效果(十八) 先去unity官网上把对应unity版本的UI着色器都下载下来。然后对其进行一番简单的修改,/--add--之间的内容就是我添加的。 [crayon-673effd3a3407496833654/] 然后在创建一个材质把这个Shader挂上去。 看一下效果吧。 .... Read More >
201506-02 UGUI研究院之Mask裁切UI粒子特效或者3D模型(十七) 刚好前几天有人问我这个问题,再加上新项目也可能用,所以这两天就研究了一下。其实如果粒子特效 和3D模型 都用RenderTexture来做的话就不会有裁切的问题,但是粒子特效用RenderTexture来做会有显示的问题,所以还是得用摄像机。废话不多说了,进入正题。 原理就是把Mask的裁切区.... Read More >
201505-27 UGUI研究院之优化Image设置Tiled类型产生过多的三角形顶点 (十六) 这是我一个同事发现的方法, 首先为我的同事 - “进进” 同学点个赞! 如下图所示,将Image Type设置成Tiled来做拉伸时, unity会自动复制出很多三角形和顶点来。 试想一下如果你的原图很小,但是拉伸的面积又很大, 那么三角形顶点数量将非常恐怖。.... Read More >
201505-20 UGUI研究院之Sprite Packer图集分配错误(十五) 昨天我同事给我说他用Sprite Packer打包图集,发现本地格式为ARGB32的一张图,但是打完后却发现RGBA32 ,原本一张1024的图集被莫名其妙的拆分成了两张。我看了半天也看不出来名堂,有可能是bug吧。 而且Sprite Packer自动打包图集还有个问题,比如我的界面全都是带透明的1024,但就有一个是不带透明的。Sprite Packer的自动打包策略会打成两个图,可以10.... Read More >