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

在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打包图集,有 : SpritePacker 。现在的SpriteAtlas要比 SpritePacker容易理解。

 

 

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

 

Unity2d引入新功能SpriteAtlas,Sprite新的图集方式_第1张图片Unity2d引入新功能SpriteAtlas,Sprite新的图集方式_第2张图片

 

 

创建 SpriteAtlas

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

 

Unity2d引入新功能SpriteAtlas,Sprite新的图集方式_第3张图片

 

可以指定图集中包含的内容,您还可以查看按的包预览包结果。

比如文件夹 , 文件都可以。而且是Sprite Sheet也是可以的,但是内容会在新的Atlas中重新排序。

 

Unity2d引入新功能SpriteAtlas,Sprite新的图集方式_第4张图片

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

Unity2d引入新功能SpriteAtlas,Sprite新的图集方式_第5张图片

 

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

 

Unity2d引入新功能SpriteAtlas,Sprite新的图集方式_第6张图片

 

 

 

SpriteAtlas 设置

 

Unity2d引入新功能SpriteAtlas,Sprite新的图集方式_第7张图片

类型

Master 基本上没有问题。

另一种类型,是 Variant 类型。 感觉是复用之前的

 

Unity2d引入新功能SpriteAtlas,Sprite新的图集方式_第8张图片

现在让我们实际使用生成的 SpriteAtlas 

使用  Resources.Load   加载图集: 

// 需要新 的命名空间 using UnityEngine.U2D;

SpriteAtlas weaponAtlas = Resources.Load("WeaponAtlas");

        然后得到指定的Sprite:  参数是 名称

Sprite sprite = weaponAtlas.GetSprite("axe2");

 

当然了也是可以 在脚本中直接引用:

[SerializeField]private SpriteAtlas _weaponAtlas = null;

Unity2d引入新功能SpriteAtlas,Sprite新的图集方式_第9张图片

 

可以得到图集中的所有Sprite:  

//WeaponAtlas中精灵个数

int spriteCount = _weaponAtlas.spriteCount;

//sprite 

Sprite[] spriteArray = new Sprite[spriteCount];

//spriteArray得到数组

_weaponAtlas.GetSprites(spriteArray);

 

或者: 

 

Unity2d引入新功能SpriteAtlas,Sprite新的图集方式_第10张图片

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

原文链接

你可能感兴趣的:(Unity3d)