找回密码
 立即注册
查看: 277|回复: 0

(1)下载和编译Unreal5源码

[复制链接]
发表于 2022-7-23 07:45 | 显示全部楼层 |阅读模式
本文应该是目前Unreal中文教程中为数不多的,把重点放在介绍C++工程应用和插件开发方向的教程。笔者并非不擅长或者不喜爱使用蓝图这样的工具,只是从事各种语言的开发工作多年,研究和使用OpenSceneGraph等经典三维引擎多年,从事地理信息、展览展示、工业仿真、无人驾驶等行业多年,关注Unreal社区和项目也有多年。发现大多数爱好者还是着力于场景的搭建,美术的优化,以及简单逻辑脚本的实现方向,并无太多人研究如何使用C++这一原生语言去真正发挥虚幻引擎的强大之处。当然亦有一些大佬直接选择对Unreal源代码进行剖析,站在更高的层面上去分析和理解这个强大的三维引擎的方方面面。更多开发高手也可能潜伏于民间和各个游戏公司之中,默默耕耘,无暇分享。
笔者因自身原因(天生色盲),以及个人喜好问题,并不想在这个系列文章中过多去阐述Unreal编辑器的基本用法,场景如何搭建得美观漂亮,材质的编辑使用,蓝图的使用策略等等可见于各类初学者教程和书籍中的知识。我将尽可能只使用一些默认几何体和材质,以及官方Starter Kit中的素材,通过C++工程或者C++插件去编写更为复杂的逻辑,或者引入其它外部开源依赖库,满足非游戏领域的各类需求。希望能对更多爱好者有所帮助。
废话不多说,在这个系列教程的第一小节,我们首先来研究一下Unreal最新源代码的下载,编译和使用。当然读者自己下载Epic Launcher并选择一个心仪的编辑器版本,以及购买各种市场道具模块,这无疑是更为轻松的选择。不过既然我们选择了原生语言编程这样一条荆棘之路,那么从一开始最好就能体会一下荆棘密布的快感。
目前最新版本的Unreal需要用户至少安装了Visual Studio 2019或者更高的版本。如何安装这里不再赘述。首先我们需要从Github上下载Unreal源代码(通过GIT获取最新代码,或者从Releases中选择一个稳定版本),这一步需要将用户的Epic账户与Github账户首先进行绑定,具体操作可以参看下面的两个链接,本文亦不再赘述。
https://docs.unrealengine.com/5.0/zh-CN/downloading-unreal-engine-source-code/
https://www.unrealengine.com/zh-CN/ue-on-github
因为国内访问Github的种种问题,这个签出或者下载的过程可能会苦而且长。完整签出的代码仓库大小可能在数十GB,而笔者下载的5.0.3版本的源代码压缩包则有大概430MB左右(解压缩之后应该不到2GB)。当你终于历尽千帆完成了整个工作之后,在本机应该会得到这样一个目录:


直接双击Setup.bat,开始检查和下载各种依赖库。这一过程基本上是自动的,只是要注意保持自己的网络环境畅通,以及磁盘上预留了充分的空间供Unreal肆意放纵。


这一过程大概要下载20GB左右的数据,主要是各种的素材和模板,以及第三方库资源。之后双击GenerateProjectFiles.bat来生成Visual Studio工程文件。如果你的机器上尚未安装合适版本的VS IDE,那么这里会用明确的黄色和红色报错提示来要求你进行修正,例如:


黄色字的意思是,本机虽然安装了VS2022版本,但是缺少必要的工具链组件(至少需要Windows 10 SDK 10.0.18362或者更高的版本,以及MSVC v143 VS2022的C++ x64/x86生成工具),因此需要打开Visual Studio Installer并找到指定的对象,安装到系统中即可。


Unreal中用于Windows端编译准备的两个.bat文件有一个共同的特点,就是如果没有任何错误,那么它运行结束后会自动退出,否则会暂停在控制台页面并显示错误信息给用户进行修改。如果一切正确执行,那么完成GenerateProjectFiles.bat之后在当前目录下应该会出现一个UE5.sln文件,双击并打开它。


此时从工具栏中选择配置项“Development Editor”,“Win64”,然后单独右键点击UE5工程,并选择“生成”(Build)即可。此时Unreal将正式进入也许又是十分漫长的编译流程,出去散散步耐心等待,并且确保自己的电脑里预留了足够多的空间(之前的几步操作之后,UE已经不知不觉吃掉了你40-50GB的磁盘空间了;没有五到十倍的空间储备,不要轻易上手哦)。
注意工程打开后,如果之前没有安装DotNet Core 3.1版本的运行时库,那么系统会提示你安装。在笔者的i7 CPU上,第一次编译过程大约需要1-2个小时左右不等,注意完成后应当所有的项目都显示编译成功;编译结束后,可以在Engine/Binaries/Win64目录下找到刚生成的UnrealEditor.exe文件,并双击运行。


此时读者也许早已十分熟悉的Unreal编辑器界面将自动加载启动,第一次启动时同样需要耗费一些时间,继续静静等待即可。如果需要自己修改编辑器和运行时的一些代码,或者调试某些Unreal内部功能,则需要在Visual Studio环境下修改代码后再次进行编译。在没有清理掉中间文件的前提下,修改部分代码并再次执行增量编译的过程将会迅速很多,不至于让我们总是苦等。


如果要从Visual Studio环境直接启动Unreal Editor并进行代码调试和测试,那么首先右键点击UE5工程,选中“设为启动项目”,然后从红色框中显示的位置点击启动“本地Windows调试器”。


如果是非Windows用户,Unreal同样提供了Setup和GenerateProjectFiles工具,并可按照几乎相同的步骤执行代码编译的流程。MacOSX用户需要使用后缀名为.command的两个文件,Linux用户则使用后缀为.sh的命令脚本。更具体的一些注意事项可以直接参看工程目录下的README.md文件。
笔者编译完Unreal工程并保留所有中间文件的整个目录大小约为161GB,有兴趣体验一下Unreal编译流程的朋友可以做好磁盘空间的准备。当然,后面的文章并不一定非要以本次编译得到的Unreal版本为基础,使用Epic Launcher安装运行的UE5编辑器程序同样可以使用笔者提供的代码开发和测试。只不过研究开源系统如果少了编译的乐趣,则不得不说是程序员的一大憾事了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-25 14:44 , Processed in 0.091690 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表