自学内容网 自学内容网

Unity实现自定义图集(五)

以下内容是根据Unity 2020.1.0f1版本进行编写的

在Unity编辑器上的自定义图集已经完成了,但是如何将自定义图集文件打包,以及在移动平台将自定义图集和对应的纹理图(Texture)加载出来是个问题,本篇就来解决这些问题

1、思路

首先是自定义图集的打包。
自定义图集实际上只是一个脚本类,保存所需的各种数据,只不过在Unity编辑器端为了开发时能方便地修改图集,因此才需要实现.asset为载体的文件,用于方便开发者操作。
打包实际上只需要将自定义图集生成的Texture以及保存在SteamingAssets目录下的自定义图集信息文件(就是一进游戏就需要立即被)打包即可。
对于图集生成的纹理图(Texture),可以在打包前刷新一下全部的自定义图集,然后将生成好的纹理图复制到Assets/Atlas目录下打AB包,进游戏在需要的时候把AB包加载到游戏内存中使用。

2、实现

在这里插入图片描述
首先看一下打包策略。打开AppConst脚本,在Init方法可以看到,目前的打包特别简单,仅把存放预制的整个目录都打成一个Bundle。
在这里插入图片描述
改动也很简单,就是将Atlas目录下每个Texture文件打一个包。

private void BuildBundles()
    {
   
        // 先刷新一遍图集,并将图集生成的Texture移动到Atlas目录,并刷新AssetDatabase触发Unity的资源导入
        MyAtlasPreloadManager.PackAllMyAtlas();
        List<string> addTexturePaths = new List<string>();
        foreach(var file in new DirectoryInfo(Application.dataPath + "\\Atlas").GetFiles("*.asset"))
        

原文地址:https://blog.csdn.net/weixin_44165354/article/details/142782879

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!