UE4打包----图文傻瓜版
一、使用UFE打包UFE(Unreal Frontend):虚幻前端,简化加快游戏开发及测试任务的工具,它可以用来准备游戏构建,将游戏部署到设备上并进行启动测试版本:4.18为例注意:UE4官方文档原话是在UE4编辑器中启动UFE或者ProjectLauncher(项目启动程序),其打包发行项目的步骤都一样,但在4.18版本测试中发现,通过打开窗口->开发者工具->会话
一、使用UFE打包
UFE(Unreal Frontend):虚幻前端,简化加快游戏开发及测试任务的工具,它可以用来准备游戏构建,将游戏部署到设备上并进行启动
测试版本:4.18为例
注意:UE4官方文档原话是在UE4编辑器中启动UFE或者ProjectLauncher(项目启动程序),其打包发行项目的步骤都一样,但在4.18版本测试中发现,通过打开窗口->开发者工具->会话前端,进入UFE界面
在UFE中更多的提供了部署、自动化测试等功能。并没有编辑项目的版本、烘焙等选项,因此我们应该打开项目启动程序(project Launcher)
在projectLauncher界面中
红色框1选择当前打包项目名称,红框2是发布的平台,要进行打包,选择红框3的加号进行配置,点击+号,出现如下图,1中输入打包名称,2输入对该包描述,3是配置一系列选项
下面对项目、版本、烘焙、包、部署这些选项详细介绍:
1、在项目选项中一般选择“任何项目”来来修补当前项目。
2、版本中在“您想要编译吗”打勾,版本配置根据自己选择勾选,这里我们选的是开发(development),
如果您需要在发布过程中构建 UAT,请展开 高级设置(Advanced Settings)(可选)。
这里测试时没勾
3、在烘焙中
一般右上角选择按照惯例作为烘焙方法,
在烘焙内容中,选中烘培平台的框。在本例中,为了进行 Windows 测试,我们已选中 WindowsNoEditor。
烘焙语言中,选择中文就行
烘焙地图选择要烘焙的地图,这里我们全选
烘焙选项中,在发布版本/可下载内容/补丁设置中,勾选创建一个该游戏的发布版本进行发布,输入这个版本的版本号,也可在下面输入基于发行的版本
在高级设置中勾选
(1)压缩内容
(2)保存无版本的包
(3)在单个文件中存储所有内容
(4)根据自己情况在烘焙编译配置选择调试(DebugGame)、开发(Development)、发行(Shipping)
4、在包中在你想要如何对版本打包,这里选择打包、存储在本地,并输出到目标路径
5、在部署中,设置为不部署
好,配置完毕,点击右上角Back返回,点击最下角刚刚编辑好的,点击右下角启动概述文件
自动运行,等一段时间就打包好了,去目标路径打开项目即可
注意,如果Launching UAT出错,那么在版本选项->高级设置->编译用户...打钩即可
二、打补丁包
还是打开ProjectLauncher,点击+号,重新配置,命一个新的名字
其他不变,基于发行的版本写上,生成补丁勾上
再启动一次,
三、打包的另一种方式:使用命令行打包
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文件
编辑该文件,CALL后跟上面的命令即可。将下面的参数根据自己情况替换上面的命令行参数即可(注意路径中不能有空格)
注意:如果是服务器打包,需要右键.uproject文件->Switch Unreal Engine version->选择源码版本->ok,然后执行.bat文件
参数介绍:
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
最后:在引擎中打包时候可以看到输出有这段话,也就是命令行打包的代码
放大:
和上面4条语句一样,这里多了些参数,可以在虚幻引擎中打包测试下每个参数,查看该参数的含义
四、UE4搭建、部署服务器(Dedicated Server),
参考文章:https://wiki.unrealengine.com/Dedicated_Server_Guide_(Windows_%26_Linux)
打包服务器后在目录中创建一个.bat,这样写,GKGame是地图名,默认的是打开空地图会报错...independent什么的
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后面跟的是项目名,不能是其他的
参考链接:
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
这里是一个专注于游戏开发的社区,我们致力于为广大游戏爱好者提供一个良好的学习和交流平台。我们的专区包含了各大流行引擎的技术博文,涵盖了从入门到进阶的各个阶段,无论你是初学者还是资深开发者,都能在这里找到适合自己的内容。除此之外,我们还会不定期举办游戏开发相关的活动,让大家更好地交流互动。加入我们,一起探索游戏开发的奥秘吧!
更多推荐
所有评论(0)