UE4开发七:UE4打包

一、使用UFE打包

UFE(Unreal Frontend):虚幻前端,简化加快游戏开发及测试任务的工具,它可以用来准备游戏构建,将游戏部署到设备上并进行启动

测试版本:4.18为例

注意:UE4官方文档原话是在UE4编辑器中启动UFE或者ProjectLauncher(项目启动程序),其打包发行项目的步骤都一样,但在4.18版本测试中发现,通过打开窗口->开发者工具->会话前端,进入UFE界面

img

在UFE中更多的提供了部署、自动化测试等功能。并没有编辑项目的版本、烘焙等选项,因此我们应该打开项目启动程序(project Launcher)

img

在projectLauncher界面中

img

红色框1选择当前打包项目名称,红框2是发布的平台,要进行打包,选择红框3的加号进行配置,点击+号,出现如下图,1中输入打包名称,2输入对该包描述,3是配置一系列选项

img

下面对项目、版本、烘焙、包、部署这些选项详细介绍:

1、在项目选项中一般选择“任何项目”来来修补当前项目。

2、版本中在“您想要编译吗”打勾,版本配置根据自己选择勾选,这里我们选的是开发(development),

如果您需要在发布过程中构建 UAT,请展开 高级设置(Advanced Settings)(可选)。

这里测试时没勾

img

3、在烘焙中

img

一般右上角选择按照惯例作为烘焙方法,

在烘焙内容中,选中烘培平台的框。在本例中,为了进行 Windows 测试,我们已选中 WindowsNoEditor。

烘焙语言中,选择中文就行

img

烘焙地图选择要烘焙的地图,这里我们全选

烘焙选项中,在发布版本/可下载内容/补丁设置中,勾选创建一个该游戏的发布版本进行发布,输入这个版本的版本号,也可在下面输入基于发行的版本

在高级设置中勾选

(1)压缩内容

(2)保存无版本的包

(3)在单个文件中存储所有内容

(4)根据自己情况在烘焙编译配置选择调试(DebugGame)、开发(Development)、发行(Shipping)

img

4、在包中在你想要如何对版本打包,这里选择打包、存储在本地,并输出到目标路径

img

5、在部署中,设置为不部署

img

好,配置完毕,点击右上角Back返回,点击最下角刚刚编辑好的,点击右下角启动概述文件

img

自动运行,等一段时间就打包好了,去目标路径打开项目即可

img

注意,如果Launching UAT出错,那么在版本选项->高级设置->编译用户…打钩即可

二、打补丁包

还是打开ProjectLauncher,点击+号,重新配置,命一个新的名字

UE4开发七:UE4打包_第1张图片

其他不变,基于发行的版本写上,生成补丁勾上

img

再启动一次,

img

三、打包的另一种方式:使用命令行打包

1、Compiling the client (编译客户端的命令行代码):

RunUAT BuildCookRun -project=“full_project_path_and_project_name.uproject” -noP4 -platform=Win64 -clientconfig=Development -serverconfig=Development -cook -allmaps -build -stage -pak -archive -archivedirectory=“Output Directory”

2、Cooking the client (烘焙客户端命令行):

RunUAT BuildCookRun -project=“full_project_path_and_project_name.uproject” -noP4 -platform=Win64 -clientconfig=Development -serverconfig=Development -cook -allmaps -NoCompile -stage -pak -archive -archivedirectory=“Output Directory”

3、Compiling the dedicated server (服务器编译命令行):

RunUAT BuildCookRun -project=“full_project_path_and_project_name.uproject” -noP4 -platform=Win64 -clientconfig=Development -serverconfig=Development -cook -server -serverplatform=Win64 -noclient -build -stage -pak -archive -archivedirectory=“Output Directory”

4、Cooking the dedicated server (服务器烘焙命令行):

RunUAT BuildCookRun -project=“full_project_path_and_project_name.uproject” -noP4 -platform=Win64 -clientconfig=Development -serverconfig=Development -cook -server -serverplatform=Win64 -noclient -NoCompile -stage -pak -archive -archivedirectory=“Output Directory”

打包步骤:

打开原项目的目录,在项目根目录下创建Package.bat文件

UE4开发七:UE4打包_第2张图片

编辑该文件,CALL后跟上面的命令即可。将下面的参数根据自己情况替换上面的命令行参数即可(注意路径中不能有空格)

注意:如果是服务器打包,需要右键.uproject文件->Switch Unreal Engine version->选择源码版本->ok,然后执行.bat文件

img

参数介绍:
RunUAT:ue4安装文件夹中RunUAT路径,测试为:D:\UE_4.18\Engine\Build\BatchFiles\RunUAT.bat

BuildCookRun:一般就这样写,不变,构建烘焙并运行

"-project=full_project_path_and_project_name.uproject":该参数是项目中.uproject的路径,例如测试时为:C:\Users\Administrator\Documents\UnrealProjects\tt1\tt1.uproject

-noP4:一般就这样写,不变

-platform=Win64:在什么平台上运行

-clientconfig=Development :客户端什么模式:调试(DebugGame)、开发(Development)、还是发行(shipping)

-serverconfig=Development:服务端什么模式:调试(DebugGame)、开发(Development)、还是发行(shipping)

-cook :烘焙,一般不变

-allmaps:烘焙的地图,这里是烘焙所有地图,如果只烘焙一部分地图,格式:-maps=Map1+Map2+Map3

-server:如果在服务器端就加这个

-serverplatform=Win64:服务器端的平台

-noclient:如果仅针对服务端加上这个

 -build:构建,一般不变

 -stage:这个不知道,一般加上

 -pak :这个应该是打包的意思

-NoCompile:不编译

-archive -archivedirectory="Output Directory":输出文件夹路径,测试为:D:\Package
测试:
编译客户端的命令行代码:

CALL D:\UE_4.18\Engine\Build\BatchFiles\RunUAT.bat BuildCookRun -project=C:\Users\Administrator\Documents\UnrealProjects\tt1\tt1.uproject -noP4 -platform=Win64 -clientconfig=Development -serverconfig=Development -cook -allmaps -build -stage -pak -archive -archivedirectory=D:\Package

烘焙客户端命令行:

CALL D:\UE_4.18\Engine\Build\BatchFiles\RunUAT.bat BuildCookRun -project=C:\Users\Administrator\Documents\UnrealProjects\tt1\tt1.uproject -noP4 -platform=Win64 -clientconfig=Development -serverconfig=Development -cook -allmaps -NoCompile -stage -pak -archive -archivedirectory=D:\Package

服务器编译命令行:

CALL C:\UE_Source_Code\UnrealEngine-4.18.3-release\Engine\Build\BatchFiles\RunUAT.bat BuildCookRun -project=C:\Users\Administrator\Documents\Unreal_Projects\DedicatedServerTest\DedicatedServerTest.uproject -noP4 -platform=Win64 -clientconfig=Development -serverconfig=Development -cook -server -serverplatform=Win64 -noclient -build -stage -pak -archive -archivedirectory=C:\Users\Administrator\Desktop\111

服务器烘焙命令行:

CALL C:\UE_Source_Code\UnrealEngine-4.18.3-release\Engine\Build\BatchFiles\RunUAT.bat BuildCookRun -project=C:\Users\Administrator\Documents\Unreal_Projects\DedicatedServerTest\DedicatedServerTest.uproject -noP4 -platform=Win64 -clientconfig=Development -serverconfig=Development -cook -server -serverplatform=Win64 -noclient -NoCompile -stage -pak -archive -archivedirectory=C:\Users\Administrator\Desktop\111

最后:在引擎中打包时候可以看到输出有这段话,也就是命令行打包的代码

img

放大:

img

和上面4条语句一样,这里多了些参数,可以在虚幻引擎中打包测试下每个参数,查看该参数的含义

四、UE4搭建、部署服务器(****Dedicated Server****)

参考文章:https://wiki.unrealengine.com/Dedicated_Server_Guide_(Windows_%26_Linux)

打包服务器后在目录中创建一个.bat,这样写,GKGame是地图名,默认的是打开空地图会报错…independent什么的

img

UE4搭建、部署服务器遇到的bug:

1、在下载好源码版虚幻四4.19和vs2017后,GenerateProjectFiles会报错

Windows SDK v8.1 must be installed in order to build ths target

解决办法:安装Windows sdk 10.0也不行,必须安装8.1,

2、在新建一个项目后再vs中用development server后生成会报错,Multiple configurations specified on command line (first Test, then Dev

解决办法:项目命名有问题,不能命名成Test或test

3、在项目中source文件夹下 项目名Server.Target.cs文件中,在4.19版本中需要把第四行注释掉

using UnrealBuildTool;
using System.Collections.Generic;
 
//[SupportedPlatforms(UnrealPlatformClass.Server)]
public class testServerTarget : TargetRules   // Change this line as shown previously
{
       public testServerTarget(TargetInfo Target) : base(Target)  // Change this line as shown previously
       {
        Type = TargetType.Server;
        ExtraModuleNames.Add("test");    // Change this line as shown previously
       }
}

注意:最后的ExtraModuleNames.Add后面跟的是项目名,不能是其他的

五、安卓环境和打包

UE4的安卓环境配置起来比较简单,因为利用了英伟达提供的codeworks,就可以一键配置环境了,以下是我的UE4的目录,在这个目录中找到CodeWorksforAndroid-1R6u1-windows.exe这个文件,当然因为UE4的版本不同,可能会有略微差别。

C:\Program Files\Epic Games\UE_4.19\Engine\Extras\AndroidWorks\Win641

以下是UE4官方安装的介绍,很详细

https://docs.unrealengine.com/en-us/Platforms/Mobile/Android/InstallingAndroidCodeWorksAndroid

参考链接:

1、官方文档:http://api.unrealengine.com/CHN/Engine/Deployment/index.html

2、风蚀之月博客:https://blog.ch-wind.com/ue4-patch-release-dlc/

3、DavidZ博客:http://blog.sina.com.cn/s/blog_710ea1400102ww0t.html

4、虚拟现实开发博客:http://blog.csdn.net/u013131744/article/details/56490606

5、UE4社区:https://wiki.unrealengine.com/How_to_package_your_game_with_commands

你可能感兴趣的:(游戏)