GameFramework篇:打包需知

打开GameFramework场景,在编辑器模式下找到

GameFramework篇:打包需知_第1张图片

表示当前资源加载模式是编辑器模式。(个人理解是和正常开发下的资源加载模式无异

那么,如果我们开发完成,要打包项目呢?

肯定就不能继续使用编辑器模式加载资源了,因为GameFramework在打包后资源加载方式是通过AB包加载。

什么是AB包?

AssetBundle的作用是,把资源打包,然后可以动态加载,从而可以实现资源的热更新。

正常来说,我们如果要使用AB包方式进行加载的话,需要进行很麻烦的配置,而GF已经帮我们安排好了最基础的部分,所以在一般项目中不用过分关心这些配置,只需要把相应的资源打包进相应的包里即可。

看完这些,已经对GF的资源加载方式有了一定的了解

如果是一个新工程,我们要先做点准备工作(这个可以自己改,不过打包教程不需要额外的介绍,就按这个来了)

AssetBundleEditor配置官网已有说明

为了方便我们就以官方案例StarForce为例,进行安卓打包

GameFramework篇:打包需知_第2张图片

我们把相应的资源打包进相应的包内即可,加载的事,GF已经帮我们做好了。

GameFramework篇:打包需知_第3张图片

以下转载自官网说明:http://gameframework.cn/archives/320

界面从左到右分为 AssetBundle 列表、AssetBundle 内容列表和 Asset 资源列表三部分。

1、AssetBundle 列表

AssetBundle列表(AssetBundle List)列出了项目中包含的所有 AssetBundle,空 AssetBundle、场景 AssetBundle 和非场景 AssetBundle 分别用三种不同的图标标识。

使用 AssetBundle 编辑工具 - 第2张  | Game Framework

功能按钮说明:

① 增加新的 AssetBundle,点击后需指定 AssetBundle 的名称(含目录名,使用“/”分隔)和变体名称(可空、根据需要使用)。
② 重命名选中的 AssetBundle。
③ 移除选中的 AssetBundle。
④ 更改 AssetBundle 的加载方式,可选择从文件加载、从内存加载,或者是从内存中解密后加载等。
⑤ 标记此 AssetBundle 是否需要随 App 一起发布,若勾选则打包时会做特殊处理。

注:若新增或重命名 AssetBundle 失败,可能是名称包含不合法字符(只能使用大小写英文字母、数字、点、中划线和下划线)或者重名(判定重名不区分大小写)。

2、AssetBundle 内容列表

AssetBundle 内容列表(AssetBundle Content)列出的当前选中的 AssetBundle 中包含的资源。若某个资源是无效的,会以黄色叹号前缀图标和资源的 GUID 显示,产生无效资源的原因一般是删除了 Asset 但没有从 AssetBundle 内容列表中移除。

使用 AssetBundle 编辑工具 - 第3张  | Game Framework

功能按钮说明:

① 选中 AssetBundle 内容列表中的所有资源。
② 取消 AssetBundle 内容列表中所有资源的选中状态。
③ 更改 AssetBundle 内容列表中的显示方式,可选择 Name(资源文件名)、Path(资源全路径)或者 Guid(资源 GUID)。
④ 将选中的资源从 AssetBundle 中移除。

3、Asset 列表

Asset 列表(Asset List)列出从指定路径下筛选出的所有资源。

使用 AssetBundle 编辑工具 - 第4张  | Game Framework

功能按钮说明:

① 将选中的一个或多个资源增加到选中的 AssetBundle 里。由于 Unity 的限制,不允许在一个 AssetBundle 中同时存放场景(*.unity)和非场景资源。
② 分别将已选中的一个或多个资源作为 AssetBundle 名来创建 AssetBundle,并将自身加入到对应的 AssetBundle 里。
③ 隐藏已经存在于 AssetBundle 中的资源,只列出尚未指定 AssetBundle 的资源。
④ 从所有的 AssetBundle 中清理无效的资源,并移除所有空的 AssetBundle。建议 Save 前总是点一下 Clean 按钮,因为构建 AssetBundle 的时候,Unity 不允许存在无效的资源或者空的 AssetBundle。
⑤ 保存当前所有 AssetBundle 和资源的状态。注意在使用此编辑工具的过程中随时保存编辑结果,若需要恢复上次编辑状态,关闭并重新打开此编辑工具即可。

准备打包

GameFramework篇:打包需知_第4张图片

GameFramework篇:打包需知_第5张图片

此窗口中显示的选项包括:转载自http://gameframework.cn/archives/356

  • 环境信息(Environment Information)列出了当前项目的基础信息。
  • 构建对象(Build Target)用于指定构建哪些平台的 AssetBundle。
  • AssetBundle 选项(AssetBundle Options)用于指定构建 AssetBundle 时的参数,此处选项最终转换为 Unity 中的 BuildAssetBundleOptions 枚举,一般情况下使用默认设置即可。由于构建过程需要对生成的 AssetBundle 名称进行处理,故这里不允许使用 Append Hash To AssetBundle Name 选项。
  • 压缩所有 AssetBundles(Zip All AssetBundles)用于指定构建 AssetBundle 后,是否进一步使用 Zip 压缩 AssetBundle 包。
  • 记录离散依赖资源(Record Scattered Dependency Assets)选项会向资源列表文件中追加依赖资源信息,用于调试(此部分尚未完成)。
  • 构建事件(Build Event Handler)用于指定追加构建资源包前后的行为,在实现 IBuildEvent 接口之后,即可在此处选择。例如可以在构建资源包后自动将资源拷贝到指定目录。
  • 内部资源版本号(Internal Resource Version)建议每次自增 1 即可,Game Framework 判定资源包是否需要更新,是使用此编号作为判定依据的。
  • 资源版本号(Resource Version)根据当前 App 版本号和内部资源版本号自动生成,作为参考显示。
  • 输出目录(Output Directory)用于指定构建过程的结果输出目录(手动输入的话,记得按下回车键 ^_^),请确保具有访问此目录的权限且具有足够的磁盘空间。
    • Working Path:Unity 生成 AssetBundle 时的工作目录。
    • Output Package Path:为单机模式生成的文件的所在目录,若游戏是单机游戏,生成结束后将此目录中对应平台的文件拷贝至 StreamingAssets 后构建 App 即可。
    • Output FullPath:为可更新模式生成的完整文件包的所在目录,若游戏是网络游戏,生成结束后应将此目录上传至资源服务器,供玩家下载用。
    • Output Packed Path:为可更新模式生成的文件的所在目录,若游戏是网络游戏,生成结束后将此目录中对应平台的文件拷贝至 StreamingAssets 后构建 App 即可。一个 AssetBundle 是否会生成到 Output Packed Path,取决与这个 AssetBundle 是否在 AssetBundle 编辑工具中被标记为 Packed。

之后点击Start,出包后。找到AB包所在目录,找到目标平台AB包

GameFramework篇:打包需知_第6张图片

复制到Unity工程下的StreamingAssets,作为加载源

GameFramework篇:打包需知_第7张图片

测试

将编辑器资源加载方式关闭

GameFramework篇:打包需知_第8张图片

运行游戏,若正常运行,则说明AB包打包成功。可以出包了

GameFramework篇:打包需知_第9张图片

任何平台的打包都要进行这些步骤

刚开始学这个框架,如有不妥之处,恳请指正!

你可能感兴趣的:(Unity相关,GameFramework)