Unity Addressable和CCD使用

2021-09-30  本文已影响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);     

        }

上一篇下一篇

猜你喜欢

热点阅读