1、为什么要打图集

UGUI与NGUI使用上最大的不同是,NGUI使用前就要打图集,UGUI可以在之后再打图集

打图集的目的就是减少DrawCall,提高性能

简单来说,DrawCall(DC)就是CPU通知GPU进行一次渲染的命令,如果DC次数较多会导致游戏卡顿,我们可以通过打图集,将小图合并成大图,将本应n次的DC变成1次DC来提高性能

2、在Unity中打开自带的打图集功能

在工程设置面板中打开功能

Edit->Project Setting->Editor-> Sprite Packer(精灵包装器,可以通过Unity自带图集工具生成图集)

Disabled 默认设置,不会打包图集

Enabled For Build

(Legacy Sprite Packer)

Unity仅在构建时打包图集,在编辑模式下不会打包图集

Always Enable

(Legacy Sprite Packer)

Unity在构建时打包图集,在编辑模式下运行前会打包图集
Enabled For Build Unity在构建时打包图集,在编辑器模式下不会打包
Always Enabled Unity在构建时打包图集,在编辑模式下运行前会打包图集 

Legacy Sprite Packer传统打包模式,相对下面两种模式来说,多了一个设置图片之间的间隔距离,有一个参数:

——Padding Power:选择打包算法在计算打包的精灵之间以及精灵和生成的图集边缘之间的间隔距离,这里的数字代表2的n次方

但是在新版的Unity中,相关设置不同,分别是:

  • Sprite Atlas V1- Enabled For Builds;
  • Sprite Atlas V1- Always Enabled;
  • Sprite Atlas V2(Experimental) Enabled;

3、打图集参数注意

图集创建:新建Sprite Atlas(新的版本在2D子目录中)

在UI中如果需要打图集,一般需要将Allow Rotation与Tight Packing勾选去掉

然后在Objects for Packing中将需要打包的图集进行关联,Pack Preview,之后每次加载图片都从图集中批处理一次性加载,减少DC次数,否则每次加载新图片都要DC(重复的图片不会增加DC次数)

注意:如果在相同图集的关联图片之间插入一个不同图集中的图片/Text(即在Hierarchy中相邻顺序的图集元素之间插入,例如A,B,C在同一图集,D插入B,C之间)并且与图集中的相应图片重叠(D与C重叠),那么图集的批处理会中断,打断渲染顺序,增加DC次数。

创建图集后只有在运行模式中才会生效,在编辑模式中Batches和以前不会有任何变化

如何观察DC的次数:

Game窗口的Stats->Batches

4、代码加载

// 加载图集,参数为图集名
SpriteAtlas sa = Resources.Load<SpriteAtlas>("myAtlas");
// 从图集中加载指定名称的小图,可以为某些Image赋值加载
sa.GetSprite("bk");     

UGUI-- 图集制作相关推荐

  1. Unity打包AssetBundle自动分析资源依赖关系(包括UGUI图集打包)

    https://blog.csdn.net/u012740992/article/details/79371986 怎么分析资源的依赖关系呢,并设置AssetBundleName呢? 我们检测资源之间 ...

  2. Unity中ugui如何制作不规则按键的两种方法

    Unity中ugui如何制作不规则按键的两种方法 两种不同的方案 目前,关于这个问题如何,解决通过搜索引擎我们能找到两种不同的方案: 多边形碰撞器: 该方法是指给精灵(Sprite)添加一个多边形碰撞 ...

  3. UGUI图集的理解与使用

    什么是图集? 在使用3D技术开发2D游戏或制作UI时(即使用GPU绘制),都会使用到图集,而使用CPU渲染的2D游戏和UI则不存在图集这个概念(比如Flash的原生显示列表),那么什么是图集呢?准确的 ...

  4. 【转】unity3d 在UGUI中制作自适应调整大小的滚动布局控件

    转自 http://blog.csdn.net/rcfalcon/article/details/43459387 在游戏中,我们很多地方需要用到scroll content的概念:我们需要一个容器, ...

  5. 【制作fnt格式字体】 BMFont中文字体图集制作的方法~

    http://momowing.diandian.com/post/2013-01-24/40046239211 好吧~似乎这个问题困扰了很多人,游戏开始中文化是个不错的事儿啊,这里我就做下说明,如何 ...

  6. 【Unity】NGUI/UGUI 小地图制作

    先看下 效果图 准备工作 0 创建两个摄像机  其中一个 在头顶 1 张圆心是透明的图 2 就是 写好的Shader  () 仅适用于UGUI 的shader : Shader "UIEx/ ...

  7. Unity UGUI图集打包与动态使用(TexturePacker)

    TexturePacker 在用UGUI时,我们需要将一个个小图打包成图集,然后将图集一次性加载以内存换取图片读取效率,即减小Drawcall. UGUI打包并使用图集有两种方法:一种是使用系统自带的 ...

  8. UGUI 动手制作字体

    字体制作: Txt:里面写 好自己需要的文字,另存 为UTF - 8 Bitmap: ①Options -> Font settings 更改字体,否则会出现不识别现象 ②Edit -> ...

  9. Unity3d之UGUI图集打包与动态使用(TexturePacker)

    前言 在用UGUI时,我们也需要将一个个小图打包成图集,以减小Drawcall(类似coco2d-x一样,打包成图集一次性加载以内存换取图片读取效率),UGUI打包并使用图集有两种方法:一种是使用系统 ...

  10. UGUI 图集打包工具Sprite Packer

    一.设计的目的:让开发者忘记图集的概念,使用小图去开发UI,unity自动会将这些小图按照tag名字打到图集里面去. 二.启用的方式:在Edit->Project Settings->Ed ...

最新文章

  1. Strategy_Pattern
  2. c语言main的作用是什么意思,c语言intmain()是什么意思
  3. Exchange 2003允许部分用户发送邮件到部分外网服务器
  4. 工作之中总有几日不在状态_你是怎样度过的?
  5. Nim游戏(初谈博弈)
  6. rk3399 io工具的使用示例
  7. 如何在M1 Mac上安装iPhone或iPad应用程序?
  8. 游戏中的碰撞检测(转)
  9. pyqsplitter 保持一个窗口不能拖动_Axure教程:左侧导航如何自适应浏览器窗口高度?...
  10. 项目管理-计划与实施,哪个更重要
  11. 官方原版Windows XP SP3(VOL)简体中文版ISO下载
  12. Arduino通过HX1838红外接收模块控制红色发光LED
  13. w3school在线学习教程 http://www.w3school.com.cn/
  14. centos7安装打印机 cups页面管理 java程序驱动打印程序
  15. oracle10g 管理共享服务器
  16. 2022(一等奖)C23“城轨促交融,慢行赋新机”—TOD模式下城市慢行接驳与碳减排辅助出行系统
  17. 关于vue项目中的 日志管理功能
  18. debian 安装firefox 最新版
  19. 简洁好用的3个研发项目管理工具
  20. Excel排序 - C#

热门文章

  1. JavaEE学习08(解决项目导入eclipse后项目中的红错号)
  2. 5G空口协议栈及各层功能介绍
  3. 洛谷P3009-[USACO11JAN]Profits S(DP-最大子段和)
  4. KepOPC全新DA2UA中间件实现OPCDA与UA的转换及互操作
  5. 从本体的发展看图书情报学
  6. 安装SQL server显示重新启动计算机失败解决方法
  7. 如何让table边框变为单实线?
  8. 完全背包问题(f m)
  9. ecg信号越界_精确心电图ECG信号处理介绍
  10. 【python之父】:从他的经历中我又重拾对编程的热爱,程序员也不是一直写代码就没有出路