【Unity】Sprite Atlas功能讲解

目录

SpriteAtlas创建方法

1、Type: Maskter母版 Variant变体

2、Include Build: 勾选时运行游戏时自动加载入内存中,否则需要手动加载(使用到的时候才会加载!)

3、Allow Rotation:允许图集的图片旋转,勾选后Unity会寻找最好姿势放置在图集内(这样就能让图集容下更多的图片,但是一般我们不勾选,因为这个旋转会影响到实际显示。)

4、Tight Packing: 勾选后使用精度更高的裁剪图集图片(Mesh裁剪),否则是矩阵裁剪(图片是一块矩形图),如果不需要高精度裁剪就别勾,如果发现裁剪出的图片有显示不正确问题,那就可以勾选它了。

5、Padding:图集中一行或一列最大图片个数,有2、4、8选项

6、Read/Write Enabled:图集图片读写权限

7、Generate Mip Maps: 消耗更多的内存带来更好的表现,主要针对高配机时可开启,手游一般都可能不开启。

8、sRGB:使用gamma空间存储rgb,使用后会图片整体变暗;具体效果不清楚,默认不选 

9、Fitler Mode: Point(像素级)、Bilinear(渐变)、Trilinear(更牛逼的)默认Bilinear(一般也是用它,除非你游戏是像素风、或者有更高的要求时选Trilinear)

10、压缩格式

11、Objects for Packing: 打入图集的文件,可放入Texture2D、Sprite、文件夹放入文件夹时会将文件夹下的所有Texture2D、Sprite放入图集

12、Pack Preview按钮:点击后会在预览界面显示出图集的具体数值,如图集的内部表现、空间大小、尺寸、使用的压缩格式


官方文档说明:https://docs.unity3d.com/2017.4/Documentation/ScriptReference/U2D.SpriteAtlas.html

SpriteAtlas创建方法

1、Type: Maskter母版 Variant变体

2、Include Build: 勾选时运行游戏时自动加载入内存中,否则需要手动加载(使用到的时候才会加载!)

手动加载方法如下:

using UnityEngine;
using UnityEngine.U2D; //引用SpriteAtlas的命名空间!
public class MyTest : MonoBehaviour {

	void Start () {
        //SpriteAtlasManager.atlasRegistered //SpriteAtlas加载完成后调用
        //当需要加载图集时调用,传入tag路径,action回调传入加载出来的SpriteAtlas即可完成了图集加载,之后会触发上面的方法
        //如果勾选了Include Build属性,在启动游戏时自动进行这个操作...
        SpriteAtlasManager.atlasRequested += (string tag, System.Action<SpriteAtlas> action) =>
        {
            Debug.Log("tag:" + tag); //tag是SpriteAtlas资源的文件名称
            action(Resources.Load<SpriteAtlas>(tag));
        };

        SpriteAtlasManager.atlasRegistered += (SpriteAtlas spriteAtlas) =>
        {
            Debug.Log("Dosomething!" + spriteAtlas.name);
            Sprite sprite = spriteAtlas.GetSprite("AnimPic_0");
            Debug.Log("从图集中获取到的Sprite:" + sprite.name);
        };
    }
}

 上图为加载失败的情况,在编辑器模式下依然是可以看到图片的,运行时如果图片依赖的图集没有被成功加载到内存,就这样了

请注意在图集中它的名字只是Texture的名称,Sprite的名字是AnimPic_0(所以如果出现加载不到图集图片的情况,那就是Sprite的名称不对)

为什么贴图和Sprite名称会不一样?一般来说是一样的,那是因为我进入了Sprite Editor修改了Sprite的Name(哈哈哈~)

运行时打印:

这种动态加载方法好处就是能控制加载,比如加载AB包采用异步加载,如果默认是自动的话就可能是同步加载。

3、Allow Rotation:允许图集的图片旋转,勾选后Unity会寻找最好姿势放置在图集内(这样就能让图集容下更多的图片,但是一般我们不勾选,因为这个旋转会影响到实际显示。)

4、Tight Packing: 勾选后使用精度更高的裁剪图集图片(Mesh裁剪),否则是矩阵裁剪(图片是一块矩形图),如果不需要高精度裁剪就别勾,如果发现裁剪出的图片有显示不正确问题,那就可以勾选它了。

5、Padding:图集中一行或一列最大图片个数,有2、4、8选项

6、Read/Write Enabled:图集图片读写权限

7、Generate Mip Maps: 消耗更多的内存带来更好的表现,主要针对高配机时可开启,手游一般都可能不开启。

8、sRGB:使用gamma空间存储rgb,使用后会图片整体变暗;具体效果不清楚,默认不选 

9、Fitler Mode: Point(像素级)、Bilinear(渐变)、Trilinear(更牛逼的)默认Bilinear(一般也是用它,除非你游戏是像素风、或者有更高的要求时选Trilinear)

10、压缩格式

11、Objects for Packing: 打入图集的文件,可放入Texture2D、Sprite、文件夹
放入文件夹时会将文件夹下的所有Texture2D、Sprite放入图集

12、Pack Preview按钮:点击后会在预览界面显示出图集的具体数值,如图集的内部表现、空间大小、尺寸、使用的压缩格式
 

 

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值