使用SpriteAtlas打包图集并显示

本文详细介绍了Unity中使用SpriteAtlas的注意事项,包括设置Sprite类型、勾选includeinbuild的重要性、EditorSettings中的SpritePacker模式选择,以及如何将SpriteAtlas打包到AssetBundle并在不同平台加载显示。在电脑和安卓端,读取AssetBundle的路径不同,但都能正确显示精灵。通过实例展示了从AssetBundle中加载和使用SpriteAtlas的完整流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、在电脑端编辑器演示。

1.图片要必须要设置为Sprite(2D and UI),否则不能装入SpriteAtlas中。

2.如果不勾选include in build,会提示SpriteAtlasManager.atlasRequested wasn't listened to while test requested.但是可以正常显示,在电脑编辑器运行,无论勾选与否都可以正常显示最好是勾选

3.在Editor Settings 中 Sprite Packer 的 Mode 一定要设置为 Always Enabled,如果设置为Enabled For Builds.就会显示为白色背景,其实值也传到了。

4.打包到AssetBundle。spriteAtlas的名字为test,打包的名字为newsp,然后在运行的时候取出图集,从图集中取出单个精灵sprite。进行显示,在电脑端和安卓端的区别是读取路径不同,都可行。

        AssetBundle ab;
        //ab=AssetBundle.LoadFromFile("Assets/StreamingAssets/newsp");//电脑端的路径可行
        //ab = AssetBundle.LoadFromFile(Application.dataPath + "!assets/newsp"); //手机端的路径可行
        ab = AssetBundle.LoadFromFile(Application.streamingAssetsPath + "/newsp");//手机端的路径可行

        //这里是加载打包的图集,里面包含很多的图片,都是sprite类型的
        SpriteAtlas atlas = ab.LoadAsset<SpriteAtlas>("test");
        int spriteCount = atlas.spriteCount;
        spriteArray = new Sprite[spriteCount];

        atlas.GetSprites(spriteArray);//克隆此图集中的所有 Sprite 并将其填充到提供的数组内。

参考» Unity2017的新spriteAtlas (litefeel.com) 

(27条消息) Unity2d引入新功能SpriteAtlas,Sprite新的图集方式_游戏开发实验室-优快云博客

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值