自从Unity 提供 Sprite Packer 方案,精灵图片就不需要自己来合并图集了,而是设置 Packing Tag 就会使得 Unity 自动帮我们合并图集。但是代码大全做资源更新的时候,自动生成的图集是如何打包到 AssetBundle 呢,这里使用一些解包工具来探索一下。先建立测试环境,如下所示:

green_0.png 没有设置图集下载网 Packing Tag,red_0.png 和 red_1.png 都设置 可以看到自己家的地图软件Packing Tag 为 red,可以从上图看到它们合并起来了。
&代码编程软件nbsp;
接着,使用代码构建 AssetBundle 包,代码如资源网站都是在哪找的下:
C# Code
|
1 2 3
|
|
BuildPipeline.BuildAssetBundles(outputPath, Bui图集谷魔物喵ldAssetBundleOptions.UncompressedAssetBundle | BuildAs所示setBun代码生成器dleOptions.ForceRebuildAssetBundle, &nbs可以看到人的高清卫星地图p; EditorUserBuildSettings.activeBu可以看到胖次的游戏ildTarget);
|
打出的 AssetBundle 包,用 Unity Assets Bundle Extractor 工具打开:

点击 Info 图集谷星之迟迟按钮,查看 Bundle 里面的资源文件,显示如下:

可以看到 green_0.png 有两条,一条是(Sprite),另一条是(Texture2D)。而 red_0.png 和 red_1.png 都只有所示一条(Sprite代码大全可复制),它们的纹理在图集 Sprite可以看到公交车走到哪里的软件AtlasTex可以看到ture-red-64×32-fmt12 里面。在主界面点击 Export 按钮,导出 Assets 资源,注意不能去掉 “Remove the TypeTree” 的选项,否则会导致下面的工具无法解析。图集下载网用 Unity Assets Explo资源鼠rer 打开所导出的Ass图集谷怎么打不开了ets资源,显示文件信息如下:

可以看到, gre资源库能否关闭en_0.png 是 ARGB32 格式,图集是 DXT5 格式。点击 Extract All 按钮,即可提取这些资源,如下资源机是什么意思所示:

但是对于图集的提取,并不完善,Androi图集谷魔物喵d 版的 Assets 图集资源可能会提取失败,而 P图集录C 版的可能会显示错乱,如下所示:

&n代码编程bsp;
暂时未找到其他更好的办法来解决。
&n代码编程bsp;
测试更新包图集情况
现在再创建一个文件夹,添加图集吧规范库一些图片,如下图所图集谷魔物喵示:

精灵 red_2.png 也设置 Pack资源机是什么意思ing Tag 为 red ,打进图集里面图集15j401。再次构建 AssetBundles 包,然后解包,可以看到图集也被打到名为 2 的这个 AssetBundle 包里面。如下所示:

游戏运行的时候,读取 red_1.png 和 读取 red_2.png 是从不同图集加载的,所以它们不能合并批次。
测试代码如下资源天气:
C# Code
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
|
usin图集16g101-1g UnityEngine; using UnityEngine.UI;图集谷星之迟迟 public class loadSprite : MonoBehaviour { &nb资源天气sp; 资源嗅探;pr资源鼠ivate string sprite1Ab = “AssetBundles/Windo代码大全可复制ws/1″; p资源管理器怎么打开rivate string sprite2Ab= “AssetBundles/W代码编程入门indows/2″; &nbs可以看到别人的微信聊天记录吗p; void Start () {  资源鼠;&n代码图片bsp; AssetBundle abspri资源库能否关闭te1 = AssetBundle.Create资源FromFile(sprite1Ab);  资源库能否关闭; &图集谷怎么打不开了nbsp;AssetBundle&代码零九nbsp;absprite2 =可以看到公交车走到哪里的软件&n资源鼠bsp;AssetBundle.CreateFromFile(sprite2Ab); 资源机 transform.FindChild(“ImageNum1”).G资源etComponent().sprite&nbs资源勘查工程专业p;= absprite1.LoadA所示的拼音sset(“Assets/Scene/1代码图片/red_1.png”); transform.Fin可以看到自己家的地图软件dChild(“ImageNum2”).GetComponent().sprite = absprite2.LoadAsse代码图片t(“Assets/Scene/2/red可以看到别人的微信聊天记录吗_2.png”); }图集谷星之迟迟 }
|
运行结果如下图集下载网:

要实现批次合并的话,需要把原来的 red_0.png 和 red_1.png 再打进名为 2 的 AssetBundle&n资源天气bsp;里,即更改它们的 AssetBundle 名称为 2,这并不会增所示加多少空间,因为它只是增加精灵索引,才能引用到新图集里面的图片。
测代码零九试代码如下:
 资源勘查工程专业;
C# Code
|
1 2可以看到密码的wifi万能钥匙 3 4 5 6 7可以看到广州塔的酒店 8 9 10 11 12 13 14 15 16 17
|
|
using UnityEngine; using UnityEngine.UI; public&n代码编程bsp;class loadSprite : MonoBehaviour { private string sprite1Ab =&n可以看到胖次的游戏bsp代码软件;”AssetBundles/Windows/1″; private string sprite2Ab =&可以看到公交车走到哪里的软件nbsp;”AssetBundles/Windows/2″; void可以看到实景的地图软件 Start () { AssetBundle absprite1&nb图集sp;=&nb可以看到公交车走到哪里的软件sp;AssetBundle.CreateFromFile(sprite1A可以看到别人的微信聊天记录吗b); &资源嗅探nbsp; AssetBund资源鼠le absprite2 = AssetBundle.CreateFromFile(sprite2图集15j401Ab); &nb图集谷魔物喵sp;  代码编程软件; tra所示的拼音nsform.FindChild(“ImageNum1”).GetCo资源mponent().sprite = abspri资源鼠te2.LoadAsset(“Assets/Scene/1/red_1.png”); &n图集官网bsp; transform代码软件.FindChild(“ImageNum2”).GetComponent().sprite = absprite2.LoadAsset(“Assets/Scene/2/red_2.png”); &nb可以看到人的高清卫星地图sp;&n图集15j401bsp; } }资源嗅探
|
运行结果如下:
工具下载:
Unity5 Sprite 图集打包 AssetBundle 更新探索原文链接:https://qipaiyuanmaxiazai.com/12263.html,转载请注明出处~~~
评论0