Установка unreal engine linux

Содержание
  1. Unreal Engine 4 (Русский)
  2. Contents
  3. Минимальные требования
  4. Установка
  5. Установка из AUR
  6. Установка из исходного кода
  7. Получение
  8. Компиляция
  9. Исправление проблем
  10. Проблемы с компиляцией
  11. Проблемы во время выполнения
  12. Проблемы с проектом кода на C++
  13. Отключение всплывающих подсказок
  14. Случайное зависание под KDE
  15. Пустой огромный квадрат в Blueprint
  16. Дополнительный контент
  17. Стартовый контент
  18. Приложения marketplace
  19. Unreal Engine 4
  20. Contents
  21. Prerequisites
  22. Gain access to the source code
  23. Compilation
  24. Compile manually from source code
  25. Installing from the AUR
  26. Compilation time
  27. Troubleshooting
  28. Compilation problems
  29. Loading times
  30. Runtime problems
  31. C++ code project problems
  32. Engine modules are out of date, and cannot be compiled while the engine is running. Please build through your IDE
  33. Disable Tooltips
  34. Random freeze under KDE
  35. Slow rendered tooltips in KDE
  36. Blank window in Blueprint with multi-monitor configuration
  37. Additional Content
  38. Starter Content
  39. Marketplace Apps
  40. Unreal Engine: QuickStart в Qt Creator под Arch Linux
  41. 1. Исходные данные
  42. 2. Получение исходников Unreal Engine
  43. 3. Сборка движка: забег по граблям
  44. 4. Создаем QuickStart в Qt Creator
  45. Вместо заключения

Unreal Engine 4 (Русский)

Unreal Engine 4 — последняя версия движка для видеоигр, созданная Epic Games

Содержимое этой статьи было первоначально написано на этой странице и адаптировано специально для Arch Linux.

Contents

Минимальные требования

  • Intel или Amd CPU@2.5GHz Quad Core 64 бит
  • GPU: NVIDIA GeForce GTX 470 или AMD Radeon 6870 HD series
  • RAM: 8 GB

Установка

Установка из AUR

Unreal Engine 4 доступен в AUR как пакет unreal-engine AUR .

Пакет весит 22 ГБ после установки, поэтому для сборки требуется около 100 ГБ свободного места. Существует около 7 ГБ исходных файлов для загрузки, а компиляция может занять несколько часов.

Поскольку репозиторий является приватным, вы можете настроить SSH-ключ, чтобы ваша учетная запись GitHub использовалась для загрузки источника.

Так-же рекомендуется увеличить размер папки tmp (исходный размер 7.8), либо сменить каталог сборки.

Для уменьшения размера загрузки, вы можете скачать релиз как tar.gz [устаревшая ссылка 2020-08-06] после входа в github.com, а затем использовать этот файл в качестве источника в PKGBUILD.

Установка из исходного кода

Получение

Сначала зарегистрируйтесь на UnrealEngine.com и перечислите свою учетную запись GitHub в свою учетную запись Epic Games. После регистрации вы сможете просмотреть исходный код [устаревшая ссылка 2020-08-06] .

Компиляция

Исправление проблем

Проблемы с компиляцией

Если компиляция не удалась, попробуйте собрать редактор с помощью профиля Debug:

Проблемы во время выполнения

Если редактор не запускается из меню, или что-то не работает правильно, запустите его в консоли и проверьте вывод на наличие ошибок.

Проблемы с проектом кода на C++

После создания проекта кода новый проект открывается в текстовом редакторе, а не в UE4Editor, как это должно быть. После повторного запуска редактора новый проект появляется и может быть открыт, но при первом запуске для компиляции требуется около получаса, и поскольку это происходит в фоновом режиме (без GUI), это может показаться недействительным. Использование ЦП должно показывать, что оно все еще компилируется, и вы можете запустить редактор с консоли, чтобы увидеть прогресс.

Отключение всплывающих подсказок

Наведение указателя мыши на всплывающие подсказки UE4 может оказаться очень медленной процедурой. Их можно отключить, добавив

Случайное зависание под KDE

Отключите содержимое индексного файла в параметрах поиска файлов KDE.

Пустой огромный квадрат в Blueprint

Если вы используете мультимониторную конфигурацию и переместили blueprint на второй экран, и при вызове контекстного меню (ПКМ в blueprint) у вас проявляется данный баг, то откройте Edit Preferences -> User interface и поставьте галочку напротив Enable Window Animation и перезапустите UnrealEngine.

Дополнительный контент

Стартовый контент

Проект StarterContent установлен в /opt/unreal-engine/Samples/StarterContent/StarterContent.uproject, вы можете перейти к нему с панели запуска.

Приложения marketplace

Лаунчер с Unreal Marketplace недоступен для Linux еще [1], поэтому приложения, такие как проект ContentExamples, не могут быть установлены из Linux[2].

Приложения marketplace можно загрузить с помощью лаунчера в Windows (в Mac также может работать), они хранятся в:

Источник

Unreal Engine 4

Unreal Engine 4 is the latest version of the videogame Engine Created By Epic Games

The content of this article was originally written on Unreal Engine wiki and adapted specifically for Arch Linux.

Contents

Prerequisites

Gain access to the source code

To gain access, login or register at Epic Games Accounts and provide an accessible GitHub username at the bottom of the Epic Games ‘Connected Accounts Dashboard’ page. You will then receive an invite to access the private Github repository.

Compilation

You can compile manually from a downloaded GitHub release or install from AUR.

Compile manually from source code

You can get the most recent releases [dead link 2021-05-17 ⓘ] on GitHub as zips.

Generate project files:

This will compile the Unreal Engine and the Unreal Editor.

Installing from the AUR

Unreal Engine 4 is available in the AUR as the unreal-engine AUR package. You might have to fix permissions for UE4 to precompile shaders on first launch:

Читайте также:  Не обновляется windows 10 про

70 GiB installed (after compiling shaders on first launch) and needs

120 GiB to build with an output ABS package of

9 GiB when compressed. This AUR package downloads

10 GiB of source files plus

5 GiB of dependencies.

Since the repository is private, you can set up an SSH key so your GitHub account is used to download the source.

For a smaller download you can use .zip releases [dead link 2021-05-17 ⓘ] as a source for PKGBUILD. Note that this link will not work unless you first follow the steps outlined above.

Compilation time

The compilation can take from 20 minutes up to a few hours depending on your machine. As an example on a AMD FX-8350 (8 threads) with 16GB DDR3 on a SSD and Clang 3.8.1 takes roughly 40 minutes. (This does not include shaders compilation)

Troubleshooting

Compilation problems

If the compilation fails you should try building the Editor using the Debug profile[1]:

However, this might have some performance impact.

Another approach would be to use different clang version (e.g. 3.8 or 4.0)

Loading times

The editor takes a long time to load. A patched version of glibc , glibc-dso AUR , can be used to alleviate this issue. Once the package is installed, enable the optimization by setting the following environment variable[2]:

Runtime problems

If the editor does not start from the menu, or something does not work right, start it in a console and check the output for errors.

C++ code project problems

After creating a code project, the new project opens in a text editor instead of in UE4Editor as it should. After re-launching the editor, the new project shows up and can be opened, but on the first run, it takes a half-hour or so to compile, and since this happens in the background (no GUI) it might not seem to be doing anything. The CPU usage should show that it is still compiling, and you may want to launch the editor from a console to see progress.

If while trying to open the project in UE for the first time, you get a message about editor modules being out of date, you need to build the UE4Editor target in your IDE. Do not abort this build, or you will brick UE4 and will need to reinstall unreal-engine . Afterward, it will open and ask you to rebuild the project class, after which you can actually start working on your new project.

Note that completing both of these rebuilds can very well take over an hour, depending on your system specs.

Engine modules are out of date, and cannot be compiled while the engine is running. Please build through your IDE

First, in your source folder in your project, check that .Target.cs and Editor.Target.cs has «DefaultBuildSettings = BuildSettingsVersion.V2;» in the section base(Target) < . >If it does not work, check the file Engine/Source/Developer/DesktopPlatform/Private/DesktopPlatformBase.cpp in your Unreal Engine source code, look for the line `Arguments += » -Progress -NoEngineChanges -NoHotReloadFromIDE»;` et remove the two last options : `Arguments += » -Progress»;`

— Re-compile Unreal Engine — Launch your project and accept the rebuild

Disable Tooltips

UE4’s mouse-over tooltips might be rendered very slow. They can be disabled by adding to

Random freeze under KDE

Disable index file content in the KDE file search options.

Slow rendered tooltips in KDE

Epic suggests allowing compositing for the Unreal Editor, which is stopped by default. Source: https://www.ue4community.wiki/Legacy/Linux_Known_Issues#KDE

Blank window in Blueprint with multi-monitor configuration

To fix the big blank window go to Edit Preferences -> User interface -> Enable Window Animation and activate the checkbox

Additional Content

Starter Content

The StarterContent project is installed to /opt/unreal-engine/Samples/StarterContent/StarterContent.uproject, you can browse to it from the launcher.

Marketplace Apps

The launcher with the Unreal Marketplace is not available for Linux yet[3], so apps like the ContentExamples project cannot be installed from Linux[4].

The marketplace apps can be downloaded using the launcher on Windows (or Mac), they are stored in /Program Files (x86)/Epic Games/Launcher/VaultCache/ .

There are several options to download Marketplace content natively:

  • use lutris and the Epic Games Store installer, with disabled sandbox you can add content directly into your projects
  • use Epic Asset Manager from flathub or eam-gitAUR which lets you download the assets to the vault
  • there is an implementation of UE4 Marketplace Downloader written in JS.

Источник

Unreal Engine: QuickStart в Qt Creator под Arch Linux

В марте 2015 года Epic Games повернулась лицом к Open Source сообществу, предоставив бесплатный доступ к своему движку Unreal Engine версии 4 (установив лимит на прибыль от использования движка в 3000$ за квартал). Более того, еще в 2014 году компания говорила о том, что поддержка свободных операционных систем, в частности Linux, является для неё одной из приоритетных задач.

Читайте также:  Как сканировать систему windows 10

Стоит отметить, что эти слова не стали пустым звуком, и на сегодняшний день движок достаточно уверенно работает в среде Linux. Существует достаточное количество официальной документации, повествующей о том, как установить и настроить движок в среде этой ОС.

Однако, при кажущейся прозрачности процесса развертывания рабочего окружения, существует ряд мелких, но неприятных нюансов, затрудняющих жизнь поклонникам пингвинов. Под катом краткое и вольное описание особенностей установки движка, с которыми столкнулся автор, призванное разрешить некоторые из трудностей, с которыми сталкиваются новички.

1. Исходные данные

Итак, имеем компьютер (CPU: Intel Core i7-2600K, RAM: 16Gb, Video: GeForce 580GTX), с дистрибутивом Arch Linux в качестве операционной системы.

Для этого дистрибутива существует пакет в пользовательском репозитории AUR. Судя по комментариям к пакету, он собирается и работает, и в принципе, для установки движка можно воспользоваться им. Только вот ждать, пока сборщик пакетов клонирует репозиторий придется долго. При общем размере release-ветки в 1,5-2 Гб процесс клонирования зависает на 81% вытягивая из сети около четырех гигабайт. У меня не хватило терпения дождаться окончания этого процесса.

Поэтому мы пойдем другим путем, собрав движок из исходников не заворачивая его в пакет, мотивируя это тем, что инсталляция движка в общем-то и не требуется. Убедимся, что в системе установлены следующие пакеты:

  • clang — C/C++ фронтенд к компилятору LLVM
  • python — интерпретатор языка Python
  • qt4 — кроссплатформенный фреймворк для разработки на C/C++
  • sdl2 — кроссплатформенная библиотека для работы с мультимедиа
  • icu — компонент библиотек Unicode для интернационализации приложений
  • mono — свободная реализация .Net Framework
  • xdg-user-dir — «управлялка» пользовательскими каталогами типа «Документы», «Изображения» и т.п. в рамках X Window System
  • git — клиент для работы с одноименной системой контроля версий

2. Получение исходников Unreal Engine

Подробно данная процедура описана на официальном сайте Epic Games. Для начала потребуется завести себе аккаунт Epic Games, так как репозиторий исходного кода движка приватный. Кроме того, вам потребуется завести аккаунт на Github, для которого вышеупомянутая контора даст доступ к репозиторию. Особенно здесь комментировать нечего: процедура вполне проста и понятна.

Получив доступ к репозиторию, создаем в файловой системе каталог, где будет располагаться движок, переходим в него и говорим заклинание

$ git clone https://github.com/EpicGames/UnrealEngine.git -b release

и дожидаемся загрузки релизной ветки движка. Этот процесс протекает не в пример быстрее чем при использовании ауровского PKGBUILD.

3. Сборка движка: забег по граблям

Получив исходники, переходим в каталог

наблюдая такую картину

$ ls -la
итого 80
drwxr-xr-x 6 maisvendoo users 4096 ноя 4 18:02 .
drwxr-xr-x 27 maisvendoo users 4096 ноя 5 15:29 ..
-rw-r—r— 1 maisvendoo users 382 ноя 4 17:50 .editorconfig
drwxr-xr-x 11 maisvendoo users 4096 ноя 4 17:50 Engine
-rw-r—r— 1 maisvendoo users 418 ноя 4 17:50 GenerateProjectFiles.bat
-rwxr-xr-x 1 maisvendoo users 241 ноя 4 17:50 GenerateProjectFiles.command
-rwxr-xr-x 1 maisvendoo users 715 ноя 4 17:50 GenerateProjectFiles.sh
drwxr-xr-x 8 maisvendoo users 4096 ноя 4 18:01 .git
-rw-r—r— 1 maisvendoo users 511 ноя 4 17:50 .gitattributes
-rw-r—r— 1 maisvendoo users 3732 ноя 4 17:50 .gitignore
-rw-r—r— 1 maisvendoo users 195 ноя 4 17:50 LICENSE.md
-rw-r—r— 1 maisvendoo users 9472 ноя 4 17:50 README.md
drwxr-xr-x 4 maisvendoo users 4096 ноя 4 17:50 Samples
-rw-r—r— 1 maisvendoo users 1304 ноя 4 17:50 Setup.bat
-rwxr-xr-x 1 maisvendoo users 208 ноя 4 17:50 Setup.command
-rwxr-xr-x 1 maisvendoo users 1345 ноя 4 17:50 Setup.sh
drwxr-xr-x 28 maisvendoo users 4096 ноя 4 17:50 Templates
-rw-r—r— 1 maisvendoo users 269 ноя 4 17:50 UE4Games.uprojectdir

Инструкции по сборке приведены на официальном сайте в документации а так же в официальной вики. Однако, в случае с Arch Linux не следует спешить следовать этой инструкции, так как в вики имеется настораживающая реплика

Arch Linux users should try building the Editor using the Debug profile if Development (default) does not work

официально предлагая нам использовать мерзкий костыль в виде сборки отладочной версии редактора. При это совершенно забывается о том, что кроме редактора следует собрать компилятор шейдеров и несколько других вспомогательных утилит, входящих в комплект движка. Попытка сборки с параметрами, предлагаемыми разработчиком, прервется с сообщением вида

/usr/bin/ld: /mnt/data/install/ue4-test/Engine/Source/ThirdParty/FreeType2/FreeType2-2.6/Lib/Linux/x86_64-unknown-linux-gnu/libfreetype.a(ftlzw.c.o): relocation R_X86_64_32S against `.text’ can not be used when making a shared object; перекомпилируйте с параметром -fPIC
/usr/bin/ld: /mnt/data/install/ue4-test/Engine/Source/ThirdParty/zlib/v1.2.8//lib//Linux/x86_64-unknown-linux-gnu/libz.a(uncompr.o): relocation R_X86_64_32 against `.rodata’ can not be used when making a shared object; перекомпилируйте с параметром -fPIC
/usr/bin/ld: final link failed: Раздел, непредставимый для вывода
clang-5.0: error: linker command failed with exit code 1 (use -v to see invocation)
ERROR: UBT ERROR: Failed to produce item: /mnt/data/install/ue4-test/Engine/Binaries/Linux/CrashReportClient
Total build time: 196,17 seconds (Local executor: 0,00 seconds)
make: *** [Makefile:252: CrashReportClient-Linux-Shipping] Ошибка 5

Эта проблема известна майтейнерам пакета unreal-engine в AUR, для чего они предлагают наложить на исходники исправляющий это патч. Проблема связана с изменением параметров сборки gcc и clang в Arch Linux, о чем упомянуто например тут

SSP and PIE are now enabled in gcc (commit) and clang (commit) in the stable repos.
These changes will make it harder to exploit potential security holes in binaries built with these compilers.

Some discussion about this can be found on the arch-dev-public mailing list (subject «Changing compilation flags»).

Читайте также:  Mac os monterey beta 3 что нового

Включение Position Independent Executables (PIE) ломает совместимость на уровне ABI для собираемых библиотек движка и приводит к упомянутым выше ошибкам компоновки. Соответственно, для нормальной сборки следует выключить эту опцию.

Для изменения настроек нужно ковырять скрипты UBT. Движок использует свою систему сборки, скрипты которой написаны на C#. Открываем файл Engine/Source/Programs/UnrealBuildTool/Platform/Linux/LinuxToolChain.cs, добавляя в него нужные настройки. Для иллюстрации изменений приведу выхлоп git diff

— a/Engine/Source/Programs/UnrealBuildTool/Platform/Linux/LinuxToolChain.cs
+++ b/Engine/Source/Programs/UnrealBuildTool/Platform/Linux/LinuxToolChain.cs
@@ -377,6 +377,9 @@ namespace UnrealBuildTool
Result += » -Wno-invalid-offsetof»;
// we use this feature to allow static FNames.
Result += » -Wno-gnu-string-literal-operator-template»;
+// disable unused result’s warnings
+Result += » -Wno-unused-result»;

Опция -Wno-unused-result выключает предупреждения о неиспользуемых результатах возвращаемых функциями

@@ -402,6 +405,7 @@ namespace UnrealBuildTool
Result += » -fno-inline»;
Result += » -fno-omit-frame-pointer»;
Result += » -fstack-protector»;
+ Result += » -fno-pie»;

@@ -588,6 +592,8 @@ namespace UnrealBuildTool
Result += » -Wl,—disable-new-dtags»;
+ Result += » -nopie»;
+ Result += » -Wno-unused-command-line-argument»;

Ключами -fno-pie и -nopie мы отключаем PIE для компилятора и компоновщика. Ключ -Wno-unused-command-line-argument отключает вывод предупреждения о неизвестных параметрах командной строки.

Прежде чем начать сборку, создадим симлинк

$ sudo ln -s /usr/include/locale.h /usr/include/xlocale.h

предупреждая ошибку «xlocale.h is not found».

Описанные проблемы решаются в AUR наложением на исходники серии патчей, и, в принципе никто не запрещает читателю пойти по этому пути.

После описанной подготовки выполняем скрипт

Скрипт качает и собирает необходимые сторонние библиотеки. Далее выполняем скрипт

активирующий систему сборки Unreal, генерирующую файлы для сборки проектов с помощью make, cmake, qmake, MS Visual Studio, KDevelop и CodeLite. По окончании работы скрипта с чистой совестью даем команду

Отмечу, что тут не следует использовать ключ -j задающий число собирающих потоков. Makefile генерируется с учетом распараллеливания сборки на все потоки, доступные вашей машине.

Процесс сборки пройдет без ошибок и займет некоторое время, на моей системе это порядка 40 минут

[1367/1372] Link libUE4Editor-UE4Game.so
[1368/1372] Link libUE4Editor-Advertising.so
[1369/1372] Link libUE4Editor-BlankModule.so
[1370/1372] Link libUE4Editor-IPC.so
[1371/1372] Link libUE4Editor-BlankPlugin.so
[1372/1372] Link libUE4Editor-XGEController.so
Total build time: 2560,27 seconds (Local executor: 2481,53 seconds)

Собираем так же и отладочный вариант движка

4. Создаем QuickStart в Qt Creator

Запускаем собранный нами редактор UE4

$ cd Engine/Binaries/Linux
$ ./UE4Editor

Терпеливо ждем пока скомпилируются шейдеры (результат компиляции кэшируется и следующий запуск пройдет гораздо быстрее). По окончании компиляции создаем новый проект на C++

Выбираем путь, по которому располагается проект, даем ему имя QuickStart и жмем зеленую кнопку CreateProject. Ждем пока редактор сгенерирует файлы проекта. По окончании генерации редактор закроется. В Windows при наличии MS Visual Studio у вас откроется именно эта IDE, предлагая приступить к кодингу. В арче ничего не произойдет. Поэтому идем по пути, который мы указали при создании проекта и смотрим, что там нагенерировалось

$ ls -l
итого 4728
-rw-r—r— 1 maisvendoo users 1999696 ноя 7 00:06 CMakeLists.txt
drwxr-xr-x 2 maisvendoo users 4096 ноя 7 00:05 Config
drwxr-xr-x 2 maisvendoo users 4096 ноя 7 00:05 Content
drwxr-xr-x 4 maisvendoo users 4096 ноя 7 00:06 Intermediate
-rw-r—r— 1 maisvendoo users 16777 ноя 7 00:05 Makefile
-rw-r—r— 1 maisvendoo users 350169 ноя 7 00:06 QuickStartCodeCompletionFolders.txt
-rw-r—r— 1 maisvendoo users 14860 ноя 7 00:06 QuickStartCodeLitePreProcessor.txt
-rw-r—r— 1 maisvendoo users 60261 ноя 7 00:06 QuickStartConfig.pri
-rw-r—r— 1 maisvendoo users 22114 ноя 7 00:06 QuickStartDefines.pri
-rw-r—r— 1 maisvendoo users 908626 ноя 7 00:06 QuickStartHeader.pri
-rw-r—r— 1 maisvendoo users 220484 ноя 7 00:06 QuickStartIncludes.pri
-rw-r—r— 1 maisvendoo users 59 ноя 7 00:05 QuickStart.kdev4
-rw-r—r— 1 maisvendoo users 17091 ноя 7 00:06 QuickStart.pro
-rw-r—r— 1 maisvendoo users 722630 ноя 7 00:06 QuickStartSource.pri
-rw-r—r— 1 maisvendoo users 224 ноя 7 00:05 QuickStart.uproject
-rw-r—r— 1 maisvendoo users 462378 ноя 7 00:06 QuickStart.workspace
drwxr-xr-x 3 maisvendoo users 4096 ноя 7 00:05 Source

Ок, редактор создал исходники (каталог Source) и ряд фалов проектов, в том числе и *.pro сценарий для qmake. Запускаем Qt Creator и открываем в нем QuickStart.pro.

В появившемся окне жмем «Настроить проект». Настройка Qt Creator подробнейшим образом описана в официальной документации движка. Я остановлюсь лишь на некоторых моментах настройки и приведу скриншоты своих настроек

Настройка отладочной сборки

Настройка релизной сборки

После того, как все настройки выполнены, нажимаем Ctrl + R и запускаем проект. На заданный нам вопрос

отвечаем утвердительно. Движок подумает ещё немного, скомпилирует шейдеры и в конечном итоге мы получаем проект, готовый к работе над упражнением QuickStart из официальной документации.

Вместо заключения

При правильное настройке проекта возможен следующий фокус. В открытом проекте жмем F10

Ага, наличие исходных текстов движка дает нам возможность не только отлаживать код игры, но и трассировать код самого движка, что иногда требуется для выяснения причин ошибок. В этом Epic Games выглядит намного более дружественнее к свои пользователям, чем некоторые другие конторы, так же предоставляющие свой движок бесплатно

Источник

Оцените статью