201603-18 UGUI研究院之游戏摇杆(二十一) 最近在做Unity基于UGUI的摇杆,发现了一种非常简单并且巧妙的方法,原文在这里, 不过要翻墙!!http://godstamps.blogspot.tw/2015/07/unity-ugui-scrollrect.html 它的原理就是利用ScrollRect来限制摇块的摇动区域,但是Sc.... 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-67432d1186351565158493/] 然后在创建一个材质把这个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 >
201505-15 UGUI研究院之不规则按钮的响应区域(十四) 接上一篇文章 UGUI研究院之忽略UI被拦截事件(十三) 比如一些不规则按钮最好可以设置它的响应区域。如下图所示,用Polygon Collider2D组件圈出精灵响应事件的区域。 注意 IsRaycastLocationValid 的判断区域是RectTra.... Read More >
201505-13 UGUI研究院之忽略UI被拦截事件(十三) 如果对UGUI事件系统还不清楚的朋友可以看看我之前的文章 UGUI研究院之控件以及按钮的监听事件系统(五) 如果一个按钮有一半的区域被Image挡住,那么被挡住的按钮区域的点击事件就会被拦截掉。解决这个问题有两个方法。 1.修改Hierarchy视图中的树状结构。如下图所示,把Image.... Read More >
201505-12 UGUI研究院之获取UI子节点在Canvas的2D坐标(十二) 今天一个同事问我怎么样获取UI在Canvas下的2D坐标。我查了一下API,其实很简单。如下图所示,UI比较复杂了子节点会很多,假设我想获取某个子的子节点的2D坐标。 首先我们要搞清楚 transform.postion 和 rectTransform.anchoredPosition .... Read More >
201505-08 UGUI研究院之Text文本渐变(十一) 这是我无意间逛国外论坛发现的,感觉还可以就分享给大家。原文 http://pastebin.com/dJabCfWn 如下图所示,用法和UGUI自带的outline和shadow一样,可以同时使用。 代码在这里了。我加了个判断,它原来的有越界的隐患。 [crayon-6.... Read More >
201503-20 UGUI研究院之设置全屏图(十) 在UGUI中想设置一张全屏的背景图,但是直接设置 screen.width和screen.height后发现在有些分辨率下还是不能全屏。 [crayon-67432d11974c4190339046/] 把如下脚本挂在需要全屏的Image对象上即可。 [crayon-67432d11974d1279875634/] 如果你有更好的办法,欢迎在下面吐槽,嘿嘿~.... Read More >
201503-18 UGUI研究院之不添加摄像机解决UI与UI特效叠层问题(九) 找到一个不用添加多个Camera在两个UI中叠加UI特效的方法。如下图所示,两个Image之间放了个UI特效。 上代码: [crayon-67432d119924e202346241/] 原理就是设置 sortingOrder ,给需要修改order的UI元素挂上UIDepth脚本.... Read More >