最近同事在从零学习UE,还没有开始就已经在坑里摸爬滚打了...
(零)有没有必要使用源码编译的引擎?发行版安装流程!
广为人知的是UE是一个开源的游戏引擎。但是开源不代表一定要用源码编译,如果不需要修改、调试、学习引擎代码的话,其实没有必要使用源码编译的引擎。源码编译只能够带来更多的bug,以及带动更多的硬盘销量。
如果您确定需要源码编译,请跳过本节。
如果您想要更多的调试,可以先尝试在发行版中 点击下拉菜单->选项->勾选输入调试用符号。
接下来的内容是如何安装发行版的UE5。
下载Epic游戏商城,进入官网点击右上角的 获取EPIC GAMES,完成下载后安装。
如果不使用虚幻引擎,Epic就是steam这样的游戏平台(区别是Epic经常有免费的游戏可以领)。
进入Epic,点击虚幻引擎 ,切换到库选项卡。
点击引擎版本文字右侧的加号,然后会出现一个灰色的UE引擎。
点击版本号可以切换版本,然后点击安装,发行版的UE就安装完成了。是那么的简单,就像安装一个发行版的UE那样 (?)
另外不要忘了在 虚幻引擎->虚幻商城->本月免费 中领取免费的资源,Epic甚至会谢谢你的白嫖。
注意:同一个引擎只能同时启动一个项目,如果在运行项目时报错了不妨看看有没有其他项目还开着。
(一)下载GitHub上的UE代码
尝试打开GitHub的UE连接: https://github.com/EpicGames/UnrealEngine
这会有两个结果,第一个结果:看到了UE的代码。那么恭喜您,可以跳过账号关联部分,直接克隆仓库。
第二个结果:404 This is not the web page you are looking for。很遗憾,不是UE代码出问题了,而是您的GitHub账号没有获得授权。
这种情况,请按照UE官方的教程进行账号关联(图文并茂):https://www.unrealengine.com/zh-CN/ue-on-github
成功后请重新打开本节开头的UE GitHub连接。
克隆仓库
如果您熟悉IDE和Git的操作,可以自行克隆仓库并跳过本节,下面是针对编程新手的克隆教程。
下载并安装一个VS2022(针对UE5)。
注意:1. 不同版本的UE可能会需要不同版本的VS。2. 请保留 VisualStudioSetup.exe,更新和添加组件都依赖于它。
这里只以VS为例,如果需要使用Rider的话,相信您已经有过使用游戏引擎的经验。
打开VS,点击克隆存储库。
弹出的界面需要输入存储库位置和路径,存储库位置是指远程仓库的链接,路径是指要保存到的本地位置。
存储库位置的获取请打开刚才的GitHub链接: https://github.com/EpicGames/UnrealEngine
点击Code->HTTPS->复制,将链接粘贴到存储库位置中。如果希望修改引擎代码并使用Git管理,请在GitHub中Fork原仓库,并使用Fork得到的仓库的HTTPS链接。
完成输入后,点击右下角的克隆。
此时VS会弹出GitHub账户的关联请求,请登录先前关联了Epic的GitHub账户。
完成登陆后会自动开始克隆,耐心等待克隆完成。
如果需要退出或切换GitHub账户,请进入VS,点击文件->账户设置。
如果克隆时报错 early EOF Fetch-pack: invalid index-pack output,可能是因为网络原因(文件过大),请重新克隆或尝试使用其他Git工具克隆,例如TortoiseGit。
完成后在本地看到的是这样的文件结构。
切换分支
克隆完成后,VS会自动打开本地仓库的文件夹,在右下角可以看到当前所处的分支(release)。
如果不小心关闭了,请运行VS,点击打开本地文件夹,找到本地仓库位置。
点击Git->管理分支。
点击remotes/origin展开下拉菜单,找到希望使用的版本分支,右键选择签出。
点击左下角查看签出进度。
签出完成后右下角会变为当前分支(5.2)。
(二)下载源码UE的依赖
首先,我们需要运行Setup.bat,这里不推荐双击运行,推荐通过CMD运行,不然窗口会自动关闭导致看不到报错信息(它真的很能报错)。
打开CMD,进入到本地仓库的文件夹,有两种方法:
(方法1)在本地仓库文件夹的顶部路径中输入cmd,回车。
(方法2)在开始菜单搜索命令提示符,打开。
(方法2)输入本地仓库所在的盘符+冒号,我这里是d盘,所以输入d:,回车。
(方法2)输入cd+本地仓库路径,我这里是 D:\UnrealEngine,所以输入cd D:\UnrealEngine,回车。
输入Setup.bat,回车等待依赖下载完成。
此时会开始运行Setup.bat下载依赖,这里会有三种情况:
如果一路畅通,下载完成,那么恭喜您,可以跳过本节了。
如果速度很慢,很遗憾,我也不清楚有没有好的解决方法,欢迎评论。但至少没有报错!
如果报错,实属正常,基本是网络原因导致,可以尝试接下来的报错解决方法,或连接到外网后重新运行Setup.bat。
报错:Failed to download
首先尝试重新运行Setup.bat(有断点续连),如果仍然报错,对于5.1.1及以前的版本可以替换Commit.gitdeps.xml。
打开网页: https://github.com/EpicGames/UnrealEngine/releases
找到需要的UE版本(5.1.1及以前),点击Assets展开下拉菜单,点击Commit.gitdeps.xml(浏览器会自动开始下载)。
下载完成后,替换本地仓库的\Engine\Build\Commit.gitdeps.xml。重新运行Setup.bat。
其他的问题和解决方法欢迎评论。
(三)生成解决方案文件(sln)
成功下载依赖后,让我们用相同的方法运行 GenerateProjectFiles.bat(双击运行或从CMD运行)。
如果报错可能是因为依赖下载的不全,或者错误修改了引擎代码,请根据具体报错具体分析。
请注意,如果直接在文件夹里增、删了文件(cpp等),需要重新运行GenerateProjectFiles.bat,不然不会出现在VS的解决方案资源管理器中。
生成sln后的文件目录是这样的。
关闭之前通过文件夹打开的VS(如果还开着的话),双击打开新生成的sln。如果没有遇到报错或提示,恭喜您,可以跳过本节了。
下面是一些可能的报错。
报错:根据解决方案,可能需要安装额外的组件才能获得完整的开发体验。
请点击安装,并根据提示完成安装。
报错:不支持目标框架。
很多版本的.NET Framework可以在VisualStudioSetup.exe中安装。运行VisualStudioSetup.exe,点击修改。
点击单个组件,在下面能够看到很多版本的 .NET Framework。
这里以组件中没有的.NET Framework 4.5 为例。
打开网址: https://www.nuget.org/packages/microsoft.netframework.referenceassemblies.net45
点击 Download package。
将下载得到的文件后缀从.nupkg改为.zip,解压缩。
将\build\.NETFramework中的4.5文件夹拷贝至
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework
重新打开sln。
(四)编译代码
展开Engine文件夹,右键UE5,点击设为启动项目。
此时启动项目会变为UE5。
活动解决方案配置默认是 Development Editor,这里使用默认的就行,如果需要其他的可以自行切换(需要重新编译)。
编译UE5
(方法1)直接开始调试(包含编译),请确保此时的启动项目是UE5,编译完成后会启动引擎。
(方法2)右键UE5->生成,请确保是生成UE5,不要生成全部的项目(其中一些用不到并且容易报错)。
然后会开始漫长的编译过程,请耐心等待。
如果需要终止编译,请点击生成->取消。
如果有报错,请尝试重新生成,如果仍然报错,需要具体问题具体分析。
编译UnrealLightmass
为了使用构建功能,我们还需要编译UnrealLightmass。不然可能报错虚幻Lightmass可执行文件已经过时,或在构建时报错 Lightmass crashed。
展开Programs文件夹,找到UnrealLightmass,右键生成或重新生成。
(五)调试引擎
通过引擎打开项目后,VS会中断调试(C++项目可以直接运行项目的sln),此时可以点击调试->附加到进程。
搜索UnrealEditor,点击附加(UE4的话搜索UE)。
UE5可以勾选默认启动上次的项目,这样在第二次启动时就不会中断调试了。