Unity2d引入新功能SpriteAtlas,Sprite新的图集方式

发表于2017-10-09
评论0 5.4k浏览
在Unity 2017.1.0f3中引入了 SpriteAtlas,一个新的图集打包方式。
官方文档: 

之前针对UGUI打包图集,有 : SpritePacker 。现在的SpriteAtlas要比 SpritePacker容易理解。


在使用 之前,之后看 SetPass的  变化!!!!!




创建 SpriteAtlas
首先,创建一个 SpriteAtlas 文件(Asset -> Create -> Sprite Atlas)。




可以指定图集中包含的内容,您还可以查看按的包预览包结果。
比如文件夹 , 文件都可以。而且是Sprite Sheet也是可以的,但是内容会在新的Atlas中重新排序。


要想让贴图进入图集中, 必须是 Sprite才行。 


还有要开启这个功能: 这两个只能开启一个么?   说明这是新旧两种方式了, 只能选择一种





SpriteAtlas 设置


类型
Master 基本上没有问题。
另一种类型,是 Variant 类型。 感觉是复用之前的


现在让我们实际使用生成的 SpriteAtlas 
使用  Resources.Load   加载图集: 
// 需要新 的命名空间 using UnityEngine.U2D;
SpriteAtlas weaponAtlas = Resources.Load<SpriteAtlas>("WeaponAtlas");
        然后得到指定的Sprite:  参数是 名称
Sprite sprite = weaponAtlas.GetSprite("axe2");

当然了也是可以 在脚本中直接引用:
[SerializeField]private SpriteAtlas _weaponAtlas = null;


可以得到图集中的所有Sprite:  
//WeaponAtlas中精灵个数
int spriteCount = _weaponAtlas.spriteCount;
//sprite 
Sprite[] spriteArray = new Sprite[spriteCount];
//spriteArray得到数组
_weaponAtlas.GetSprites(spriteArray);

或者: 

http://blog.csdn.net/u010019717/article/details/76603629

如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引

标签: