четверг, 16 июля 2015 г.

Собираем игровой движок Unreal Engine 4 (обновлено)

Игровой движок Unreal Engine 4 вышел 19 марта 2014 года. Компания Epic Games объявила, что движок будет бесплатным для всех (сначала с подпиской по $19 в месяц , потом и вовсе без неё, но при условии что прибыль не превышает $3000 в квартал), а также что его исходный код будет доступен в репозитории на GitHub. Движок помимо Windows, OS X и консолей 8 поколения, имеет полную и официальную поддержку Linux.
К сожалению, Epic Games не распространяет готовые сборки для Linux. Вместо этого предлагается собрать движок из исходного кода. Благо подробные инструкции, компания предоставила. В данной статье я их опишу подробнее. Для начала примечание: вам потребуется компьютер с минимум двухядерным процессором с частотой не менее 2.5 ГГц, от 4 гигабайт оперативной памяти, хорошее интернет-соединение, и достаточно современная видеокарта. Если вы всерьёз планируете заниматься изучением движка и разработкой игр на его основе - крайне желательно прикупить хотя-бы 4-х ядерный процессор Intel Core i5 (или аналогичный от AMD), минимум 8 гигабайт оперативки, а также - достаточно большой монитор (не менее 22 дюймов). Чем больше, тем лучше (иначе будет весьма неудобно работать в редакторе). Профессиональные разработчики, как правило, используют 2 или 3 монитора:




Сборка будет производиться на следующей конфигурации:


Процессор: Intel Core i3-550 (3.2 ГГц, 4 мб кэш L3);
Оперативная память: 8 Гб DDR3-1333 МГц;
Видеокарта: Nvidia GTX 460 1 Гб;
Операционная система: Debian 8.1 64 бита.

Железо явно не для разработки крутых игр). Но нам хватит. Последняя версия движка на момент написания статьи - 4.8.1. Ознакомиться со списком изменений можно по ссылке.

Первое что нам следует сделать - зарегистрироваться на сайте Epic Games и создать аккаунт на GitHub. Я не совсем уверен, обязательно ли это, но лучше сделать. Как зарегистрировать в обоих сервисах можно без труда найти в гугле. После того как вы создадите аккаунт на GitHub, зайдите в настройки профиля на сайте Epic Games и укажите ваш логин на гитхабе. Затем перейдите по ссылке и присоединитесь к Epic Games. У вас появится доступ к закрытым репозиториям Unreal Engine 4 а также игры Unreal Tournament (о ней в следующий раз).

Теперь установим необходимые пакеты для сборки:

sudo apt-get install build-essential mono-mcs mono-devel mono-xbuild mono-dmcs mono-reference-assemblies-4.0 libmono-system-data-datasetextensions4.0-cil libmono-system-web-extensions4.0-cil libmono-system-management4.0-cil libmono-system-xml-linq4.0-cil cmake dos2unix clang-3.5 libfreetype6-dev libgtk-3-dev libmono-microsoft-build-tasks-v4.0-4.0-cil xdg-user-dirs

Далее клонируем репозиторий и выкачиваем около 600 мегабайт исходного кода:

git clone https://github.com/EpicGames/UnrealEngine.git

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

cd UnrealEngine
./Setup.sh
./GenerateProjectFiles.sh

По умолчанию make не будет очищать сборочный мусор. Для его очистки, откройте файл Makefile, и в конце перед словом .PHONY вставьте:


shaders-clean:
       rm -rf Engine/Intermediate/Shaders Engine/Saved Engine/DerivedDataCache Engine/Intermediate/CachedAssetRegistry.bin

editor-clean:
       rm -rf Engine/Intermediate/Build/Linux/x86_64-unknown-linux-gnu/UE4Editor Engine/Binaries/Linux/libUE4Editor-* Engine/Binaries/Linux/UE4Editor

clean:
       rm -f Engine/Binaries/Linux/Unreal* Engine/Binaries/Linux/UE* \
       Engine/Binaries/Linux/libUnreal* Engine/Binaries/Linux/libUE* Engine/Binaries/Linux/libSh* \
       Engine/Binaries/Linux/ShaderCompileWorker* Engine/Binaries/Linux/SlateViewer* Engine/Binaries/Linux/CrashReportClient*
       rm -rf Engine/Intermediate/Build Engine/Binaries/Linux/HTML5 Engine/Binaries/Linux/Linux Engine/Binaries/Linux/Android Engine/Binaries/Linux/IOS Engine/Binaries/Linux/HTML5


Обратите внимание: перед командами нужно ставить знак табуляции (клавишей Tab), а не пробелы! Иначе вы получите ошибку!

Теперь всё готово к сборке. Набираем:


make

и идём заниматься своими делами как минимум минут на 40.
После компиляции, запустите редактор:

cd Engine/Binaries/Linux
./UE4Editor

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



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