Как скомпилировать проект в unreal engine 4 для mac os на windows

Обновлено: 05.07.2024

Евангелист компании Epic Games Алексей Савченко рассказал ЦП о том, какие особенности стоит учитывать разработчикам при создании игр на движке Unreal Engine 4 — и объяснил, как применять технологию в профессиональной среде.

В марте этого года компания Epic Games анонсировала на Games Developers Conference ряд новых фич Unreal Engine и традиционно провела некоторое количество докладов. В этой статье мне хотелось бы уделить особое внимание одному из них, а именно презентации руководителя команды разработки платформы Джоша Адамса (Josh Adams) «Unreal Wherever You Go», посвященной мобильной и веб-разработке.

Тема актуальна как никогда, Unreal Engine 4 (UE4) вовсю используется в разработке для iOS и Android в midcore-жанре, а многие студии рассматривают UE4 для веб-разработки. В частности, это касается мультиплатформенных проектов.

О важности мобильной платформы

Сегмент мобильных игр заработал треть всех денег в рамках игровой индустрии в прошлом году и продолжает расти. Everything goes mobile. Растут объёмы, растёт производительность устройств, с ростом производительности расширяются возможности. Это позволяет использовать преимущества Unreal Engine в разработке по максимуму, как с точки зрения высококачественной графики, так и с точки зрения производства.

UE4 позволяет строить разработку проектов высокого качества небольшой группой разработчиков за счёт мощного инструментария (в частности, визуального скриптования посредством Blueprint), открытого исходного кода и постоянного роста комьюнити.

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

Специфика рендера

  • На мобильных устройствах используется так называемый форвард-рендеринг (forward render) или прямая визуализация. Его главное достоинство — это самый простой и легко реализуемый алгоритм визуализации. Программа визуализирует только то, что видит виртуальная камера в данный момент, поэтому просчет происходит быстро и занимает минимум памяти.
  • Проводить стресс-тесты лучше на ранних стадиях разработки — при визуализации сцен со сложными шейдерами и освещением производительность может резко падать. Пост-процессы в мобильных системах также значительно упрощены в виду возможных ограничений производительности.
  • Материалы при этом поддерживают PBR (Physically Based Rendering) и шейдинг, для их сборки используется тот же нодовый редактор. По сравнению с Unreal Engine 3 материалы в Unreal Engine 4 не имеют специальной мобильной ветки. Однако при создании материалов необходимо держать в голове тот факт, что GL ES2 имеет ряд ограничений, которые нужно учитывать при их построении.
  • UE4 использует многоплатформенный транслятор стандарта HLSL, который позволяет транслировать шейдера в GLSL или Metal SL. На сегодняшний день стандартом является OpenGL ES2, но уже доступен OpenGL ES3.1, который расширяет стандарт ES2 и делает его значительно интереснее. Также существует известная проблема, связанная с тем, что программы, основанные на системе ES, сильно нагружают центральный процессор, но теперь у нас есть Metal, который переносит основную нагрузку на GPU.

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

  1. LDR (iPhone 4) — освещение и пост-процессы не используются, но при этом сохраняется полный доступ к редактору материалов.
  2. Basic (iPhone 4S) — можно использовать статичные источники света и некоторые пост-процессы.
  3. HDR (iPhone5S) — вычисления цвета и освещённости происходят при помощи чисел с плавающей точкой. Добавились тени, качество которых просчитывается в зависимости от расстояния до камеры.
  4. Desktop — рендеринг с поддержкой статичного и динамического освещения и физически корректного шейдинга.

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

В профиле устройств можно хранить настройки рендера под каждый гаджет отдельно или же под класс устройств со сходными параметрами. Для iOS задается профиль под каждое устройство. Для Android профили создаются по скорости обработки тайлов и/или по типу графического процессора.

  • Общий принцип создания профиля.
  • Задание общих параметров рендера.
  • Настройка параметров для всех мобильных устройств.
  • Добавление параметров, характерных для всех устройств каждой платформы.
  • На основе базовой конфигурации iOS-платформы добавляются параметры для каждого iOS-устройства.
  • На основе базовой конфигурации Android-платформы создаются профили для низкого, среднего и высокого качества.
  • Добавление параметров для конкретного графического процессора.

Само собой, разработка под iOS и Android обладают своими особенностями.

Особенности разработки под разные платформы

Проекты для iOS можно собирать как на компьютерах с Mac OS, так и на Windows. Само собой, в последних поколениях устройств от Apple добавлена новая графическая система Metal, которая позволяет поднять графику на совсем новый уровень. Говоря о работе с Metal, в голове стоит держать следующее:

  • Использует более простой менеджер ресурсов.
  • Поддерживает новую компрессию текстур ASTC (Adaptive Scalable Texture Compression), которая позволяет получить файлы текстур небольшого размера, но с высоким разрешением (требует процессор А8 и выше).
  • Добавлена поддержка режима параллельного рендеринга, которая пока ещё не поддерживается в Unreal Engine 4, но в ближайших версиях поддержка появится.
  • Имеет очень гибкую систему отладки и проверки в Xcode: просмотр ресурсов, перекомпиляция шейдеров «на лету», профилирование шейдеров и многое другое. Для поддержки Metal требуется набор предкомпиленных шейдеров, поэтому скомпилировать проект пока можно только на Mac OS.
  • Всё ещё требует перехода на промежуточные языки программирования для окончательной сборки.

С Android всё намного сложнее из-за проблемы фрагментации по следующим категориям:

  • CPU — ARM 32, ARM 64, x86, x64;
  • GPU — Adreno, PowerVR, Tegra, Mali, которые, в свою очередь, используют различные компрессии текстур: ATITC, PVRTC, DXT, ETC1, ETC2, ASTC;
  • версии ОС — 2.3 → 5.1.1;
  • варианты ОС — Android, Amazon и так далее.

Это приводит к следующим проблемам совместимости:

  • Компиляция шейдера — один и тот же шейдер может работать с ошибками или не работать вообще. Производитель может выпускать свою собственную версию компилятора шейдера, что-то менять от версии к версии, и из-за этого могут происходить сбои.
  • Графический процессор может получать доступ к различному объёму памяти, что делает затруднительным оптимизацию.
  • Сглаживание. Некоторые устройства поддерживают только восемь интерполяторов, а некоторые не могут просчитать и восьми.
  • Неверные описания расширений в коде. Например, система говорит, что texCubeLodEXT существует, но, по факту, эта команда не работает.

Как же решить проблему совместимости?

  • Избавиться от самых проблемных типов устройств. Оставить 10 базовых устройств с различными центральными и графическими процессорами. На остальных устройствах проверять дополнительно. Никогда не избавляйтесь от устаревших устройств.
  • Использовать программы для автоматизации тестирования (AppThwack, TestDroid и другие). В этих программах уже занесены профили сотен устройств.
  • На данный момент в разработке находится UE4 Readiness App — программа, показывающая параметры устройства. Приложение написано на Java и будет распространяться через Google Play.
  • Добавление группы расширений GL ES3.1 — геометрический шейдер, ASTC текстуры и так далее.

Также, в качестве отдельного замечания, стоит помнить о том, что в Unreal Engine используется очень тонкий Java-клиент. Иногда возникает необходимость изменения некоторых исходников C++, но чаще всего этого можно избежать.

С точки зрения размера приложения для игр, объём которых превышает 50 Мб, используются специальные файлы ресурсов с расширением .obb. Amazon требует упаковывать всю игру в один .apk-файл, в настройках проекта перед упаковкой можно выбрать один из этих режимов. Сборка Android-версий на MacOS стала возможна с версии 4.7, собирать билд можно, не выходя из редактора.

Особенности разработки для web (HTML5)

Самый крутой момент состоит в том, что в UE4 используются решения без применения плагинов — только JavaScript. На текущий момент используется транслятор Emscripten, который конвертирует скомпилированный код С++ в ASM.JS. Полученный код в браузере может работать минимум с 50% скоростью от базовой. Без браузера (как самостоятельное приложение) скорость работы приложения зависит от JavaScript-компилятора.

Распределение памяти производится браузером, причём выделяется сразу нужный объём памяти. Это одна из проблем совместимости различных браузеров. Браузеры для 64-битных систем могут спокойно запускать проекты, а вот 32-битные иногда испытывают трудности.

Текущий графический стандарт для HTML5 — это WebGL, который совместим со стандартом OpenGL ES2. Разные браузеры имеют разные расширения для поддержки этого стандарта. Преимущество перед мобильными системами в том, что есть возможность максимально использовать вычислительные мощности настольной системы.

Новый стандарт WebGL 2 будет совместим с ES3.0. В данный момент разработка продолжается.

Виртуальная файловая система позволяет значительно увеличить скорость работы с файлами, но требует очень большого количества оперативной памяти. Emterpreter — это транслятор, который позволяет переводить из кода C++ в JavaScript и обратно. Он также способен интерпретировать асинхронный код, как синхронный. Не требуется предзагрузка контента. Поддержка этого расширения пока только анонсирована и находится в разработке.

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

32-битные браузеры не могут выделять большой объём памяти, поэтому нужно использовать в основном 64-битные версии. Игры для HTML5 пользуются большим спросом, и внедрение Emterpreter поможет минимизировать многие неудобства.

Планы на будущее

Unreal Engine 4 продолжает активно развиваться на мобильные и веб-платформы, уже в ближайшее время выйдет версия 4.8, будут заявлены новые фичи в этом направлении, продолжается работа по поддержке Metal MRT, оптимизация, добавление новой функциональности.

Чтобы написать колонку для ЦП, ознакомьтесь с требованиями к публикуемым материалам.


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

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

В File меню вы сможете найти подменю под названием Package Project. Этот раздел отвечает за подготовку и запаковку вашего проекта для тестирования и распространения. Так же в этом разделе имеются дополнительные настройки запаковки.

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

Запаковка проекта

Что бы запаковать ваш проект под конкретную платформу, выберете File > Package Project > [Имя платформы] в редакторе UE4.

Меню запаковки проекта

Вам будет предложено выбрать путь, куда будет помещен ваш проект, а затем начнется процесс запаковки проекта.

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

Прогресс запаковки

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

Окно лог

Massage Log

Запуск проекта

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

Запуск проекта через проводник

Конфигурация Название EXE Расположение
Development [Имя проекта].exe [Путь]WindowsNoEditor[Имя проекта]BinariesWin64
Shipping [Имя проекта]-Win32-Shipping.exe.exe [Путь]WindowsNoEditor[Имя проекта]BinariesWin32

Распространение

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

Дополнительные настройки можно найти в File > Package Project > Packaging Settings в главном меню редактора UE4.

Окно настроек проекта

Запаковка контента

При обновлении вашего контента, вам может не понадобится перекомпилировать весь проект для того, что бы запустить его и проверить. Вместо этого, в UE4 существует возможность запаковать только сам контент на нужную платформу. Сделать это можно через File > Cook Content > [Платформа].

Совсем недавно приобрел Oculus Quest 2, который является довольно удивительным устройством.

Я инженер-программист и геймер. До этого я никогда не пользовался VR, но видел много примеров работы Unreal’s Engine во многих играх. Мне нравится программирование и у меня есть несколько интересных идей, которые я хотел бы воплотить в VR. Я узнал, что два основных фреймворка, используемых большинством VR устройств — это Unity или Unreal. Я выбрал Unreal, так как он основан на C++, и у меня уже есть опыт работы с этим языком.

Быстрый старт Oculus Quest 2 и Unreal Engine 4

С нетерпением ждал возможности написать мои первые программы для VR, просмотрел несколько кратких руководств онлайн, но не нашел ни одного, который бы помог с Quest 2. Несмотря на то, что существует несколько руководств для Oculus Quest и для Unreal Engine 4, ни одно из них не было достаточно полным или современным, чтобы я мог приступить к работе. Самое полное руководство, которое я нашел, было здесь:

Это руководство, написанное Oculus, рассказывает о том, как приступить к работе с Oculus Quest (1), и его стоит прочитать, чтобы получить общую картину. К сожалению, в Oculus нет нового руководства по Quest 2, а в приведенном выше руководстве по Quest 1 не указаны правильные версии программного обеспечения для Quest 2, Unreal Engine, и даже для общей настройки.

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

Совет 1: Используйте Android Studio, чтобы получить Android SDK 29 и NDK 21.3.

Многие из устаревших руководств рекомендуют Android API версии 24, но Quest 2 — это Android OS 10, поэтому следует использовать версию 29. Если вы пропустили инструкцию по установке Android Studio в кратком руководстве, смотрите здесь:

Выбор нужной вам версии Android Software Development Kit (SDK) находится в разделе Configure -> SDK Configuration (Настройка -> SDK Конфигурация). Здесь вы должны выбрать версию 29.

Вы должны связать SDK с соответствующим Native Development Kit (NDK). В этом случае, щелкните «SDK Tools» в SDK Configuration, а затем щелкните «Show Package Details» (Показать информацию о пакете), чтобы развернуть список выбранных версий. Я установил версию 21.3.

Возможно, вам понадобится установить Java SDK, если у вас его еще нет. Я уже установил OpenJDK 12, и он работает без проблем. Я подозреваю, что что-нибудь версии 8+ должно подойти.

Совет 2: Сборка в Windows

Вообще, я предпочитаю программировать на Linux. Разработчик имеет в своем распоряжении гораздо больше инструментов, и вы можете «использовать весь ящик», в отличие от ограничений, которые Windows накладывает на отдельные процессы. Это значительно ускоряет разработку.

Я пробовал несколько раз, пытаясь заставить это работать в Linux, в частности в дистрибутиве Mint, но это гораздо более длинный путь. Так как Unreal не имеет собственного движка, собранного для «Linux», они требуют, чтобы вы собирали его из репозитория кода. Одна только сборка заняла несколько часов, и каждая итерация, которую я пробовал, безуспешно занимала еще несколько часов из-за времени ожидания установки Unreal Engine после сборки. Я вернусь и попытаюсь повторить попытку позже и обновлю это руководство, если оно заработает.

Чтобы быстро приступить к работе, используйте Windows 10. Это позволяет использовать «Binary Option», перечисленные в руководстве по быстрому старту Oculus, на которое я ссылался выше.

Короче говоря, я смог воспользоваться последней версией Unreal Engine 4 через Epic Games Launcher. Несколько онлайновых руководств предлагали использовать старые версии по разным причинам, но с Quest 2 все они устарели. Используйте последнюю версию.

Совет 3: Укажите версии сборки в Unreal Engine

Шаг 8 раздела «Настройка Unreal Engine для Android Development» из краткого руководства Oculus указывает на использование Android SDK 23 в качестве минимальной версии и 25 в качестве целевой версии. Опять же, при работе Quest 2 под управлением Android 10, я установил как минимальную, так и целевую версию Android 29.

Шаг 10 из того же раздела говорит, что Unreal Engine получит расположение по умолчанию для Android SDK, Android NDK, и Java SDK. Я обнаружил, что это не всегда работает, но это легко указать вручную. Найдите свой установленный Java SDK и используйте эту версию в настройках. Android Studio установит Android SDK в папку AppData/Local/Android/Sdk для вашего пользователя, а Android NDK — в папку AppData/Local/Android/Sdk/ndk/<номер версии> для вашего пользователя.

Совет 4: Будьте терпеливы, но разумны.

Unreal Engine, похоже, не всегда сообщает, что делает в фоновом режиме. Если вы обнаружите, что ждете вечно, то проверьте менеджер задач. Разверните задачи под Unreal Engine и вы можете обнаружить несколько запущенных потоков. Это могут быть шейдеры или сборка самого проекта. Если они есть, пока Unreal Engine завис, просто подождите.

И будьте терпеливы. На сборку шейдеров в первый раз может уйти несколько часов, а на перестройку проекта или шейдеров, если что-то пойдет не так, может уйти 30 минут и более.

Для меня все пошло наперекосяк несколько раз, пока я экспериментировал с платформой! Иногда это была проблема со сборкой, когда Unreal некорректно обнаруживал дубликаты ресурсов или терял доступ к adb или другие странные проблемы. Если сборка постоянно падает, даже когда все остальное кажется правильным, то можно удалить папки «Intermediate» и «Saved» в своем проекте. Это заставит Unreal пересобрать их, что снова займет очень много времени, но является легким выходом при возникновении некоторых странных конфликтов.

Еще одна проблема появляется, когда Unreal неверно очищает папки, после того как они закрыты. В некоторых случаях он оставляет Android Studio запущенным (Unreal Engine базируется на Android Studio), или adb. exe запущенным (который взаимодействует с вашим Android устройством), или другие задачи OVR или Epic. Если они запущены, несмотря на то, что сам Unreal Engine закрыт, вы не сможете запустить Unreal Engine снова. Вам, возможно, придется убить эти задачи вручную из диспетчера задач, и как только вы это сделаете, вы сможете снова запустить Unreal Engine.

Совет 5: Не пытайтесь использовать базовый VR проект Unreal Engine.

Oculus в предлагает начать с пустого проекта, и они правы. Базовый VR проект просто не работает. Вам придется создавать многие милые вещи с нуля (или, по крайней мере, из других учебников), но, по крайней мере, вы сможете собирать и развертывать их.

Если вам нужна помощь при запуске самого Unreal Engine, я обнаружил, что следующие руководства были очень хороши:

Совет 6: Магические числа

Существует много полезных вещей, которые можно предпринять для создания отличного VR опыта, но самым важным из них является использование расположения гарнитуры для «автоматической» настройки вида пользователя. Это помогает как лучше погружаться в VR, так и избежать тошноты.

Однако не сразу понятно, как это сделать, и ответ на этот вопрос — настройка для вашей пешки (pawn):

  • Создать новую пешку Blueprint.
  • Под «Default Scene Root» в этом сценарии, добавьте другую сцену и назовите ее «VRCameraRoot» (например).
  • В разделе VRCameraRoot добавьте камеру и назовите ее VRCamera (например).
  • Каждый из перечисленных выше элементов должен быть масштабирован до 1 и установлен на 0,0,0 в соответствующих окошках.
  • Убедитесь, что в разделе «Camera Options» (Параметры камеры) VRC-камеры установлен флажок «Lock to Hmd» (Блокировка в Hmd).
  • Добавьте Set Tracking Origin в график событий для пешки, убедитесь, что Origin — это «Floor level» и его вызов из Event BeginPlay.
  • Когда вы размещаете пешку, убедитесь, что вы размещаете ее на высоте «0» (или на любой высоте пола, который вы используете).

Это может выглядеть немного странно, так как пол разбивает камеру вашего VR персонажа, но именно это используется Quest 2 и Unreal Engine в качестве подсказки, чтобы понять, что необходимо подстроиться под высоту Quest 2 (настраивается Quest 2, когда вы устанавливаете Oculus Guardian).

Совет 7: Получайте удовольствие

Как всегда, получайте удовольствие, делая новые классные вещи! Я новичок в Unreal Engine, так что весь этот метод кодирования «Blueprint» довольно занятный. Несмотря на это, я запустил шейдерную компиляцию настолько быстро, насколько это позволило после выполнения вышеописанных шагов. Вот несколько примеров того, что мне удалось создать:

Первое, что я построил, это шкаф. Правда! Я планирую превратить нестандартное пространство в спальне в большой шкаф, но это странный формат даже для шкафа. Я сделал его в VR, чтобы увидеть, каково это — находиться в этом пространстве. И решил, что на самом деле это довольно удобный формат!


Во-вторых, я начал играть с эффектами, фоном и движением. Я создал космическую сцену с вращающимися на орбите «планетами», по которым я мог бы ходить.


Наверное, продолжу развивать эту VR-сцену в виде мини-игры RTS. Мне есть чему поучиться как в Unreal, так и в VR, и наличие собственного проекта всегда помогает! Quest 2 — одна из самых продвинутых VR гарнитур, доступных на сегодняшний день. Несмотря на то, что это быстро изменится, базовые навыки создания VR сцены будут полезны в течение довольно долгого времени. Выберите проект и начинайте!


Для правильной загрузки и установки Unreal Engine 4 следуйте инструкциям, описанным в этом руководстве , предварительно убедившись, что оборудование компьютера соответствует спецификациям.

Рекомендуемая конфигурация:

  • Настольный ПК или Mac;
  • Операционная система: Windows 7 64-bit или Mac OS X 10.9.2 и выше;
  • Процессор: Intel или AMD с тактовой частотой 2.5 ГГц и выше
  • Видеокарта: NVIDIA GeForce 470 GTX или AMD Radeon 6870 HD и более производительные:
  • Оперативная память: 8 ГБ.

Минимальные требования гораздо ниже благодаря гибкой настройке графики.

Другие доступные платформы: Linux, iOS и Android. Имеется встроенная поддержка VR для Oculus Rift, поддержка Xbox One и PlayStation 4.

2. Определите цель изучения движка

Определитесь, что вы хотите сделать при помощи игрового движка. Для чего собираетесь изучить UE4? Вариантов использования масса, но наиболее популярные желания новичков выделить нетрудно:

  • Создать игру;
  • Заняться архитектурной визуализацией;
  • Заняться разработкой игрового окружения;
  • Создать игровые уровни;
  • Заняться анимацией и кинематографией.
Хвататься за все сразу – плохая практика. В начале пути стоит выбрать единственный вариант, погрузиться в него с головой, чтобы изучить все досконально.

3. Составьте план проекта (опишите этапы создания игры в UE4)


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

  1. Разработка основной идеи. Сюжет.
  2. Концепт-арт: визуальный стиль игры (рисунки, цифровая живопись, фотоотсылки).
  3. Концепция игрового процесса: как будет проходить игра, игровая механика.
  4. Создание прототипа игрового процесса (Blueprint или C++): простая программа с интегрированной базовой механикой и элементами-заполнителями.
  5. Доработка механики (создателю всегда есть что добавить).
  6. Создание трехмерной статической сетки (3D-модели, UV-развертка, текстурирование, материалы, экспорт и импорт).
  7. Работа с анимацией и эффектами.
  8. Дизайн уровней (прототипирование BSP, скрипты, ИИ, игровое тестирование, детализация, освещение).
  9. Оптимизация и производительность.
  10. Упаковка и релиз.
Многие из этих шагов пересекутся во время производства, а тестирование и исправление ошибок будут фоновым этапом разработки на протяжении всего проекта.

4. Определите этапы создания среды в UE4

Теперь давайте рассмотрим, что нужно для создания пользовательской трехмерной игровой среды с помощью Unreal Engine 4:

  1. Создание 3D-модели: высокополигональная и низкополигональная сетки.
  2. Оптимизация текстур.
  3. Создание LOD (уровня детализации).
  4. Разработка собственных коллизий.
  5. Экспорт пакета 3D-моделирования.
  6. Импорт статических мешей ( базовых единиц, используемых для создания геометрии мира).
  7. Экспорт и импорт всех текстур и материалов в UE4.
  8. Разукрашивание текстур.
  9. Создание прототипа.
  10. Настройка Blueprint для игровой механики (при необходимости).
В зависимости от среды, некоторые действия из этого списка могут не потребоваться.

5. Изучите основные понятия и операции

Чтобы приступить к разработке первого проекта, вам необходимо освоить базовые вещи:

  1. Работу с навигацией в окне просмотра.
  2. Использование Content Browser.
  3. Работу с объектами и статическими сетками.
  4. Использование BSP для блокировки макета уровня.
  5. Вставку и использование источников света (направленный свет, прожекторы, точечные светильники).
  6. Управление сценой.
  7. Работу с Lightmass Importance Volume, Player Start, Fog.
  8. Масштаб и пропорции.
  9. Тестирование из редактора.

Изучите основные понятия (термины):

  1. Мир – список загружаемых в игру уровней.
  2. Уровень – определяемая пользователем зона игровых действий.
  3. Объекты – базовые строительные блоки Unreal Engine. Через них реализована вся функциональность движка.
  4. Актер – любой Объект, помещенный на уровень и поддерживающий 3D-преобразования (перемещение, вращение, масштабирование).
  5. Пешка – подкласс Актеров, управляемых игроком или искусственным интеллектом (ИИ).
  6. Персонаж – подкласс Пешек, управляемых игроком.
  7. Классы описывают поведение и свойства конкретных Объектов и Актеров, используемых в игре.
  8. Компоненты – добавляемая Актеру функциональность.

6. Главное – режим!


Подберите, удобный для себя, подход к изучению движка. Для начала достаточно часа в день. Вы можете постепенно наращивать темп, но час – это минимум. Если вы хотите добиться результатов, занимайтесь усердно в одно и то же время. В этом деле очень важна система!

Важно: Ключом к изучению любого игрового движка (особенно UE4) является установка добровольных ограничений. Не переусердствуйте со временем занятий и объемом материала, чтобы не перегореть на старте!

7. Начните с малого

Не пытайтесь сразу сделать большую игру. Ваша цель при разработке первого проекта – изучить функциональность, а также основы и принципы использования игрового движка. Рекомендуется начинать с разработки небольшой игровой среды со стартовым контентом. Это может быть отдельная комната, коридор или созданная при помощи Starter Content внешняя территория.

Первый простой проект будет отправной точкой для изучения более сложных тем.

8. Изучите шаблоны

При разработке первого проекта на Unreal Engine 4 обязательно используйте один из встроенных игровых шаблонов. Это не просто примеры, а скорее концептуальные решения – на их основе строится логика вашего приложения. Стоит изучить каждый из примеров досконально, не боясь что-то испортить. Вы можете его сломать, загрузить и сломать снова, пока не поймете суть происходящего.

Доступно более 10 вариантов: «Шутер от первого лица», «Шутер от третьего лица», «Сверху вниз», «Шаблон с боковой прокруткой» и др. Использование любого из них даст вам понимание базовой игровой механики, а добавив собственные изменения, вы можете развить функциональность. Не бойтесь экспериментов, тренируйте свои навыки и набирайтесь опыта!

9. Освойте Blueprint


Blueprint – это язык визуальных сценариев внутри UE4. Он сделает всю работу за вас и подключит настраиваемое поведение к проекту. Это означает, что можно создать скрипт для большей части игрового процесса и игровой механики внутри редактора без необходимости писать и компилировать код на C++. Можно создать игру, используя только Blueprint.

Изучите базовые функции Blueprint для создания интерактивных элементов игрового процесса:

  • Перемещение платформ;
  • Открытие и закрытие дверей;
  • Включение и выключение света;
  • Причина и следствие (взаимодействие с предметами в игре);
  • Активация определенных событий или действий при загрузке уровня или при появлении игрока;
  • Добавление взаимодействия с помощью кнопки или текста на экране.
Blueprint чрезвычайно эффективен, поэтому его необходимо изучить всем начинающим разработчикам и геймдизайнерам. Если вы хотите стать художником по игровому окружению, дополнительно потребуется пакет 3D-моделирования (Maya LT, Maya, 3dsMax, Modo, Blender). Дизайнеру уровней, программисту или художнику по текстурам он не особо нужен.

10. Используйте интернет-ресурсы для обучения

В процессе изучения Unreal Engine 4 у вас наверняка возникнут вопросы. Ответы на них можно искать не только в документации:

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

На Unreal Engine 4 сделаны многие современные игры, поэтому движок однозначно рекомендован к изучению всем интересующимся геймдевом. На самостоятельное освоение всех его возможностей потребуются не один год, но есть и более короткий путь. Обратите внимание на курс факультета разработки игр на Unreal Engine 4 образовательной онлайн-платформы GeekBrains. Вы освоите сам движок, научитесь программировать на Blueprints и C++ и сможете самостоятельно создавать игры с нуля. Занятия ведут эксперты-разработчики российских технологических компаний, а успешно окончившие курс студенты получат диплом о профессиональной переподготовке, несколько проектов в портфолио и помощь в трудоустройстве.

Читайте также: