美文网首页
Unity Addressable和CCD使用

Unity Addressable和CCD使用

作者: 不正经的搬砖工 | 来源:发表于2021-09-30 15:28 被阅读0次

    1、点击Create Bucket创建桶,然后输入名字,点submit提交。

    图1-1 创建桶 图1-2

    2、下载CLI,然后将ucd放到BuildPath的上层目录

    图2-1 下载CLI 图2-2 BuildPath目录 图2-3 ucd存放位置

    3、进入cmd,进入AssetBundles目录,然后输入登录命令:ucd auth login CosKey 

    图3-1 登录命令 图3-2 COS Key获取

    4、设置使用的桶 ucd config set bucket bucketID

    图4-1 Bucket ID获取 图4-2 激活桶命令

    5、设置Addressable中Remote Load Path:首先如图5-1复制url地址,然后拷贝到Addressable Profiles中的RemoteLoadPath中,我这儿是又创建了一个CCD类,把对应的url封装到类中,这儿直接引用。然后如图AddressableAssetSettings中勾选Build Remote Catalog,确保加载地址为配置的远程加载地址。

    图5-1  复制CCD桶URL 图5-2 设置Addresable中远程加载地址 图5-3 图5-4 勾选Build Remote Catalog

    6、打包资源

    如图6-1 在Addressables Groups中点击Build->New Build->Default Build Script构建资源,资源会生成在BuildPath对应目录下

    图6-1 

    7、上传Addressable生成资源:ucd entries syncCos ./StandaloneWindows

    图7-1 上传资源

    8、对外发布:ucd release create

    图8-1 发布资源

    9、WEB上点击Buckets的桶可以查看内容以及发布信息。

    图9-1 图9-2 发布内容查看 图9-3 发布信息查看

    10、打包   

    Addressable初始化更新代码如下:

    private IEnumerator UpdateBundles()

            {

                Debug.Log("UpdateBundles");

                var initHandle = Addressables.InitializeAsync();

                yield return initHandle;

                var updateCataHandle = Addressables.UpdateCatalogs();

                yield return updateCataHandle;

                if (updateCataHandle.Result.Count > 0)

                {

                    var sizeHandle = Addressables.GetDownloadSizeAsync(updateCataHandle.Result[0].Keys);

                    yield return sizeHandle;

                    long totalDownLoadSize = sizeHandle.Result;

                    Debug.Log("totalDownLoadSize:" + totalDownLoadSize);

                    if (totalDownLoadSize > 0)

                    {

                        var downHandle = Addressables.DownloadDependenciesAsync(updateCataHandle.Result[0].Keys, Addressables.MergeMode.Union, false);

                        while (!downHandle.IsDone)

                        {

                            float percent = downHandle.PercentComplete;

                        }

                        Addressables.Release(downHandle);

                    }

                    Addressables.Release(sizeHandle);

                }

                Addressables.Release(updateCataHandle);     

            }

    相关文章

      网友评论

          本文标题:Unity Addressable和CCD使用

          本文链接:https://www.haomeiwen.com/subject/lveenltx.html