Существует множество способов разработки игр для Android, и одним из лучших способов 3D разработки является использование движка. Движок предоставляет основу для создания 3D-сеток из 2D-изображений, физики, реалистичного освещения и многих других функций, реализация которых с нуля была бы трудоемкой для разработчика. Одним из таких движков является Unreal Engine.
Unreal Engine, созданный в 1998 году компанией Epic Games, является движком, созданным в первую очередь для жанра шутеров от первого лица. При этом не существует ограничений и движок может использоваться для самого разного типа игр. Стоит отметить, что движок является полностью бесплатным для любых некоммерческих проектов (для платных игр разработчики запрашивают 5% прибыли, но только в том случае, если доход превышает 3000$ в квартал). Последняя версия движка, Unreal Engine 4, поддерживает все платформы и операционные системы, включая Windows, Linux, OS X, Android, Xbox One, PlayStation 4 и Ouya, а также поддерживает множество различных графических API, таких как DirectX 11 и 12, OpenGL, Vulkan и JavaScript/WebGL. Unreal Engine очень универсален, и несмотря на то, что он немного сложнее в использовании, чем Unity, он предоставляет очень обширные функциональные возможности и непревзойдённую графику.
В этой статье мы рассмотрим, как установить и настроить Unreal Engine для работы в Android, а также соберём стартовый проект.
Шаг 1. Установка Unreal Engine
Для того, чтобы установить Unreal Engine 4, вам понадобится зарегистрировать учётную запись (или авторизироваться) на сайте Unreal Engine. После этого нужно скачать и установить программу Epic Games Launcher, нажав на этом же сайте кнопку Download.
Открыв Epic Games Launcher, перейдите на вкладку Unreal Engine.
Здесь можно прочитать последние новости сообщества, различные уроки, а также приобрести различные товары, связанные с движком. Чтобы начать установку, нажмите «Установить движок». Вам будет предложено выбрать путь установки.
Нажав на «Установить», откроется окно, в котором будет предложено выбрать, какие компоненты следует установить.
Оставим основные компоненты как есть и в целевых платформах укажем Android (если вы хотите разрабатывать и под другие платформы, просто поставьте флажок на нужных). После того, как вы нажмёте «Применить», начнётся установка Unreal Engine.
После завершения установки вы увидите Unreal Engine в библиотеке Epic Games Launcher.
Шаг 2. Установка NVIDIA CodeWorks for Android
NIVIDA CodeWorks это набор инструментов для GPU и CPU, также включающий в себя Android SDK и различные библиотеки для разработки под Android, причём не только на устройствах Tegra.
Чтобы установить его, нужно скачать установщик, перейдя на сайт NVIDIA и нажав на Download. Либо, если Шаг 1 уже выполнен и Unreal Engine установлен, вы можете найти установщик в папке с движком, путь до него выглядит следующим образом: <корневой каталог Unreal Engine> — Engine — Extras — AndroidWorks — <каталог с вашей платформой>.
Примечание: в случае, если у вас установлена Android Studio вместе с Android SDK, переменные среды имеют значения для текущего Android SDK. Однако после установки NVIDIA CodeWorks установщик перезапишет эти значения на те, которые требуются для CodeWorks, имейте это ввиду.
Запустив установщик, вам будет предложено выбрать, какие компоненты следует установить.
Выберите Standard, Full или Custom в зависимости от того, какие компоненты вы хотите установить. Как правило, стандартного набора для начала более чем достаточно.
После того, как вы определитесь с компонентами, нажмите Next, примите лицензионное соглашение, и установщик начнёт загрузку и инсталляцию выбранных компонентов. При завершении вы увидите сообщение об окончании установки.
Шаг 3. Создание нового проекта
Запустив Unreal Editor, вы попадёте на экран создания нового проекта.
Здесь доступны самые разные пресеты для проекта, однако в нашем случае для приложения на Android выставите следующие параметры:
- выберите Third Person в списке проектов (Blueprint).
- в качестве целевой платформы выберите Mobile/Tablet.
- уровень графики укажите Scalable 3D or 2D.
- выберите No Starter Content.
Также не забудьте указать имя проекта и путь до него. Когда всё будет готово, нажмите Create Project и Unreal Editor создаст проект с заданными параметрами.
Шаг 4. Настройка проекта
Перед тем, как начать сборку и запуск проекта, нужно настроить некоторые параметры. Для этого нажмите на стрелку рядом с меню Settings и выберите Project Settings.
В открывшемся окне перейдите в раздел Platforms — Android SDK. Здесь нужно прописать пути до установленных с помощью NVIDIA CodeWorks компонентов.
Теперь перейдите в раздел Platforms — Android. Здесь настраивается основная информация о приложении (имя пакета, версия, минимальный и целевой SDK, иконка приложения), а также многие дополнительные параметры.
В разделе APKPackaging нажмите Accept SDK License, чтобы принять лицензионное соглашение. После этого в разделах APKPackaging и Google Play Services нажмите Configure Now, чтобы сконфигурировать файлы проекта.
После этого укажите имя пакета, название приложения, а также минимальный и целевой SDK.
При желании вы также можете изменить и другие параметры.
Примечание: по умолчанию сборкой проекта занимается Gradle. Если вы хотите использовать в качестве сборщика проекта Apache Ant, уберите флажок с поля Enable Gradle instead of Ant.
На этом настройка проекта завершена и вы можете просто закрыть окно настроек.
Шаг 5. Сборка и запуск проекта
По умолчанию, в проекте загружен уровень ThirdPersonExampleMap.
Воспользуемся им для запуска приложения. Перед началом сборки подключите устройство, на котором вы хотите запустить проект, по USB, предварительно активировав на устройстве отладку по USB.
Затем в меню нажмите на стрелку рядом с пунктом Launch и выберите подключенное устройство.
После этого начнётся сборка проекта с последующим запуском на устройстве.
Примечание: на слабом железе сборка может занять длительное время.
Как только сборка будет завершена, вы увидите собранный уровень на своём устройстве и сможете взаимодействовать с ним.
Примечание: во время сборки может возникнуть ошибка, показанная ниже.
"D:\Stage - kornelis\ARcore\HelloARSample 4.18\Intermediate/Android/APK\gradle\rungradle.bat" :app:assembleDebug
В этом случае вам нужно выполнить следующие действия:
- Запустите из установленного NVIDIA CodeWorkds файл <директория с Android SDK>/tools/android.bat.
- Нажмите Deselect All.
- Поставьте флажок на Android Support Repository в разделе Extras.
- Нажмите Install.
После этого репозиторий поддержки обновится и ошибка должна пропасть.
В данном примере мы управляем персонажем, расположенным в комнате, с помощью двух виртуальных «стиков», управляющих движением персонажа и поворотом камеры.
Данный уровень является лишь заготовком, при желании вы можете разработать любую игру, используя Unreal Engine.
Посмотрим, что получилось в результате в APK-файле. Воспользуемся утилитой Android Studio под названием APK Analyzer, которая позволяет узнать, какие файлы содержит в себе APK и сколько места они занимают.
Итоговый APK-файл имеет размеры 45,5 MB и 44,7 MB в несжатом и сжатом виде соответственно и включает в себя следующие файлы.
Как можно увидеть, кроме стандартных файлов приложения имеются также сторонние библиотеки, занимающие большую часть APK, которые были добавлены в проект движком. Кроме того, APK содержит в себе 4932 класса и 27574 метода.
Если посмотреть содержимое файла AndroidManifest.xml, то можно обнаружить, что приложение запрашивает следующие разрешения:
- android.permission.INTERNET
- android.permission.WRITE_EXTERNAL_STORAGE
- android.permission.ACCESS_NETWORK_STATE
- android.permission.WAKE_LOCK
- android.vending.CHECK_LICENSE
- android.permission.ACCESS_WIFI_STATE
- android.permission.MODIFY_AUDIO_SETTINGS
- android.permission.VIBRATE
Таким образом, с помощью нескольких шагов мы установили и запустили на устройстве приложение, построенное на движке Unreal Engine 4.
Кому интересно как снизить вес АПК-шки, на официальном форуме в соответствующей ветке, есть темы, где расписывают, как убрать лишние «библиотеки» и чаще всего не нужные зависимости, при билде апк(для iOS тоже подойдёт). Называется что-то вроде «Черного списка»
На каком официальном сайте? Андроид или анреал?
Искать «Черный список» на русском или black list?
У меня при компиляции на телефоне не видны модели персонажей, когда на компе всё норм. Даже создавал локальную сессию, на компе видел своего персонажа и персонажа управляемого с телефона, а вот на телефоне оба персонажа невидимы. В чем проблема?
На телефоне хорошо выглядит в landscape режиме, если переключить в portrait режим, то сразу идет растяжение и тд , камеру надо настраиввать под разрешение экрана, есть статья на эту тему?
Подскажите, все сделал как в гайде. телефон подключил его находит все окей, но я нажимаю лаунч чтоб запустить тест на телефоне и ue4 закрывается. прекращает работу просто и все. 100 раз уже пробовал. кто-нибудь в курсе?
Не запускается Android.bat