GameFramework:打包资源,打随app发布包,打包生成文件夹说明,上传资源至服务器,下载资源,GameFreamworkList.dat 与GameFrameworkVersion.dat |
您所在的位置:网站首页 › 腾讯文档如何打包文件夹 › GameFramework:打包资源,打随app发布包,打包生成文件夹说明,上传资源至服务器,下载资源,GameFreamworkList.dat 与GameFrameworkVersion.dat |
打包配置![]() 左边为ab包,中间为ab包中内容,右边为项目中资源文件 点击save,SaveConfiguration,保存打包关系到ResourceCollection.xml中 是否使用文件系统,只能在xml中手动配置,代表下载完后会把几个零散的ab文件合成一个文件 ![]() 1、AssetBundle 列表 AssetBundle列表(AssetBundle List)列出了项目中包含的所有 AssetBundle,空 AssetBundle、场景 AssetBundle 和非场景 AssetBundle 分别用三种不同的图标标识。 ![]() 功能按钮说明: ① 增加新的 AssetBundle,点击后需指定 AssetBundle 的名称(含目录名,使用“/”分隔)和变体名称(可空、根据需要使用)。 ② 重命名选中的 AssetBundle。 ③ 移除选中的 AssetBundle。 ④ 更改 AssetBundle 的加载方式,可选择从文件加载、从内存加载,或者是从内存中解密后加载等。 ⑤ 标记此 AssetBundle 是否需要随 App 一起发布,若勾选则打包时会做特殊处理。 packed作用应该是,打包app,可附带部分资源进入app。。随后热更是根据服务器文件列表与app安装后释放到的可读写路径下随包packed,再做差异更新 是否使用文件系统只能在xml中手动配置,代表下载完后会把几个零散的ab文件合成一个文件 ![]() 如果一个asset打入a.bundle,会从原来所在的b.bundle移除 bundle:TestNew中塞入asset->{“Guid”:“4a17d2c656f5c6b44a31e3ee547a76b0” Bundle:DataTables:取消asset->{“Guid”:“4a17d2c656f5c6b44a31e3ee547a76b0”, 打AB包![]() Working Path:Unity 生成 AssetBundle 时的工作目录。 Output Package Path:为单机模式生成的文件的所在目录,若游戏是单机游戏,生成结束后将此目录中对应平台的文件拷贝至 StreamingAssets 后构建 App 即可。 Output FullPath:为可更新模式生成的完整文件包的所在目录,若游戏是网络游戏,生成结束后应将此目录上传至资源服务器,供玩家下载用。 Output Packed Path:为可更新模式生成的文件的所在目录,若游戏是网络游戏,生成结束后将此目录中对应平台的文件拷贝至 StreamingAssets 后构建 App 即可。一个 AssetBundle 是否会生成到 Output Packed Path,取决与这个 AssetBundle 是否在 AssetBundle 编辑工具中被标记为 Packed。 Packed与Full文件夹AB包和非AB包文件,在GF中被统一抽象为 Resource 文件,文件后缀为.dat ,在我们的资源列表中,记录的即是这些 .dat 资源文件的资源信息,信息中包含了这些资源文件的名称,hashcode,长度,zipHashcode,zip长度,是否AB包,加载设置,等等信息。 "生成目录/ Packed " (此目录下存储的是随APP一起发布的资源) “生成目录/Full” (此目录下存储的是所有资源) GameFreamworkList.dat 与GameFrameworkVersion.XXXX.datGameFreamworkList.dat (Packed中) 和 GameFrameworkVersion.XXXX.dat (Full 中) ,游戏中总的资源信息会记录在 GameFrameworkVersion.XXXX.dat 文件中,此文件是作为客户端资源总表而存在的,游戏的资源文件和资源信息的处理和操作都已此表为准。而 GameFreamworkList.dat 文件是作为客户端目录的当前资源记录表存在,只是记录了当前所在的目录下的资源文件信息。 需要把 Packed 文件夹下的所有文件,拷贝到工程中的 streamingAssets 目录下,再发布APP(ResourceEditor面板中标记Resource 为Pakeaged 后这个 Resource 就会打包到 Packed中)。只读目录下的 GameFreamworkList.dat 只记录了本目录下的所有资源文件的信息,这些信息再以后的资源校验中会被使用。资源总表 GameFrameworkVersion.XXXX.dat 在可更新模式下是可以不随安装包一起发布,因为这个文件后面会被下载到读写目录中。 应用每一次启动,首先需要你先得到当前资源总表的内部版本号(内部版本号在ResourceBuilder面板设置。至于内部版本号的动态获取过程,采用何种方式,则需要自己来实现),然后即可使用这个最新的内部版本号,调用 CheckVersionListResult ResourceComponent.CheckVersionList(int latestInternalResourceVersion) 来判定当前的资源总表是不是最新的,此时 CheckVersionList 方法会访问读写目录,并尝试读取 GameFrameworkVersion.XXXX.dat 文件,如果文件没有或者内部携带的资源内部版本号与你传递进来的不同,则会返回资源需要更新的枚举值,否则则会返回不需要更新。 上传AB包到服务器文件夹复制文件过去 ![]() 填充内容在打包报告中找 ![]() 找到这行,把里面内容填充到Version.txt ![]() Version.txt填充为 代码语言:javascript复制{ "ForceUpdateGame": false, "LatestGameVersion": "0.1.0", "InternalGameVersion": 0, "InternalResourceVersion": 2, "UpdatePrefixUri": "http://10.12.24.82:10089/Windows", "VersionListLength": 7138, "VersionListHashCode": -1969978894, "VersionListCompressedLength": 2653, "VersionListCompressedHashCode": 861209557 }出现负数不影响使用,为crc32码转为int出现的负数 Unity使用真实ab与更新模式![]() ![]() ![]() 改为服务器地址,格式如下 { “GameVersion”: “0.1.0”, “InternalGameVersion”: 0, “CheckVersionUrl”: “http://10.12.24.82:10089/{0}/Version.txt”, “WindowsAppUrl”: “https://starforce.gameframework.cn”, “MacOSAppUrl”: “https://starforce.gameframework.cn”, “IOSAppUrl”: “https://starforce.gameframework.cn”, “AndroidAppUrl”: “https://starforce.gameframework.cn”, “END_OF_JSON”: “” } 运行下载![]() 下载完的文件夹可以通过这个打开 ![]() |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |