UGUI 打图集】的更多相关文章

今天做了一个UI界面,这个界面是好友界面,该界面上有若干个好友item. 需要对每个tem的头像对象(image)动态显示对应的头像.尝试利用UGUI的图集来加载,具体实现如下: 1.首先,需要知道SpriteAtlas的功能,可以保存一些关于要打包进去的sprite的设置.(详细参数设置的意义有待进一步研究),其中的Objects For Packing可以关联到需要打包进这个已创建图集的Sprite,或者文件夹,或者texture.目前这里的做法是关联到了文件夹. 2.此时,unity已经给…
using UnityEngine; using System.Collections; using UnityEditor; using System.Collections.Generic; using System.IO; using System.Text; public class AtlasCreate { //用来保存图片中的设置信息 比如用RGBA32压缩格式等 public class TextureImporterSettings { public bool isReadab…
最糟糕的是人们在生活中经常受到错误志向的阻碍而不自知,真到摆脱了那些阻碍时才能明白过来. —— 歌德 说到UGUI的图集初学者可能觉得没什么难度,包括我刚开始接触的时候也是,甚至你在开发的时候只需要把图片导入到项目中,拖拖拽拽就能做出能用的东西来.因为UGUI刚出的时候就打出了“Unity会自动帮你维护图集”的旗号.可现实真的是这样的吗?要解释这个问题就需要从Unity4.6说起了,那我们来捋一下! Sprite Packer 散图的加载问题 这功能是从Unity4.6版本随着UGUI的问世一起…
1. NGUI与UGUI的区别 1) uGUI的Canvas 有世界坐标和屏幕坐标   2) uGUI的Image可以使用material     3) UGUI通过Mask来裁剪,而NGUI通过Panel的Clip    4) NGUI的渲染前后顺序是通过Widget的Depth,而UGUI渲染顺序根据Hierarchy的顺序,越下面渲染在顶层.    5) UGUI 不需要绑定Colliders,UI可以自动拦截事件   6) UGUI的Anchor是相对父对象,没有提供高级选项,个人感觉u…
孙广东  2017.8.3 http://blog.csdn.NET/u010019717 在Unity 2017.1.0f3中引入了 SpriteAtlas 官方文档:  https://docs.unity3d.com/2017.1/Documentation/Manual/SpriteAtlas.html https://docs.unity3d.com/2017.1/Documentation/ScriptReference/U2D.SpriteAtlas.html 之前针对UGUI打包…
转自:http://www.jianshu.com/p/5b6f5022662e 开发过程中对UGUI的一个小总结. 首先从原画师拿到效果图,美术切图,拿到碎图后打成大图. 我们先来说一下图:RGBA8888:每一个通道占8位.大图:1024*1024.高端    机:2048*2048. 我们通常从美工那里拿来碎图,歪歪使用的一个工具texturepacker 把碎图打成大图,导出成 .tpsheet  .png格式.其次我们要做的是,在Unity3d中导入插件texture import(此…
https://blog.uwa4d.com/archives/QA_UGUI-1.html 关于Unity中的UGUI优化,你可能遇到这些问题 作者:admin / 时间:2016年11月08日 / 浏览:23818 次 / 分类:厚积薄发 关键字 界面制作网格重建界面切换加载相关字体 一.界面制作 Q1:UGUI里的这个选项 ,应该是ETC2拆分Alpha通道的意思,但是在使用中并没起作用?请问有没有什么拆分的标准和特别要求呢? 据我们所知,alpha split 的功能最初只对 Unity…
序言:这是张三疯第一次开始NGUI插件的学习,刚开始学习,肯定有很多漏洞,后期会及时的补上的. 希望大家可以见谅,希望大佬多多指教. 一.什么是NGUI: NGUI是严格遵循KISS原则并用C#编写的Unity(适用于专业版和免费版)插件,提供强大的UI系统和事件通知框架. 其代码简洁,多数类少于200行代码.这意味着程序员可以很容易地扩展NGUI的功能或调节已有功能. 对所有其他用户而言,这意味着更高的性能.更低的学习难度和更加有趣.完全集成到Inspector面板中. 不需要点击Play按钮…
直接上新.... 什么是协同程序?答:在主线程运行时同时开启另一段逻辑处理,来协助当前程序的执行.换句话说,开启协程就是开启一个可以与程序并行的逻辑.可以用来控制运动.序列以及对象的行为. Unity3D中的碰撞器和触发器的区别? 答:碰撞器是触发器的载体,而触发器只是碰撞器身上的一个属性.当Is Trigger=false时,碰撞器根据物理引擎引发碰撞,产生碰撞的效果,可以调用OnCollisionEnter/Stay/Exit函数: 当Is Trigger=true时,碰撞器被物理引擎所忽略…
关于Unity中的资源管理,你可能遇到这些问题 张鑫 8 个月前 原文链接:关于Unity中的资源管理,你可能遇到这些问题 - Blog 在优化Unity项目时,对资源的管理可谓是个系统纷繁的大工程.鉴于Unity独特又绝(cao)妙(dan)资源打包的AssetBundle管理机制,不同资源的属性适合于不同的存储和加载方式.此外,要处理好成百上千个资源之间的相互依赖关系也非易事.谁说良好的资源管理不是个艺术呢?:) —————————————————— 关键字 AssetBundle资源制作…
1. NGUI与UGUI的区别 1) UGUI的Canvas 有世界坐标和屏幕坐标; 2) UGUI的Image可以使用material; 3) UGUI通过Mask来裁剪,而NGUI通过Panel的Clip; 4) NGUI的渲染前后顺序是通过Widget的Depth,而UGUI渲染顺序根据Hierarchy的顺序,越下面渲染在顶层; 5) UGUI 不需要绑定Colliders,UI可以自动拦截事件; 6) UGUI的Anchor是相对父对象,没有提供高级选项,个人感觉uGUI的Anchor…
一.AssetBundle 相关 Q1:Unity中的SerializedFile是怎么产生的?请问用Unload(false)可以清除吗?因为读取了Bundle里面的内容后已经赋值给其他物体了.而且我把图片都打成了Bundle,然后读取出来,图片的大小应该是超过了这个SerializedFile的大小的? SerializedFile是AssetBundle加载时产生的序列化信息,一般为LoadFromCacheOrDownload.LoadFromFile和New WWW加载本地AssetB…
一.简介 在Unity步入2019.4以后,新版的SpriteAtlas日趋完善,已经完全可以在商业项目中使用了.但是纵观网络平台上,许多关于SpriteAtlas的文章还停留在2018的初版时期,其中许多解释在现在看来都是过时的,甚至近期UWA问答上的一篇Q&A也是错误的结论,传送门.(笔者文章写于2020.9月)如果还按照CSDN或者UWA上的这种错误的教程来使用SpriteAtlas的话,一来有可能造成图集和资源的冗余,二来会导致享受不到新版图集带来的开发便利从而影响了效率.因此进行Spr…
开篇: 前段时间,网上流出了一套手游源码,本想着把服务器端搭一下,给自己认识小伙伴们调试着把这套源码学习一下.于是就买一个阿里云服务器,可是花了几天时间,就是run不起来了啊.还好网上已经有人搭出来了,暂且连上他们的服务器调试吧.哎,还是不说这些糗事了. 那阿里云服务器买都买了,总不能空着把.那就开个网站吧.于是心血来潮的,注册域名,备案,balabala.就是现在这个了.www.shihuanjue.com,个人觉得还是很好记的.以后会把之前写在有道云的笔记梳理一下搬过来吧.我不是大神,有不足…
图集 什么是图集? 在使用3D技术开发2D游戏或制作UI时(即使用GPU绘制),都会使用到图集,而使用CPU渲染的2D游戏和UI则不存在图集这个概念(比如Flash的原生显示列表),那么什么是图集呢?准确的说法图集是一张包含了多个小图的大图和一份记录了每个小图id.位置.尺寸等数据的数据文件,一个图集应该对应两个文件,当然也有人把数据集成到图片中,导致看起来只有一张图片(参考自DragonBones的做法). 为什么要用图集? 在GPU已经成为PC.手机等设备的必备组件的现在,把所有显示的绘制操…
继上一篇说的更新了一张图集对应多个Text的功能,为了节省资源嘛 这里,但是也没有舍弃之前的一个Text一个图集,因为我感觉应该两个都有用,于是我重新写了一个脚本 1.其实大体跟前面的都没变,解析标签,获取表情的相关数据,这里只是将绘制图片的功能,移植到SpriteGraphic上,本地增加了一个刷新图片绘制信息的函数. 麻烦的是去找到SpriteGraphic绘制图片,也是因为这个感觉有很大的潜在问题,不过基本能用,具体看脚本 using UnityEngine; using UnityEng…
UGUI的原理则是,让开发者彻底模糊图集的概念,让开发者不要去关心自己的图集.做界面的时候只用小图,而在最终打包的时候unity才会把你的小图和并在一张大的图集里面.Editor->Project Settings 下面有sprite packer的模式.Disabled表示不启用它,Enabled For Builds 表示只有打包的时候才会启用它,Always Enabled 表示永远启用它. 这里的启用它就表示是否将小图自动打成图集.如下图: 将需要打到一个图集的所有图片的packing…
版权声明:本文转自http://blog.csdn.net/huutu 转载请带上 http://www.liveslives.com/ 在学习UGUI的过程中,一直使用小图也就是散图,一个按钮一个图片,一个图标一个图片,这样每一个图片都有一个Drawcall. 之前公司的游戏都是使用Unity4.3+NGUI,在NGUI中可以使用Texturepacker,先把小图片打包成一张大图,然后在NGUI中设置引用大图中的哪一块作为图片,这样能减少很多Drawcall. 但是在UGUI中没有办法使用T…
[Unity3D] 5.0 图集合并扩展工具,用于解决UGUI与AssetBundle打包造成资源包过大的问题 2017年07月05日 15:57:44 阅读数:1494 http://www.cppblog.com/shly/archive/2015/12/09/212443.html [Unity3D] 5.0 图集合并扩展工具,用于解决UGUI与AssetBundle打包造成资源包过大的问题 UGUI Image已Sprite为主,而简单的合并图集可以使用自带的SpritePacker.而…
**写在前面,下面是自己做Demo的时候一些记录吧,参考了很多网上分享的资源 一.打图集 1.准备好素材(建议最好是根据图集名称按文件夹分开) 2.创建一个SpriteAtlas 3.将素材添加到图集中 4.生成图集 到此,我们的图集就准备好了 二.加载图集 1.在工程里面使用(正常包内使用建议打成AB,更新比较方便,加载方式和下面一样,工程为了方便,我将上面打好的图集放在Resources下面) 2.这是最喜欢的c+v环节,加载图集 using System.Collections; usin…
Editor->Project Settings 下面有sprite packer的模式.Disabled表示不启用它,Enabled For Builds 表示只有打包的时候才会启用它,Always Enabled 表示永远启用它. 这里的启用它就表示是否将小图自动打成图集. 首先将你的图片拖入unity中,将同一图集的所有图片的packing tag设置成一个名子即可. 注意你的图片不能放在Resources文件夹下面,Resources文件夹下的资源将不会被打入图集. 运行时根据图片的名子…
using UnityEngine; using System.Collections; using System.Collections.Generic; //纹理图集加载管理 public class PPTextureManage : MonoBehaviour { private static GameObject m_pMainObject; private static PPTextureManage m_pContainer = null; public static PPText…
打包后的: 直接改变sprite中的packing tag,相同的packing tag就是同一张图集中的.改完运行会自动帮你打包…
WeTest 导读   本文作者从自身多年的Unity项目UI开发及优化的经验出发,从UGUI,CPU,GPU以及unity特有资源等几个维度,介绍了unity手游性能优化的一些方法.   在之前的文章<手游内存占用过高?如何快速定位手游内存问题>中提到,Mono内存和native内存是PSS内存主要的组成部分,mono内存更多的起到内存调用的功能,因此常常成为了开发人员优化内存的起点:而在游戏的其他的进程中,同样有很多因素影响着游戏的性能表现.本文将从UGUI的优化角度,介绍unity游戏性…
作者:王选易,出处:http://www.cnblogs.com/neverdie/ 欢迎转载,也请保留这段声明.如果你喜欢这篇文章,请点推荐.谢谢! 理解UGUI的基础架构 UGUI是Unity在4.6中引入的新的GUI系统,与传统的中间件NGUI相比,这套新GUI系统有几个核心亮点: 放弃了Atlas的概念,使用Packing Tag的方式来进行图集的规划 放弃了depth来确定UI显示层级的概念,使用Hierarchy的SiblingIndex来确定先是层级 使用RectTransform…
目录 1.介绍两大UI插件NGUI和UGUI 2.unity渲染顺序控制方式 3.NGUI的控制 4.UGUI的控制 5.模型深度的控制 6.粒子特效深度控制 7.NGUI与模型和粒子特效穿插层级管理 8.UGUI与模型和粒子特效穿插层级管理 写在前面 这篇笔记是整理了之前做的记录,在做项目的过程中,遇到了各种各样的界面穿插问题,界面层级混乱,比如,手机卡了或点快了,就导致两个界面相互交叉.对于界面,这应该算是一个很严重的bug,很大部分原因是整个UI框架没有从整体上考虑这个,后来决心弄清楚层级…
UGUI batch 规则和性能优化 (基础) Unity 绘图性能优化 - Draw Call Batching : http://docs.unity3d.com/Manual/DrawCallBatching.html 1.名词 1)Batch 单词 google 翻译的解释是:批量.批次. 2)Stats中的Batches参数:意思是batching后产生的批次数.(其实每一个批次就会调用一次DrawCall) 3)Unity官方文档中的batching是指batch操作和batchin…
一.简介 马三从上一家公司离职了,最近一直在出去面试,忙得很,所以这一篇博客拖到现在才写出来.马三在上家公司工作的时候,曾处理了一个UGUI不规则区域点击的问题,制作过程中也有一些收获和需要注意坑,因此记录成博客与大家分享.众所周知在UGUI中,响应点击通常是依附在一张图片上的,而图片不管美术怎么给你切,导进Unity之后都是一个矩形,如果要做其他形状,最多只能旋转一下,或者自己做一些处理.而为了美术效果,很多时候我们不得不需要特定形状的UI,并且让它们实现精准的响应点击.例如下图就是一个不规则…
可以通过Frame debugger查看每个drawcall绘制了哪些东西 UGUI源码下载地址:https://bitbucket.org/Unity-Technologies/ui/downloads/ 本文测试环境:unity2018.2.9f1,基于Unity Editor (PC平台) 合批的过程 网格更新机制 Cavans.SendWillRenderCanvas m_LayoutRebuildQueue m_GraphicRebuildQueue Canvas.BuildBatch…
仅是简单的给一个ugui.text组件不断的赋值字符串,就会带来很高的CPU消耗,约0.5MS左右. 这个过程主要是消耗在字体的MESH顶点重建. 在游戏中变化的字体一般不多,聊天面板虽然变化,刷新率不高(MOBA游戏) 然后就是金钱变化的显示,网络延迟的显示,FPS的显示. 优化想法:对于字符串长度不发生变化的串,只需要更新每个字符的UI (重新获取该字符在字体图集中的UV) ,并不重建MESH. 这种做法的问题是:每个字符在图集中并不是等宽的,因此显示出来就会有宽有窄,非常难看. 其实重建M…