UE4开发七:UE4打包

2023-11-17

一、使用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,点击+号,重新配置,命一个新的名字

img

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

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文件

img

编辑该文件,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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

UE4开发七:UE4打包 的相关文章

  • 【基于Cocos Creator实现的赛车游戏】9.实现汽车节点的控制逻辑

    转载知识星球 深度连接铁杆粉丝 运营高品质社群 知识变现的工具 项目地址 赛车小游戏 基于Cocos Creator 3 5版本实现 课程的源码 基于Cocos Creator 3 5版本实现 在上一节的课程中 您已经实现了通过触控给刚体施
  • Unreal Engine4蓝图编程学习(一)

    学习内容主要介绍了蓝图进行对象交互 升级玩家技能 升级AI敌人 跟踪游戏状态完成游戏体验等内容 内容来源于 Unreal Engine4蓝图可视化编程 书籍为2017年 与现在版本有一定区别 一 制作移动标靶 1 1 首先 我们想先创建一个
  • python编程实验,模拟聪明版的尼姆游戏设计原理

    实验原理与内容 本实验完成一个模拟聪明版的尼姆游戏功能 尼姆游戏是个著名的游戏 有很多变种玩法 两个玩家轮流从一堆物品中拿走一部分 在每一步中 玩家可以自由选择拿走多少物品 但是必须至少拿走一个并且最多只能拿走一半物品 然后轮到下一个玩家
  • 3D游戏编程与设计作业4——使用skybox构建游戏场景

    步骤1 首先下载支持使用Fantacy Skybox FREE 的Unity版本 2021 3 步骤2 打开unity store 搜索Fantacy Skybox FREE 并进行下载 步骤3 下载成功后import对应的包到项目中 步骤
  • 第一篇:PyGame小游戏——2D迷宫游戏(16W字详解)

    目录 在开头的开场白 在CSDN看到一篇 利用深度优先算法自动生成随机迷宫 的blog 突发灵感 就想做这个迷宫游戏 本文大部分讲的意思 而非代码 文章最后会展示最终代码和图片的 读者不用过多地注意那些 本文是作者第一次写blog 难免有些
  • 国内比较好的软件接单平台有哪些?

    随着企业信息化水平的提高 已经有很多企业意识到了使用专用软件可以大大提高资金使用率 提高员工的工作效率 降低成本 同现有业务接轨 即软件设计思路和方法的一般过程 包括设计软件的功能和实现的算法和方法 软件的总体结构设计和模块设计 编程和调试
  • Unity动画系统详解

    目录 动画编辑器 编辑器面板 动画复用 前言 人形重定向动画 Humanoid 通用动画 Generic 旧版本动画 Legacy 动画控制器 系统状态 切换条件 状态机脚本 IK动画 反向动力学 BlendTree 混合树 Animato
  • Unity之获取游戏物体对象或组件的几个方法

    文章目录 前言 通过物体名称获取对象 GameObject Find Transform Find 通过物体标签获取对象 GameObject FindWithTag GameObject FindGameObjectWithTag Gam
  • cocos creator学习笔记 十分详细

    游戏系统 分辨率及适配 当屏幕分辨率与设计分辨率不同时会出现适配问题 widget 对节点实现自动定位 运行原理 生命期回调 onLoad 回调会在节点首次激活时触发 比如所在的场景被载入 或者所在节点被激活的情况下 通常我们会在 onLo
  • 《开箱元宇宙》:Madballs 解锁炫酷新境界,人物化身系列大卖

    你是否曾想过 元宇宙是如何融入世界上最具代表性的品牌和名人的战略中的 在本期的 开箱元宇宙 系列中 我们与 Madballs 的战略顾问 Derek Roberto 一起聊聊 Madballs 如何在 90 分钟内售罄 2 000 个人物化
  • 秋招内推码汇总:2024届 游戏公司

    给24届秋招的同学整理了一批秋招内推码 有需要的同学请自取 PS 内推码来自 内推鸭小程序 完美世界 内推码 NTAHVOH 巨人网络 内推码 NTAX3AU 诗悦网络 内推码 NTANdQx 网龙 内推码 EVBMJ3 西山居 内推码 N
  • 运行游戏找不到x3daudio1_7.dll怎么解决?教你如何快速修复的教程

    在计算机使用过程中 我们经常会遇到一些错误提示 其中之一就是 x3daudio1 7 dll丢失 这个错误提示可能让我们感到困惑和烦恼 但是不用担心 本文将为您介绍x3daudio1 7 dll丢失的原因以及五种修复方法 帮助您解决这个问题
  • 利用阿里云的尖端数据库解决方案增强游戏数据管理

    在快节奏和动态的游戏世界中 对于努力为玩家提供无缝体验的公司来说 管理大量数据是一项关键挑战 阿里云是亚太地区的主要参与者 也是全球公认的运营数据库管理系统领导者 提供量身定制的创新解决方案 以应对游戏公司面临的独特数据管理挑战 这篇博客探
  • 如何有效获取APP新增用户

    在提升APP用户获取效果方面 有几个关键策略可以考虑 市场定位与目标用户明确 在推广过程中 确保清晰地了解你的目标用户是谁 以便有针对性地开展推广活动 对用户的需求和偏好有深入了解 可以更好地制定吸引用户的策略 引人入胜的营销策略 设计有吸
  • 全面解析找不到xinput1_3.dll无法继续执行代码的多种解决方案(实用教程)

    xinput1 3 dll文件是什么 xinput1 3 dll是一个动态链接库文件 它是DirectInput的组件之一 DirectInput是微软公司开发的一种输入设备驱动程序 用于处理游戏控制器 键盘 鼠标等输入设备的信号 xinp
  • 广告竞价策略:激发广告变现潜能的关键

    在数字化时代 广告已经成为企业推广品牌 产品和服务的关键手段之一 为了最大程度地发挥广告的效果 广告竞价策略成为广告主和数字营销专业人士关注的焦点 通过巧妙运用竞价策略 广告主可以在激烈的市场竞争中脱颖而出 实现广告变现的潜能 admaoy
  • 游戏被攻击了要怎么办

    有客户反馈刚上线新款游戏 没两天就被攻击了 导致用户无法登录 来咨询到我们这边能不能帮他解决 今天就来分享下 怎么预防游戏攻击和已经被攻击的游戏服务器该怎么处理 服务器不管是个人还是企业 被攻击的都有 在所难免 特别是新上线时候要承受住外来
  • 游戏开发常见操作梳理之NPC任务系统

    多数游戏存在任务系统 接下来介绍通过NPC触发任务的游戏制作代码 using System Collections using System Collections Generic using UnityEngine
  • 游戏开发之常见操作梳理——武器装备商店系统(NGUI版)

    游戏开发中经常出现武器商店 接下来为你们带来武器装备商店系统的具体解决办法 后续出UGUI Json版本 敬请期待 武器道具的具体逻辑 using System Collections using System Collections Ge
  • 案例研究:YGG 如何通过 GAP 帮助 Pixels 扩大玩家群体

    在 Sky Mavis 联合创始人 Jeffrey Jihoz Zirlin 在 YGG Web3 游戏峰会 W3GS 上发表主题演讲时 他向在场的人们透露 MMO 农场游戏 Pixels 的日活跃用户数已经超过了 130 000 人 这使

随机推荐

  • python使用pygraphdb连接graphdb图数据库

    文章目录 前言 一 GraphDB是什么 二 使用pygraphdb连接graphdb 1 安装pygraphdb 2 功能介绍 数据管理 数据库管理 3 快速上手 4 使用with连接 5 数据管理 6 数据库管理 前言 本文主要介绍如何
  • 计算机组成原理定点源码一位乘,计算机组成原理课程设计-定点原码一位乘法器的设计.doc...

    计算机组成原理课程设计 定点原码一位乘法器的设计 课 程 设 计 报 告 课程设计名称 计算机组成原理课程设计 课程设计题目 定点原码一位乘法器的设计 院 系 计算机学院 专 业 班 级 4401102 学 号 208 姓 名 指导教师 完
  • mysql创建带密码的用户使用密码无法登录,但是不输入密码可以登录

    在cmd窗口 直接使用 mysql usa 可以登录 但是创建sa时候设置密码为123456 原因可能有两个 设置密码后没有强制刷新权限或者重启mysql服务 Mysql数据库的user表中有名字为空的用户名或root的密码为空 解决方法
  • np.where()函数的详细使用介绍

    看了很多博客 见到的没有一个给说清楚了 这里做个记录 这是python提供的函数说明 Help on function where in module numpy where where condition x y Return eleme
  • linux man php,linux man命令的使用

    linux man命令的使用 main 是最常见的帮助命令 也是 Linux 最主要的帮助命令 其基本信息如下 命令名称 man 英文原意 format and display the on line manual pages 所在路径 u
  • 第二个电商项目Bug点统计和解决方法

    第二个完成的项目 在完成项目后 我总结了那些自己感觉重要的BUG 1 BUG系列一 设置延时 导致Activity销毁后 延时中的PullToRefreshListView 为null Bug现象 Bug 85536 在网络不好情况下 快速
  • Nuitka 和 PyInstaller 对比

    一 什么是 Nuitka 和 PyInstaller 1 1 Nuitka Nuitka 是一个 Python 编译器 可以将 Python 代码转换成可执行的 C 代码 然后将其编译成本机可执行文件 与常规的 Python 解释器相比 使
  • 8.3 PowerBI系列之DAX函数专题-矩阵Matrix中高亮显示最大最小值

    需求 用颜色标量年度最大最小值 用颜色标示折线的最大值最小值 实现 在条件格式 规则 基于字段进行计算 度量值 is max min var displayed data calculatetable addcolumns summariz
  • 坚持天天写技术笔记

    恍恍惚惚
  • 用C语言编写一段堆排序算法

    include
  • 同步、异步和阻塞、非阻塞的区别与联系

    同步 异步和阻塞 非阻塞的概念 同步 在执行一个操作的时候需要等待当前操作执行完毕才能执行下一操作 相当于操作串行化 即执行当前函数的时候需要拿到当前函数的返回结果才可以继续执行 异步 在执行一个操作的时候不需要拿到返回结果 只需要拿到注册
  • 程序员必备的免费AI生产力(摸鱼)工具,最后一个,人手必备

    最近ChatGPT等AI技术风靡全球 对于普通大众来说 越来越多的人开始关注智能时代对我们生活的影响 它颠覆了写作 办公 绘画 音视频 图像处理 UI 设计等领域 并涌现出了一批具有颠覆性的应用 在程序员领域 许多 AI 工具已经涌现 如
  • Android fragment间的通讯

    1 使用FragmentPagerAdapter情况下 param viewpagerId viewpager id eg R id vp param position fragment 的位置 return private Fragmen
  • linux线程内存开销

    1 首先是线程自己栈 程序没设置过 就是默认的 ulimit s 中的值 现在一般都是10240 单位KB 2 跟版本有关 是否有 glibc 的 malloc per thread arenas 特性 有了这个特性 设置不好 一个新线程要
  • 2003 - Cant't connect to MySQL server on 'ip'(10060 "Unknown error")

    问题描述 今天在搭建服务器之后 安装好MySQL 启动成功 并且创建远程连接用户 用户名和密码都正确 使用Navicat远程连接抛出如下错误 2003 Cant t connect to MySQL server on 192 168 13
  • Go module的介绍及使用

    Go1 1 1版本发布 2018 08 24发布 已经过去几天 从官方的博客中看到 有两个比较突出的特色 一个就是今天讲的module 模块概念 目前该功能还在试验阶段 有些地方还需要不断的进行完善 在官方正式宣布之前 打算不断修正这种支持
  • 牛客网:美团2021校招笔试-编程题(通用编程试题,第10场)

    某比赛已经进入了淘汰赛阶段 已知共有n名选手参与了此阶段比赛 他们的得分分别是a 1 a 2 a n 小美作为比赛的裁判希望设定一个分数线m 使得所有分数大于m的选手晋级 其他人淘汰 但是为了保护粉丝脆弱的心脏 小美希望晋级和淘汰的人数均在
  • Vivido添加pynq-Z2开发板

    一 下载pynq z2开发板文件 下载地址 https www tulembedded com FPGA ProductsPYNQ Z2 html 二 将下载的文件解压到vivado安装的位置 如果boards目录下面没有boards fi
  • 软件测试自动化UI框架之生成测试报告

    设置报告 自动化测试最后的运行结果要以报告的形式呈现 报告的格式是web端网页 需要引入第三方库 不是唯一的 有很多 一般一个公司统一用一个 1 引入自动生成测试框架报告 2 创建测试报告生成文件夹 reports 3 写代码 框架的入口文
  • UE4开发七:UE4打包

    一 使用UFE打包 UFE Unreal Frontend 虚幻前端 简化加快游戏开发及测试任务的工具 它可以用来准备游戏构建 将游戏部署到设备上并进行启动 测试版本 4 18为例 注意 UE4官方文档原话是在UE4编辑器中启动UFE或者P