Skip to main content

打包器使用说明

demo资源

以Hermes项目99_flexi_engine_publish\ 目录下资源打包作为demo(以下简称demo)。

项目打包需要包含两部分资源:引擎和项目。

打包器要求资源统一在一个目录下。

所以打包的时候需要将引擎目录和项目目录部署在同一个目录下。

demo的资源目录示例:框中目录即为demo打包所需资源。

图形用户界面 描述已自动生成

打包器组成

打包器3个目录

99_flexi_engine_publish\engine\client\windows\tools\packager\

doc

包含打包器相关的文档和示例文件。

ui_pak

包含打包器的启动文件、脚本和配置等。

windows

包含打包器的应用程序等。

在使用打包器时,我们主要关注打包器的配置即可。

打包配置

打包器的配置文件在如下目录:

ui_pak\res\ini

目录中包含4个文件

需要关注的配置文件是packer_patch.ini和packer_version.ini

packer_patch.ini

记录资源路径相关的信息。

包含2个参数:TargetRoot和SourceRoot

TargetRoot:记录生成的资源包的绝对路径。

SourceRoot:记录项目源资源绝对路径。

这些信息通过打包器的界面完成设置。所以这个文件一般不需要手动配置。

packer_version.ini

配置项目资源的分包部署。此配置文件需要手动配置。

打包器在doc目录中提供了一份demo的配置文件packer_version_demo.ini。

demo配置为Hermes项目99_flexi_engine_publish\ 目录下资源打包的配置。可以参考此配置,对配置项做适当修改。然后改名为packer_version.ini,替换掉打包器中对应的配置文件。

packer_version.ini配置参数

此ini文件的每一个section作为一个打包项,[main]配置是保留配置,不作为打包项,但在此中设置的配置对其他section的配置产生影响。

Type:类型,支持Copy和Package两种配置。

Copy:复制文件/文件夹。

Package:将文件数据写入数据包。

Source:相对于packer_patch.ini中参数SourceRoot配置的目录的子目录。

Target:如果Type=Copy,那么这个值就是相对于packer_patch.ini中参数TargetRoot配置的目录的子目录;如果Type=Package,那么这个值就是文件在数据包(.package文件)的相对路径。一般情况下,Target和Source设置相同的值即可。

Source和Target设置的路径须以’\’结尾。

Exclude:排除特定后缀名的文件,使其不参与打包发布。

ExcludeFile:排除特定名称的文件,使其不参与打包发布。

IncludeSubDir:是否允许Source参数设置目录下的子目录参与打包发布。

true:允许;false:拒绝

ExcludePathDir:排除Source参数设置目录下的特定子目录,使其不参与打包发布。

IncludePathFile:包含Source参数设置目录下的特定文件,使其参与打包发布。

打包器的界面

启动ui_pak目录下的ui_pak.bat,启动打包器程序。打包器界面如图所示:

左侧第一个按钮“生成版本安装包”,用于完成项目整包的制作。点击此按钮,会弹出制作整包的配置界面。

制作整包的配置界面

如图,只需要关心“打包源文件目录”和“打包目标根目录”即可。

设置打包源文件目录

通过右侧的“选择”按钮,设置打包源文件目录。以demo为例,选择的即为包含引擎和项目资源2个目录的所在目录99_flexi_engine_publish\

设置打包目标根目录

选择右侧的“选择”按钮,设置一个已存在的空目录即可。请确保此目录所在磁盘具有足够空间来存放打包后的项目包。

设置完成后的整包配置界面

完成以上2步操作后,界面会变成如下样式。

图形用户界面, 应用程序描述已自动生成

点击“保存设置”按钮,即可将2个根目录的信息记录到配置文件packer_patch.ini。

也可以直接点击按钮“生成版本”,在写入配置之后开始打包。

打包过程

点击上图中的“生成版本”按钮后,即开始打包。正常情况下,打包器界面会输出形如信息:

打包成功后,则会输出形如信息:

打包生成

在打包目标根目录会产生4个目录,完整的项目包在Install目录下

Install目录

以demo为例,共产生3个子文件夹:

engine:引擎目录

hermes: Hermes项目目录

packages:产生的数据包(.package)目录

图形用户界面, 文本, 应用程序描述已自动生成

另有一个文件packages.ini,需要将此文件复制/剪切到图中engine子目录engine\client\windows\release_md_vs2019x64

此文件记录了本次打包产生的数据包文件(.package)信息,供引擎在包模式下加载包资源。

重新打包

如果需要打新的项目包,需要清空“打包目标根目录”,或者创建新的空目录。

启动项目

基于demo的打包配置,打包器生成的项目的资产目录结构和原始资产目录结构保持一致。新增的packages目录是存放数据包的目录。

doc目录中,有一个bat模板文件game_framework_package_demo.bat,用于在包模式下启动项目。根据项目的实际情况,将此文件部署到适当位置,然后修改其中配置。

修改项包含2项:

引擎fx_main.exe的相对路径;

参数OPEN_PROJECT中设置的项目projectinfo文件,此配置项中的相对路径基于引擎fx_main.exe而定。

demo中,将此文件部署在了hermes\02_config目录下,保持与散资源模式一致。

图形用户界面, 应用程序描述已自动生成

分发

Install目录下所有资源即为打包完成后的完整项目包,可用于分发。