201901-18 UGUI研究院之找到具体某个引起了网格重建的UI元素(三十二) UGUI的标志性函数Canvas.SendWillRenderCanvas,我们只知道网格进行了重建,但是并不知道是哪个Canvas,由于哪个UI元素引起了Canvas网格的重建。比如,修改RectTransform的属性、Text文本内容、更换Sprite、颜色、都会引起网格重建,通过观察UGUI.... Read More >
201901-12 UGUI研究院之一个脚本同时裁切UI元素和粒子特效和3D模型(三十一) 前两个项目我一直用的是 UGUI研究院之Mask裁切UI粒子特效或者3D模型(十七) 做的裁切,但是实际开发中由循环列表中需要动态创建元素,每个新创建的元素都需要根据MaskRect的区域重新给Shader中指定,这个小小的隐患总是引起BUG。最近在做技术储备看到了Stencil一个东西,发现可以很.... Read More >
201803-20 UGUI研究院之iPhoneX自适应分辨率(三十一) 最近把游戏的iPhoneX自适应做完了,并且已经过了审。我的做法是每个界面的最上层都是一个横纵Stretch自动拉伸的,检测当发现是iPhoneX时,打开界面代码中自动设置 Left Top Right Bottom 为44. 由于我们用的是Unity5.5.4,并没有方法来判断是.... Read More >
201711-08 UGUI研究院之缓存策略让UI打开更快(三十) UGUI效率不高,界面稍微复杂一点就会出现打开慢的情况,至于为什么效率不高,Unity官网或者UWA的教程都已经写的很全面了。本篇文章我不站在效率优化的角度来讲(快成型的项目其实有很度无奈),从UI缓存的角度来讲,利用缓存UI的方式来让UI打开的速度更快。灵感来自我的上一篇文章 http:/.... Read More >
201711-06 UGUI研究院之Prefab嵌套特效部分(二十九) 好久没有写文章,这段时间恶心与快乐并行这,总之希望大伙不要忘记我,今天得空我来更新一篇最近的心得。 Prefab in Prefab的需求太多了(据可靠消息unity2018官方会支持这个功能),以前我也写过一个解决方案,但是后来自己都不用了。今天我写的这篇是自己使用过一段时间,并且觉得还不错.... Read More >
201708-12 UGUI研究院之针对IOS平台设置某些图不打图集(二十八) 最近超累,还得再苦逼一段时间。 抽空更新一下博客,希望大家不要忘记我。前段时间写过一篇处理游戏中的大图片进行压缩的文章。 http://www.xuanyusong.com/archives/4312 在处理大图片的时候,为了保证每张图片都会压缩,所以我会自动给每个图片添加一个packingTag,如此一来即使美术出的图片不是2的幂次方,unity也会将它拉成2的幂次方,在ios平台会.... Read More >
201706-08 UGUI研究院之新手引导事件上下分离(二十七) 新手引导最好和业务逻辑拆开,也就是做新手引导的程序员不能去影响到下面做系统的人。 1.开发一个新手引导编辑器,让策划配出每个引导的点击区域。 2.在Shader中扣一个洞。(圆形或者矩形)用来做显示的点击区域。 3.新手引导的进度需要与服务器进行同步,为了不影响到下面的业务逻辑,在.... Read More >
201704-28 UGUI研究院之RawImage显示多边形或圆形贴图(二十六) 项目中可能有些icon.有的地方显示矩形,有的地方又要显示圆形。 网上我看有人用shader实现了,我觉得使用起来不太方便。后来参考了一个工程 https://bitbucket.org/ddreaper/unity-ui-extensions 把sp.... Read More >
201703-31 UGUI研究院之在UI上使用RenderTexture显示模型+AlphaBlend特效(二十五) 在UI上显示模型无非就是2种。 1.在两个UI摄像机中夹一层3d摄像机,利用摄像机的Viewport Rect属性对模型进行裁切。 2.使用RenderTexture渲染在RawImage后显示在UI上。 我上一个项目就是采取第一种方法,用起来很不舒服。因为有很多效果都做不了,比如.... Read More >
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 >
201610-26 UGUI研究院之Text字体花屏(二十二) 今天我同事说在老项目用的是unity4.7.2打包发布韩文和泰文,偶尔会出现字体花屏的问题,但是中文是好的。(我也不知道怎么解释,只能靠猜吧)我们用的TTF动态字体,Text每次赋值的时候Unity会生成贴图,以及保存每个字的UV信息,那么显示字体的时候根据UV信息去生成的贴图里取最终渲染在屏幕上。.... Read More >