Unreal-引擎源码编译和打包

编译虚幻引擎

官方文档——下载虚幻引擎源代码

虚幻引擎是开源的,但是要访问github上的虚幻引擎源码需要将自己的github账号和epic账号绑定并授权,具体操作流程参考UE官方教程。之后我们就可以愉快的访问虚幻引擎的github仓库了:

编译源码需要预留大约250G的硬盘空间,我全部编译完UE5.2的文件夹大小为215G

clone源码:

1
git clone https://github.com/EpicGames/UnrealEngine.git

直接clone源码默认是在release分支下,当我们把源码全部clone到本地之后,记得切换到想要编译的版本再进行后续操作,这里选择编译安装的5.2.1版本。

1
git checkout 5.2.1-release 

之后依次运行根目录下的 Setup.bat (下载一些需要的依赖,需要一两个小时) 和 GenerateProjectFiles.bat(生成UE5.sln,几分钟)

之后就可以从 VS2022 打开 UE5.sln 开始编译了,为了避免一些可能的编译问题,最好在Visual Studio Installer中安装如下模块(使用Unity的游戏开发可以不安装):


在打开UE5.sln之后,VS会自动检测需要安装那些组件,跟随指引安装即可:

安装完成之后,右键UE5,点击生成,开始编译(我电脑编译大约七个小时。。)

编译完成之后找到这个地址 %Engine-Folder%\UnrealEngine\Engine\Binaries\Win64\UnrealEditor.exe ,启动!

创建项目

记录从源码版引擎创建第三人称模板,打包到安卓平台的过程。
参考官方文档——Android开始入门

打开虚幻编辑器后,按照如下选项新建项目,注意目标平台选择 移动平台,质量预设选择 可缩放,项目名称为全英文:

创建完成之后会自动打开VS2022,显示刚刚创建的项目工程,右键项目名称,点击生成:

对于第三人称模板来说大约需要几分钟,之后就可以在虚幻编辑器中找到该项目;

参考《UE4开发笔记》Tip 1 编译完全指南发现,如果将 %UnrealEngine%\Engine\Build 目录下的 SourceDistribution.txt 文件改名为 InstalledBuild.txt 就不需要再在VS中手动点击生成了,会和直接下载UE一样直接打开项目(这两个文件都是空的,可以放心改名),具体原理参考上面的文章。

打开项目之后,由于我们想要打包到安卓平台,为了保证开发中和最后在手机上运行效果一致,我们需要设置预览渲染级别(第一次设置之后编译shader需要一段时间):

通过运行按钮左边的按钮可以设置当前的预览渲染模式:

打包到安卓平台

按照官方文档——Android开始入门步骤进行即可,这里记录几个需要注意的点和自己遇到的报错;

Android Studio

安装 Android Studio 时需要严格按照官方文档下载 Android Studio 4.0,不要下载最新版,因为最新版不自带jdk,会导致之后打包时报错。安装完成之后,要把系统变量中的 JAVA_HOME 值改为 Android Studio文件夹中的jre路径(设置完毕后重启电脑),在我们按照教程启动 SetupAndroid.bat 的时候会去找系统变量中的 JAVA_HOME

如果使用自己的jdk会报如下错误或者类似的和rungradle.bat有关的错误:

UE项目设置

需要勾选生成apk,否则不能正常安装到手机:

这里前三项默认即可(会在 SetupAndroid.bat 中自动设置),后两项需要和对应的版本一致,SDK API Level这里默认填写的是 latest,会使用电脑中最新版本的SDK,这里要注意不要和SetupAndroid.bat 中的设置冲突(该文件中会定义用到的SDK的版本,如果下载最新版的Android Studio会默认下载更高版本的SDK,也会造成打包失败);

手机设置

在完成上面的操作之后,还需要在手机上打开开发者模式,这样就能通过打包完成后的文件夹中的批处理命令将游戏安装到手机上:

手机的具体设置UE官方文档写的很详细:设置Android设备,这里记录一下我遇到问题,我准备使用退役的小米8(没有SD卡)当作测试用机,在安装时会报如下错误:

这是由于MIUI禁止了在没有安装SD卡时通过USB安装程序,需要先插上SD卡,打开 USB安装,之后再拔掉SD卡,之后不需要SD卡也可以正常安装了:

当手机通过USB连接在电脑上并且设置好上面的各种配置后,可以选择直接在Android设备上启动,如果没有打开USB安装选项也会报如下错误:

启动成功!

参考

UE文档-分享和发布项目-Android-开始入门
Windows10 UE4.27 新手向打包安卓项目流程整理
UE4学习笔记(1):UE源码下载编译+安卓打包
《UE4开发笔记》Tip 1 编译完全指南


Unreal-引擎源码编译和打包
https://kenny-hoho.github.io/2023/09/12/Unreal-引擎源码编译和打包/
作者
Kenny-hoho
发布于
2023年9月12日
许可协议