Unreal Engine: что умеет, кто его использует и как научиться с ним работать
easy

Unreal Engine: что умеет, кто его использует и как научиться с ним работать

Самый мощный из универсальных игровых движков

Главный инструмент при создании игры — это игровой движок. На нём собираются все части игры и настраивается игровая логика. При разработке игры в одиночку или в небольшой компании чаще всего используется один из трёх вариантов: Godot, Unity или Unreal. Про Unity мы уже рассказывали, сегодня очередь Unreal.

В чём особенность универсальных игровых движков

Игровой движок — фундамент, на котором собирается игра. Гиганты индустрии делают для своих игр собственные движки, например Ubisoft Anvil. Иногда для одной игры пишут один движок.

Но есть универсальные игровые редакторы, на которых можно сделать всё: игры в 2D или 3D, визуальные эффекты, анимацию. У таких программ широкие возможности, они бесплатны для разработки и подходят для любой относительно несложной игры, поэтому их используют почти все инди-разработчики.

Хотя движки универсальные, со временем начинает проявляться какое-то одно направление, которое на том или другом движке получается лучше всего. У Godot это 2D-игры с минималистичной графикой, у Unity — проработанные 2D с красивыми визуальными эффектами. На Unreal в основном делают 3D-шутеры, причём любого уровня: от простых до гиперреалистичных с огромным количеством возможностей. Создатели у Unreal-игр тоже разные: движок используют и соло-разработчики, и крупные компании вроде Electronic Arts или Konami.

Кто разработал и развивает Unreal Engine

Unreal создали на C++ в 1995 году в Epic Games специально для игр этой компании. Первую версию движка написал Тим Суини, основатель и CEO Epic Games. Unreal — игровой движок, но его используют и в киноиндустрии, и архитектуре, и вообще везде, где нужен крутой 3D.

Развитием Unreal занимается целая команда, хотя Суини остаётся одним из ключевых разработчиков. На момент написания этой статьи Epic Games работает уже над шестой версией. При разработке новых версий в движок добавляют возможности, которые Epic Games использует в своих играх.

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

Так выглядит игра на Unreal Engine 5.4

Как начинается создание игры

Unreal Engine поставляется с редактором Unreal Editor, стартовое окно работы в котором выглядит примерно так же, как в других редакторах:

1 — блок выбора темы проекта, 2 — блок набора шаблонов, 3 — настройки проекта по умолчанию, 4 — выбор папки для хранения проекта
1 — блок выбора темы проекта, 2 — блок набора шаблонов, 3 — настройки проекта по умолчанию, 4 — выбор папки для хранения проекта

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

В настройках проекта по умолчанию можно выбрать основную платформу для своей игры, трассировку лучей и максимальный уровень качества графики. Также на старте можно выбрать метод настройки основной логики игры. Управление персонажем, материалы 3D-моделей, физика и почти всё остальное настраиваются одним из двух способов:

  • Основной вариант — визуальный редактор чертежей Blueprints. Это главный способ взаимодействия с проектом на Unreal, и про это мы расскажем подробнее отдельно.
  • Второй вариант — написать всё самостоятельно на C++.

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

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

Unreal Engine: что умеет, кто использует, как научиться с ним работать

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

Blueprints

Примерно половину времени разработчик проводит в редакторе сцен и проверяет работу игры в реальной жизни. Вторая половина уходит на построение логики игры в редакторе Blueprints. Это визуальный редактор скриптов. Выглядит как работа со схемами и готовыми меню настроек:

Unreal Engine: что умеет, кто использует, как научиться с ним работать

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

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

Unreal Engine: что умеет, кто использует, как научиться с ним работать

Если хотите попробовать сами создать такой визуальный скрипт, почитайте статью-урок от Epic Games или посмотрите видео по введению в Blueprints.

Так нужен C++ или нет

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

С другой стороны, знание такого сложного, популярного и востребованного языка программирования всегда может пригодиться, поэтому Unreal можно использовать ещё и как платформу для изучения. Собрали часть игры — посмотрели, как всё это выглядит в коде.

Можно ли делать на Unreal 2D-игры

Изначально Unreal был разработан под 3D-шутеры, и сейчас при создании нового проекта в нём нельзя выбрать шаблон для 2D. Но среди дополнений для движка можно скачать двухмерные расширения и ассеты. На YouTube есть подробные инструкции по разработке.

Вот три причины, почему вполне реально делать 2D-игры на Unreal:

  • Какое-то время Epic Games поддерживали плагин Paper 2D для платформеров. Сейчас уже не поддерживают, но возможности, ассеты и сообщество разработчиков 2D на Unreal остались.
  • После скандалов с Unity многие инди-разработчики перешли на Unreal. Часть из них написали свои дополнения и шаблоны для старта проекта, и ими тоже можно пользоваться.
  • Unreal — сложная и универсальная технология. Разработчикам, которые перешли на Unreal, невыгодно возвращаться к старым вариантам и потерять потраченное на его освоение время. Удобнее работать с одним движком и знать, что на нём можно собрать любой проект, чем брать под каждый жанр отдельную технологию.

Технологии Lumen и Nanit

В Unreal Engine 5 представили две ключевые технологии: Lumen и Nanite, которые существенно улучшают визуал и производительность движка.

Lumen — система динамического глобального освещения. Прямо в редакторе можно менять источники света и сразу видеть, как всё будет выглядеть в запущенной игре. Если переставлять предметы, они тоже будут менять освещение в зависимости от того, где находятся. От обычной системы освещения Lumen отличается тем, что не нужно каждый раз запускать рендер после перестановки освещения:

Unreal Engine: что умеет, кто использует, как научиться с ним работать

Nanite позволяет использовать высококачественные модели. Каждый 3D-объект, или mesh, состоит из большого количества полигонов — треугольных плоскостей, сшитых под разными углами. Количество полигонов необязательно означает, что модель выйдет хорошей, но если их мало, то живой и натуральной она точно не получится. С Nanite движок может использовать миллионы полигонов. Вот пример одного объекта:

Unreal Engine: что умеет, кто использует, как научиться с ним работать

Таких объектов могут быть сотни и тысячи на одну сцену, и при этом компьютеру не понадобятся космические мощности для запуска.

Metahumans

Metahumans — редактор человеческих персонажей нового уровня. Технология пока ещё не выпущена официально, но суть уже понятна — отдельный инструмент для создания людей в играх и визуализациях.

Metahumans стал результатом работы нескольких компаний:

  • 3Lateral, студии 3D-сканирования и моушен-дизайна;
  • Qubic Motion, компании по разработке лицевой анимации;
  • Quixel, создателя библиотеки сложных проработанных ассетов.

Вот как выглядит результат:

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

Анимация Motion Matching

Каждый персонаж состоит из набора анимаций: бег, ходьба, прыжки, падение, просто анимация ожидания, когда персонаж стоит на месте и слегка покачивается. У каждой анимации может быть несколько видов. До версии Unreal Engine 5.4 традиционными подходами к анимации были blend spaces и state machines.

Blend spaces позволяет смешивать готовые анимации, чтобы одна плавно перетекала в другую. Например, персонаж идёт, а потом переходит на бег. Это не происходит автоматически, нужна готовая схема — state machines.

State machines переключают разные наборы смешанных через blend spaces анимаций. На каждый вариант движения нужно много таких схем-наборов, и между ними тоже нужно настроить связи через blueprints. Это могло сильно усложнять логику игры:

Unreal Engine: что умеет, кто использует, как научиться с ним работать

Сейчас проработка анимации сильно изменилась и работает по технологии Motion Matching: вместо blend spaces и state machines используется большая база данных анимаций, из которых динамически выбирается наиболее подходящая:

Unreal Engine: что умеет, кто использует, как научиться с ним работать

Biome Generator

Специально для дополнения LEGO Fortnite в Epic Games разработали генератор уникального открытого мира. Официально он пока не добавлен в движок, и на странице документации он отмечен как Experimental feature.

Каждый генератор — это сложный граф в Blueprints. Такой чертёж задаёт правила создания фрагмента ландшафта, например оазиса или леса:

Unreal Engine: что умеет, кто использует, как научиться с ним работать

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

Unreal Engine: что умеет, кто использует, как научиться с ним работать

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

Плюсы Unreal Engine

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

Для Unreal больше готовых решений по логике, которые на Unity или Godot придётся писать с нуля на одном из двух языков — C# или GDScript.

Необязательно писать код при разработке на Unreal Engine. Почти во всех случаях достаточно визуального редактора Blueprints.

Практически для любого инструмента можно найти видеоурок или инструкцию в документации.

Знание технологии Epic Games может стать хорошим плюсом при поиске работы в индустрии разработки игр.

Минусы Unreal Engine

Количество возможностей и настроек Unreal настолько велико, что при первом знакомстве давит. Кажется, что узнать и выучить всё это просто невозможно. Движок занимает много места на жёстком диске и требователен к железу. Если при старте работы он может использовать только 2 гигабайта оперативной памяти, то через два-три часа это значение может подняться до 14–16:

Unreal Engine: что умеет, кто его использует и как научиться с ним работать

Редактор чертежей Blueprints визуально понятнее кода, но от этого не становится простым. Правил и тонкостей в работе с графами столько же, если не больше, и на первое ознакомление с ними уйдёт не меньше 2–3 часов.

Как научиться работать с Unreal Engine

Для начала работы с движком можно посмотреть документацию. Статей много, они подробные, есть видео.

На YouTube можно найти посмотреть подборки видео для начинающих, где собрана общая информация про Unreal. Например, есть такой плейлист:

После этого пора познакомиться с редактором Blueprints. Можно посмотреть в документации либо посмотреть уроки на YouTube. Вот плейлист покороче:

А вот плейлист подлиннее:

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

Что в итоге

Unreal Engine — супермощный инструмент, который используется много где, но в основном для игр. Если вам интересна тема игровой разработки, однозначно стоит обратить на него внимание и посмотреть пару материалов для ознакомления. Если научиться работать на этом движке, другие просто не понадобятся, потому что на Unreal можно сделать всё.

Редактор:

Инна Долога

Обложка:

Алексей Сухов

Корректор:

Ирина Михеева

Вёрстка:

Маша Климентьева

Соцсети:

Юлия Зубарева

Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию
Еще по теме
easy