Unreal Engine 4
Unreal Engine 4 是由 Epic Games 创建的游戏引擎的第四个主要版本。
本文档内容最初写于 Unreal Engine Wiki,并专门为 Arch Linux 进行了改编。
前提条件
请参阅 推荐配置。
获取源代码访问权限
Unreal Engine 源代码位于一个私有的 GitHub 存储库中,需要 通过开发商 (Epic Games) 免费注册以获得访问权限。
要获得访问权限,请在 Epic Games 账户 登录或注册,并在 Epic Games '关联账户' 页面的底部提供一个可用的 GitHub 用户名。然后 GitHub 会发送一封电子邮件,邀请您加入 GitHub 上的 @EpicGames 组织,从而获得对私有存储库的访问权限。
克隆
由于存储库是私有的,您应该 设置 SSH 密钥,以便您的 GitHub 账户用于克隆源代码。
仅克隆所需的分支速度更快
$ git clone git@github.com:EpicGames/UnrealEngine.git --branch release --single-branch
编译
您可以从下载的 GitHub 版本手动编译,或从 AUR 安装。
手动设置
您可以在 GitHub 上获取最新的 ZIP 版本。
设置
$ ./Setup.sh
生成项目文件
$ ./GenerateProjectFiles.sh
然后编译
$ make -j$(nproc)
这将编译 Unreal Engine 和 Unreal Editor。
从 AUR
Unreal Engine 4 可在 AUR 中作为 unreal-engine-4AUR 包提供。您可能需要修复权限才能在首次启动时预编译 UE4 着色器。
# chmod -R a+rwX /opt/unreal-engine/Engine
为了减小下载量,您可以将 *zip* 版本用作 PKGBUILD 的源。请注意,除非您首先按照 上面 的步骤进行操作,否则此链接将无效。
编译时间
编译时间从 20 分钟到几小时不等,具体取决于您的机器。例如,在一台配备 16GB DDR3、SSD 和 Clang 3.8.1 的 AMD FX-8350 (8 核) 上大约需要 40 分钟。(这不包括着色器编译)
故障排除
编译问题
如果编译失败,您应该尝试使用 Debug 配置文件构建 Editor[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";`
- 重新编译 Unreal Engine
- 启动您的项目并接受重建
禁用工具提示
UE4 的鼠标悬停工具提示可能渲染得非常慢。可以通过在以下位置添加内容来禁用它们
Engine/Config/ConsoleVariables.ini
Slate.AllowToolTips=0
KDE 下随机冻结
在 KDE 文件搜索选项中禁用索引文件内容。
KDE 中渲染缓慢的工具提示
Epic 建议为 Unreal Editor 启用合成效果,该效果默认情况下是禁用的。来源:https://michaeljcole.github.io/wiki.unrealengine.com/Linux_Known_Issues/#KDE
蓝图在多显示器配置下窗口为空白
要修复大的空白窗口,请转到 _Edit Preferences > User interface > Enable Window Animation_ 并勾选复选框。
“无法启动 ./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,您可以通过启动器浏览到它。
Marketplace 应用
包含 Unreal Marketplace 的启动器尚未在 Linux 上提供[2],因此像 ContentExamples 项目这样的应用无法从 Linux 安装[3]。
Marketplace 应用可以在 Windows (或 Mac) 上的启动器中下载,它们存储在 /Program Files (x86)/Epic Games/Launcher/VaultCache/。
有几种方法可以本地下载 Marketplace 内容
- 使用 lutris 和 Epic Games Store 安装程序,禁用沙盒后,您可以将内容直接添加到您的项目中。
- 使用来自 flathub 或 eam-gitAUR 的 Epic Asset Manager,它允许您将资产下载到 vault。
- 有一个用 JS 编写的 UE4 Marketplace Downloader 实现。