From de5e17aed4d7d59789f4eac65637e8e94ef358dc Mon Sep 17 00:00:00 2001 From: liuzhihai Date: Fri, 5 Mar 2021 15:16:05 +0800 Subject: [PATCH] =?UTF-8?q?[=E6=96=B0=E5=A2=9E]=E6=96=B0=E5=A2=9E=E6=96=87?= =?UTF-8?q?=E6=A1=A3=E6=96=87=E4=BB=B6=E5=A4=B9=E7=94=A8=E6=9D=A5=E5=AD=98?= =?UTF-8?q?=E6=94=BE=E5=8A=9F=E8=83=BD=E8=AF=B4=E6=98=8E=E4=BB=A5=E5=8F=8A?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E6=80=9D=E8=B7=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Doc.meta | 8 +++ Assets/Doc/AssetBundleReadMe.txt | 71 +++++++++++++++++++++++++++ Assets/Doc/AssetBundleReadMe.txt.meta | 7 +++ 3 files changed, 86 insertions(+) create mode 100644 Assets/Doc.meta create mode 100644 Assets/Doc/AssetBundleReadMe.txt create mode 100644 Assets/Doc/AssetBundleReadMe.txt.meta diff --git a/Assets/Doc.meta b/Assets/Doc.meta new file mode 100644 index 0000000..53ccc15 --- /dev/null +++ b/Assets/Doc.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 060012335ca07d34d8e20261451bd71e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Doc/AssetBundleReadMe.txt b/Assets/Doc/AssetBundleReadMe.txt new file mode 100644 index 0000000..c400be5 --- /dev/null +++ b/Assets/Doc/AssetBundleReadMe.txt @@ -0,0 +1,71 @@ +一、打包(一个或者多个资源打成一个ab) + + 1、划分资源粒度(控制ab大小) + + 1):全自动 https://blog.csdn.net/wowo1gt/article/details/100779277?spm=1001.2014.3001.5501 + + 特列:文件划分在哪个ab包中,不够明了。当在代码中需要加载某个资源时,不好填写加载路径 + + 2):配置文件: 需要打成ab的文件夹根路径、ab输出路径、对应的平台、 ab划分规则、上传的服务器地址(可选) + + ab划分规则(文件夹下的资源怎么归类),比如:整个文件夹下的资源打成一个ab、文件夹下的子文件夹打成一个ab、文件夹下的每一个资源打成ab + + 依赖到了非ab的文件根文件夹下的资源规则,比如:只有一个资源依赖就跟随依赖资源、被多个资源依赖就打成共享 + + 特例(?): 内置资源、shader + + 2、设置assetbundle名字 + + 特例:图集设置bundle名字最好与Packing Tag一致 + + 3、调用对应平台的打包api(压缩方式、使用hash作为标识、不写typetree(?)、打包平台) + +二、热更(不用重新下载安装包,能够更新资源或者逻辑) + + 1、热更准备工作 + + 1):资源版本号文件、热更资源列表文件 + + 资源版本号文件:每次打完需要热更的ab文件更改 + + 热更资源列表文件:相比于基础包(出apk、ipa那时刻的安装包)的差异ab文件列表,每一个ab文件由路径、md5值组成 + + 2):资源版本号文件、热更资源列表文件、差异ab文件上传服务器 + + 2、下载热更资源 + + 1):下载资源版本号文件,对比本地安装包资源版本号;若版本号一致直接进入游戏 + + 2):下载热更资源列表文件,对比本地热更资源列表文件,找出两文件间的差异。新增、修改则加入下载列表;删除则加入删除列表 + + 差异对比方式:①、本地记录文件有没有 ②、与本地记录文件的md5值是否一致 ③、本地记录文件多余项 + + 特殊情况:下载中断,接续上次下载进度 + + 3):下载需要下载的ab文件 + + 4):删除需要删除的ab文件 + + 5):更新资源版本号文件、热更资源列表文件内容 + +三、加载 + + 1、加载方式 + + 1):同步 + + 2):异步 + + 特殊情况:循环依赖、异步加载过程中又触发同步加载 + + 2、引用计数(?) + + 3、卸载 + + 4、Addressables(官方自研的打包、热更、加载) + + 1):打包(本质还是打成ab) + + 2):热更(默认为按需更新,若想进入游戏的时候统一下载更新需要自己扩展。参考链接:https://answer.uwa4d.com/question/5f6c0a789424416784ef2445) + + 2):加载方式(只有异步加载) \ No newline at end of file diff --git a/Assets/Doc/AssetBundleReadMe.txt.meta b/Assets/Doc/AssetBundleReadMe.txt.meta new file mode 100644 index 0000000..2904954 --- /dev/null +++ b/Assets/Doc/AssetBundleReadMe.txt.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 414b5698d2debf445a56f0df6290ee28 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: