четверг, 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, но пока имеем то, что имеем.


15 комментариев:

  1. у меня такая ошибка,
    Makefile:188: ошибка выполнения рецепта для цели «UE4Editor»
    make: *** [UE4Editor] Ошибка 5
    как можно решить?
    UnrealEngine-release 4.12.3
    ubuntu 16

    ОтветитьУдалить
    Ответы
    1. таже хрень. Напиши starkov.sa@gmail.com если получится победить проблему

      Удалить
  2. команда ./Setup.sh говорит что такого файла нет, файлы проверял они все есть

    ОтветитьУдалить
  3. А можешь описать установку 3D maya на Debian?

    ОтветитьУдалить
    Ответы
    1. Могу, как раз начал изучать её

      Удалить
    2. user@PC1 /media/user/F/U4/UnrealEngine/Engine/Binaries/Linux $ ./UE4Editor
      ./UE4Editor: error while loading shared libraries: libLND.so: cannot open shared object file: No such file or directory

      Удалить
  4. Только не через alien а по скрипту с github?

    ОтветитьУдалить
    Ответы
    1. Там также применяется Alien. другого способа нет

      Удалить
  5. Млииин как это так!!??
    ЗАпустил думал 4.14 поставится. а поставился 4.7.6 даже старее чем у меня есть!!! старее 4.8.1 (!!!!)

    руководство устарело! качается устаревшая версия !!!!
    ЗРЯ ПОТРАТИЛ долбаных 4 часа.

    ОтветитьУдалить
    Ответы
    1. Нужно хоть изредка смотреть на дату публикации. Ссылку на гит исправил.

      Удалить
  6. ссылка на ПРАВИЛЬНЫЙ репозиторий
    а не устаревший на 2 года.
    https://github.com/EpicGames/UnrealEngine

    ОтветитьУдалить
  7. Установил UE4 v4.15 на Debian Stretch.

    Вопрос такой, а кнопку (ярлык) "прикрутить" возможно?
    И ещё один.
    Насколько я понимаю, пока не выйдет готовой сборки под Linux обновляться придётся кардинальным образом - снос старой версии и установкой новой???

    ОтветитьУдалить
    Ответы
    1. Можно. Создаёте ярлык, путь указываете к бинарнику UE4Editor, иконку можно в сети найти (хотя она где-то в каталогах движка должна быть), и всё. Насчёт обновления - к сожалению да, только так. Надеюсь что в обозримом будущем они осилят тот же Flatpak для распространения Линуксовой сборки

      Удалить
    2. Спасибо за помощь и советы!!! Всё получилось.
      Почти настроил систему на работу с графикой:
      https://postimg.org/image/mc2y8647v/

      Удалить
  8. Приветствую!
    Интересует такой вопрос: возможно ли как-то оптимизировать установочный пакет UE-4 т.к. к текущему моменту актуальная версия (4.18.3) при скачивании загружает уже не 3 Гб дополнительной информации, а почти 5Гб.
    После установки я полез в исходную папку... чего там только нет: установщики под Mac и Windows, какие-то расширения для айфонов и и ещё куча всего.
    Возможно ли облегчить исходный установщик именно под нас - Линуксойдов без различного "мусорного" расширения?

    ОтветитьУдалить