obsidian/笔记文件/2.笔记/【Unity】Sprite Atlas功能讲解.md
2025-03-26 00:02:56 +08:00

2.8 KiB
Raw Permalink Blame History

#unity/日常积累

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);
        };
    }
}

这种动态加载方法好处就是能控制加载比如加载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按钮点击后会在预览界面显示出图集的具体数值如图集的内部表现、空间大小、尺寸、使用的压缩格式