Unity旧版图集和新版图集
1、关于旧版图集
===>结论:设置PackingTag就可以了。
===>分析:设置好PackingTag,那么在进行打包的时候,同一个标签的会被打到1个图集里面,图集最大为2048x2048的。如果占不下,则会出现第2个图集。图集会变成(group 0)、(group 1)这样的形式。
打AB的时候,将散图打进一个AB,这个AB也会自动把散图所属的图集给一并打进AB当中(如下图)。这样的话,在加载的时候,比如要加载一个预制--->预制依赖散图所在的AB--->这个散图所在的AB被加载进来--->这个AB中的内容就会加到内存中了,包括图集(这一点很重要,这个能解释后面为什么新版图集要和散图打到同一个AB中;为什么单独打图集的话,预制中的依赖项会没有图集所在的AB)。
这里要解释一下为什么ui_mail_513和ui_mail_515的type是Texture2D类型的,因为这两张图并没有设置PackingTag,却依然打到这个AB中了,所以会以Texture2D的形式存在,Size也会大很多。从这里可以看到旧版图集的缺陷---对于PackingTag的管理。
这个AB里面有两个旧版的图集会被一并打进来,这个是隐式加入到AB的,非显式的(也就是没有手动指定这个图集要打到这个AB,是auto的、自动的)。这也确实是按着Unity所说的那样,开发者不用去管图集,模糊图解的概念,给好PackingTag就行了,打AB、打包和加载都用散图的方式就行了,图集这块儿不用管,引擎帮你做。
2、关于新版图集
===>结论:勾选IncludeInBuild,将图集和散图打到一个AB中。
===>分析:在打AB的时候,如旧版图集一般,但这里需要显式的将图集加入到散图所在的AB中(图集和散图打到同一个AB,如下图);因为如果图集单独打AB的话,预制中的依赖项是不包含图集所在的AB的。而加载的时候,是先从AB中拿出SpriteAtlas,然后在从SpriteAtlas中得到Sprite的。这时候,加载一个预制(预制中的依赖项先加载进来,然后加载预制),就会发现,SpriteAtlas是没有加载进来的。
最新文章
- javascript数据结构与算法---栈
- 彻底弄懂响应式设计中的em和rem
- 线程Thread
- 布局 - layout
- Arduino小车学习与研究
- Android 和iOS 中关于View 的一点知识
- PDOStatement::bindParam的一个陷阱
- 启用VSFTPD日志及其解读
- java获取对象属性类型、属性名称、属性值 【转】
- ECharts 使用实例
- AngularJS Directive - 开场小介绍(转)
- Recursive Depth first search graph(adj matrix)
- NYNU_省赛选拔题(6)
- php实现断点下载
- R语言︱情感分析—基于监督算法R语言实现(二)
- jar包通过exe4j打包成exe可执行文件
- YUV格式与RGB格式
- .NET之美 第一部分C#语言基础
- Caffe使用: Ubuntu 14.04(x64) 从cuda 7.0 升级到 cuda8.0
- C# 动态加载组件后怎么在开发环境中调试
热门文章
- 2023.2.26【模板】扩展Lucas定理
- EMBARK研究: 依那西普治疗早期nr-axSpA达48周的临床和MRI疗效
- Json.stringfiy json未定义
- Vue学习笔记之Vue-CLI快速使用
- 轻量级CI/CD发布部署环境搭建及使用_04_docker安装nexus3
- Deer_GF之框架介绍
- [UnityShader]unity中2D Sprite显示阴影和接受阴影
- VBA 常用知识点
- vue移动端禁止弹层穿透、点击元素滚动到视图中心杂文日志
- SQL语句中索引失效的原因