虚幻引擎 4
虚幻引擎 4 是 Epic Games 创建的最新版本的视频游戏引擎。
本文内容最初编写于 虚幻引擎 wiki,并专门为 Arch Linux 进行了调整。
先决条件
请参阅推荐硬件。
获取源代码
虚幻引擎源代码位于私有 GitHub 存储库中,需要向开发者(Epic Games)免费注册才能访问。
要获得访问权限,请登录或注册 Epic Games 账户,并在 Epic Games '已连接账户仪表板' 页面的底部提供可访问的 GitHub 用户名。然后,您将收到访问私有 GitHub 存储库的邀请。
克隆
仅克隆所需分支会更快
$ git clone git@github.com:EpicGames/UnrealEngine.git --branch release --single-branch
编译
您可以手动从下载的 GitHub 版本编译,或从 AUR 安装。
手动
您可以在 GitHub 上获取最新的 ZIP 版本。
设置
$ ./Setup.sh
生成项目文件
$ ./GenerateProjectFiles.sh
然后编译
$ make -j$(nproc)
这将编译虚幻引擎和虚幻编辑器。
从 AUR
虚幻引擎 4 在 AUR 中以 unreal-engine-4AUR 软件包(或 UE5 版本的 unreal-engineAUR 软件包)提供。您可能需要修复 UE4 的权限,以便在首次启动时预编译着色器
# chmod -R a+rwX /opt/unreal-engine/Engine
虚幻引擎 5 安装后约为 95 GiB(在首次启动时编译着色器后),构建时需要约 140 GiB,压缩后的输出 ABS 软件包约为 35 GiB。
由于存储库是私有的,您可以设置 SSH 密钥,以便使用您的 GitHub 账户下载源代码。
为了减小下载量,您可以使用 .zip 版本作为 PKGBUILD 的来源。请注意,除非您首先按照上方概述的步骤操作,否则此链接将不起作用。
编译时间
编译可能需要 20 分钟到几个小时,具体取决于您的机器。例如,在 AMD FX-8350(8 线程)上,配备 16GB DDR3 和 SSD 以及 Clang 3.8.1,大约需要 40 分钟。(这不包括着色器编译)
故障排除
编译问题
如果编译失败,您应该尝试使用 Debug profile[1] 构建编辑器
$ make UE4Editor-Linux-Debug
但是,这可能会对性能产生一定影响。
另一种方法是使用不同的 clang 版本(例如 3.8 或 4.0)
运行时问题
如果编辑器未从菜单启动,或者某些功能无法正常工作,请在控制台中启动它并检查输出中的错误。
$ /opt/unreal-engine/Engine/Binaries/Linux/UE4Editor
C++ 代码项目问题
创建代码项目后,新项目会在文本编辑器中打开,而不是像应该的那样在 UE4Editor 中打开。重新启动编辑器后,新项目会显示出来并且可以打开,但在首次运行时,需要半小时左右才能编译,并且由于这在后台发生(没有 GUI),因此可能看起来没有任何反应。CPU 使用率应显示它仍在编译,您可能希望从控制台启动编辑器以查看进度。
如果在首次尝试在 UE 中打开项目时,您收到关于编辑器模块过期的消息,则需要在 IDE 中构建 UE4Editor
目标。不要中止此构建,否则您将损坏 UE4,并且需要重新安装 unreal-engine
。之后,它将打开并要求您重建项目类,之后您实际上可以开始处理您的新项目。
请注意,完成这两个重建过程很可能需要一个多小时,具体取决于您的系统规格。
引擎模块已过期,无法在引擎运行时编译。请通过 IDE 构建
首先,在项目中的源代码文件夹中,检查 {nameofproject}.Target.cs 和 {nameofproject}Editor.Target.cs 在 base(Target) { ... } 部分中是否包含 "DefaultBuildSettings = BuildSettingsVersion.V2;"。如果不起作用,请检查 Unreal Engine 源代码中的文件 Engine/Source/Developer/DesktopPlatform/Private/DesktopPlatformBase.cpp,查找行 `Arguments += " -Progress -NoEngineChanges -NoHotReloadFromIDE";` 并删除最后两个选项:`Arguments += " -Progress";`
- 重新编译虚幻引擎 - 启动您的项目并接受重建
禁用工具提示
UE4 的鼠标悬停工具提示渲染速度可能非常慢。可以通过添加到以下位置来禁用它们
Engine/Config/ConsoleVariables.ini
Slate.AllowToolTips=0
KDE 下的随机冻结
在 KDE 文件搜索选项中禁用索引文件内容。
KDE 中渲染缓慢的工具提示
Epic 建议允许为虚幻编辑器进行合成,默认情况下已停止。来源:https://michaeljcole.github.io/wiki.unrealengine.com/Linux_Known_Issues/#KDE
多显示器配置中蓝图中的空白窗口
要修复大的空白窗口,请转到编辑首选项 > 用户界面 > 启用窗口动画并激活复选框
“无法启动 ./UnrealEngine/Engine/Binaries/Linux/ShaderCompileWorker - 请确保您已构建 ShaderCompileWorker。”
启动时弹出此错误
“Unable to launch ./UnrealEngine/Engine/Binaries/Linux/ShaderCompileWorker - make sure you built ShaderCompileWorker.”
如果是这种情况,您需要构建 ShaderCompileWorker,如下所示(假设您在包含 LICENSE.md 和 README.md 的 UnrealEngine 文件夹中)
./Engine/Build/BatchFiles/Linux/Build.sh ShaderCompileWorker Linux Development
附加内容
StarterContent
StarterContent 项目安装在 /opt/unreal-engine/Samples/StarterContent/StarterContent.uproject
中,您可以从启动器浏览到它。
市场应用
带有虚幻市场的启动器尚不适用于 Linux[2],因此无法从 Linux 安装 ContentExamples 项目等应用[3]。
市场应用可以使用 Windows(或 Mac)上的启动器下载,它们存储在 /Program Files (x86)/Epic Games/Launcher/VaultCache/
中。
有几种本机下载市场内容的选择
- 使用 lutris 和 Epic Games Store 安装程序,禁用沙盒后,您可以将内容直接添加到您的项目中
- 使用来自 flathub 或 eam-gitAUR 的 Epic Asset Manager,它允许您将资产下载到库中
- 有一个用 JS 编写的 UE4 Marketplace Downloader 的实现。