Перейти к содержимому

Зачем нужен unreal engine в epic games

  • автор:

Туториал по Unreal Engine. Часть 1: знакомство с движком

image

Unreal Engine 4 — это набор инструментов для разработки игр, имеющий широкие возможности: от создания двухмерных игр на мобильные до AAA-проектов для консолей. Этот движок использовался при разработке таких игр, как ARK: Survival Evolved, Tekken 7 и Kingdom Hearts III.

Разработка в Unreal Engine 4 очень проста для начинающих. С помощью системы визуального создания скриптов Blueprints Visual Scripting можно создавать готовые игры, не написав ни строчки кода! В сочетании с удобным интерфейсом это позволяет быстро изготавливать рабочие прототипы.

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

  • Установка движка
  • Импорт ассетов
  • Создание материалов
  • Использование Blueprints для создания объектов с простейшими функциями

Примечание: туториал будет состоять из восьми частей:

  • Часть 1: Знакомство с движком

Установка Unreal Engine 4

Для установки Unreal Engine 4 используется Epic Games Launcher. Перейдите на сайт Unreal Engine и нажмите на кнопку Get Unreal в правом верхнем углу.

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

После скачивания и установки программы запуска откройте её. Появится следующее окно:

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

Нажмите на Install Engine в левом верхнем углу. Программа запуска перейдёт к экрану, на котором можно будет выбрать устанавливаемые компоненты.

Примечание: Epic Games постоянно обновляет Unreal Engine, поэтому ваша версия движка может слегка отличаться от представленной на скриншотах. Например, после написания первого черновика этого туториала версия уже обновилась до 4.14.3! Туториал подойдёт вам, если у вас есть версия не ниже 4.14.

По умолчанию выбраны Starter Content, Templates and Feature Packs и Engine Source. Лучше так всё и оставить. Они будут полезны по следующим причинам:

  • Starter Content: это коллекция ассетов (ресурсов), которые можно бесплатно использовать в собственных проектах. В том числе это модели и материалы. Их можно использовать как временные ресурсы или в уже готовой игре.
  • Templates and Feature Packs: шаблоны (Templates) задают базовые возможности выбранного жанра игры. Например, при выборе шаблона Side Scroller будет создан проект с персонажем, простыми движениями и камерой на фиксированной плоскости.
  • Engine Source: Unreal — это движок с открытым исходным кодом, то есть вносить в него изменения может кто угодно. Если вам понадобится добавить к редактору дополнительные кнопки, то это можно сделать, изменив исходный код.

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

Создание проекта

Нажмите на одну из кнопок Launch, чтобы открыть браузер проектов (Project Browser). После его открытия нажмите на вкладку New Project.

Нажмите на вкладку Blueprint. Здесь можно выбрать один из шаблонов. Однако, поскольку мы начинаем с нуля, то выберем шаблон Blank.

Ниже будут перечисленные дополнительные параметры.

Вот, за что отвечает каждая опция:

  • Target Hardware: при выборе Mobile/Tablet будут отключены некоторые эффекты постобработки. Также можно будет использовать мышь для сенсорного ввода. Выберите здесь опцию Desktop/Console.
  • Graphical Target: при выборе Scalable 3D or 2D будут отключены некоторые эффекты постобработки. Выберите здесь Maximum Quality.
  • Starter Content: можно включить эту опцию, чтобы добавить базовый контент (Starter Content). Чтобы нам было проще, выберем No Starter Content.

Сменить папку хранения проекта можно, нажав на многоточие в конце поля Folder.

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

И наконец нажмите на Create Project.

Навигация по интерфейсу

После создания проекта откроется редактор. Он разделён на несколько панелей:

  1. Content Browser: в этой панели отображаются все файлы проекта. Её можно использовать для создания папок и упорядочивания файлов. Здесь также можно выполнять поиск по файлам с помощью поисковой строки или фильтров.
  2. Modes: в этой панели можно переключаться между инструментами, например Landscape Tool и Foliage Tool. Инструментом по умолчанию является Place Tool. Он позволяет располагать на уровне различные типы объектов, такие как источники освещения и камеры.
  3. World Outliner: отображает все объекты на текущем уровне. Можно упорядочить список, распределив связанные объекты по папкам, а также искать и фильтровать их по типам.
  4. Details: здесь отображаются все свойства выбранного объекта. Эта панель используется для изменения параметров объекта. Внесённые изменения повлияют только на выбранный экземпляр объекта. Например, если в сцене есть две сферы, то при изменении размера одной изменения коснутся только неё.
  5. Toolbar: содержит множество различных функций. Чаще всего мы будем пользоваться Play.
  6. Viewport: это обзор уровня. Осматриваться по сторонам можно, удерживая правую клавишу мыши и перемещая её. Для перемещения по уровню нужно зажать right-click and use the WASD keys.

Импорт ассетов

Какой смысл в поворотном столе, если на нём нечего показывать? Скачайте эту модель банана. Внутри находятся два файла: Banana_Model.fbx и Banana_Texture.jpg. Можете также использовать собственную модель, но зачем, если есть такой потрясающий банан?

Чтобы Unreal мог использовать файлы, их нужно импортировать. Перейдите в Content Browser и нажмите на Import.

С помощью диспетчера файлов найдите папку, в которой находятся Banana_Model.fbx и Banana_Texture.jpg are. Выделите оба файла и нажмите Open.

Unreal предложит несколько вариантов импорта файла .fbx. Снимите флажок Import Materials, потому что мы будем создавать собственный материал. Остальные параметры можно не менять.

Нажмите на Import. Два файла появятся в Content Browser.

При импорте файла на самом деле он не сохраняется в проект, если не указать этого явным образом. Сохранять файлы можно, нажав на файл правой клавишей мыши и выбрав Save. Также можно сохранить все файлы за раз, выбрав File\Save All. Старайтесь сохраняться почаще!

Учтите, что в Unreal модели называются «мешами» (meshes). Теперь у нас есть меш банана, настало время добавить его на уровень.

Добавление мешей на уровень

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

Чтобы добавить на уровень меш, нажмите правой клавишу мыши и перетащите Banana_Model из Content Browser во Viewport. Отпустите левую клавишу мыши и меш добавится на уровень.

Объекты на уровне можно перемещать, поворачивать и масштабировать. Горячие клавиши для этих действий — W, E и R. После нажатия на них можно использовать манипулятор:

О материалах

Если внимательно посмотреть на банан, то можно увидеть, что он не жёлтый! На самом деле. он выглядит почти полностью серым.

Чтобы придать банану цвет и детали, необходимо создать материал.

Что такое «материал»?

Материал задаёт внешний вид поверхности. На базовом уровне материал определяет четыре аспекта:

  • Base Color: цвет или текстуру поверхности. Используется для добавления детализации и вариаций цвета.
  • Metallic: насколько металлическим выглядит материал. В общем случае, чисто металлический объект имеет максимальное значение Metallic, а ткань — значение 0.
  • Specular: управляет блеском неметаллических поверхностей. Например, керамика будет обладать высоким значением Specular, в отличие от глины.
  • Roughness: поверхность с максимальной roughness (шероховатостью) не будет иметь никакого блеска. Используется для таких поверхностей, как камень и дерево.

Создание материала

Для создания материала нужно перейти в Content Browser и нажать на зелёную кнопку Add New. Появится меню со списком ассетов, которые можно создать. Выберите Material.

Назовите материал Banana_Material, а затем дважды нажмите левой клавишей мыши на файле, чтобы открыть его в редакторе материалов.

Редактор материалов (Material Editor)

Редактор материалов состоит из пяти основных панелей:

  1. Graph: в этой панели содержатся все ноды (узлы) и нод Result. Перемещаться по панели можно, удерживая правую клавишу мыши и двигая мышью. Масштабирование выполняется прокруткойколёсика мыши.
  2. Details: здесь отображаются свойства выбранного нода. Если нод не выбран, то здесь отображаются свойства материала.
  3. Viewport: содержит меш предварительного просмотра, представляющий материал. Поворачивать камеру можно, удерживая левую клавишу и двигая мышь. Масштабирование выполняется прокруткойколёсика мыши.
  4. Palette: список всех нодов, доступных для вашего материала.

Что такое нод (узел)?

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

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

У нодов есть входы и выходы, представленные кругом со стрелкой. Входы расположены слева, а выходы — справа.

Вот пример с использованием нодов Multiply и Constant3Vector, добавляющих текстуре жёлтого цвета:

У материалов есть особый нод, называемый нодом Result, который в нашем случае уже создан как Banana_Material. Здесь заканчиваются со временем все ноды. То, что подключено к этому ноду, определяет внешний вид конечного материала.

Добавление текстур

Для добавления модели цвета и деталей нам необходима текстура. Текстура — это просто двухмерное изображение. Обычно они проецируются на трёхмерные модели, придавая им цвет и детали.

Для текстурирования банана мы используем Banana_Texture.jpg. Применить в материале текстуру позволяет нод TextureSample.

Перейдите к панели Palette и найдите TextureSample. Добавьте нод, удерживая левую клавишу мыши и перетащив его на схему.

Для выбора текстуры необходимо сначала выделить нод TextureSample. Перейдите в панель Details и нажмите на раскрывающийся список, расположенный справа от Texture.

Откроется меню, в котором перечислены все текстуры проекта. Выберите Banana_Texture.

Чтобы увидеть текстуру на меше предварительного просмотра, нужно подключить её к ноду Result. Удерживайте левую клавишу мыши на белом контакте выхода нода TextureSample. Перетащите его на входной контакт Base Color нода Result.

Вернитесь во Viewport, чтобы увидеть текстуру на меше предварительного просмотра. Можно поворачивать его (удерживая левую клавишу мыши и перемещая мышь), чтобы рассмотреть другие детали.

Нажмите на Apply в Toolbar, чтобы обновить материал, и закройте редактор материалов после завершения.

Использование материалов

Чтобы применить материал на банан, нужно его назначить. Вернитесь к Content Browser и дважды нажмите на Banana_Model, чтобы открыть его. Появится следующее окно редактора:

Перейдите в панель Details и найдите раздел Materials. Нажмите на раскрывающееся меню, расположенное справа от Element 0, и выберите Banana_Material.

Закройте редактор мешей, вернитесь к основному редактору и посмотрите на Viewport. Вы увидите, что теперь на банане есть текстура. Поздравляю, вы теперь знаете всё необходимео, чтобы стать дизайнером уровней!

Примечание: если освещение слишком тёмное, можно изменить его, зайдя в World Outliner и нажав на Light Source. В панели Details найдите параметр Intensity и увеличьте его значение.

Про Blueprints

Даже несмотря на то, что банан выглядит отлично, будет ещё лучше, если он начнёт вращаться на поворотном столе. Проще всего создать его с помощью «чертежей» Blueprints.

В простейшем случае Blueprint представляет собой «вещь». Blueprints позволяют создавать свои поведения для объектов. Объект может быть чем-то физическим (типа поворотного стола) или чем-то абстрактным, например, системой здоровья.

Хотите создать движущийся автомобиль? Используйте Blueprint. А как насчёт летающей свинки? Используйте Blueprints. А если нужен взрывающийся при касании котик? Blueprints.

Как и в материалах, в Blueprints используется система на основе нодов. Это значит, что достаточно создать ноды и соединить их — никакого кода не требуется!

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

Blueprints просты в использовании, однако не так быстры, как код на C++. То есть если вам нужно создать что-то «тяжёлое» с точки зрения вычислений, например, сложный алгоритм, то лучше воспользоваться C++.

Но даже если вы предпочитаете C++, то бывают случаи, когда оптимальнее использовать Blueprints. Вот некоторые из преимуществ Blueprints:

  • Обычно разработка на Blueprints быстрее, чем на C++.
  • Простота упорядочивания. Можно разделять ноды на разные области, например, на функции и графы.
  • Если вы работаете с людьми, не знающими программирование, то изменение Blueprint проще благодаря их наглядности и интуитивной понятности.

Создание Blueprint

Перейдите в Content Browser и нажмите на Add New. Выберите в списке Blueprint Class.

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

Примечание: поскольку мы можем расположить классы Pawn и Character, они также являются акторами (Actors).

Поворотный стол будет находиться на месте, поэтому самым подходящим будет класс Actor. Выберите Actor и назовите новый файл Banana_Blueprint.

Дважды нажмите на Banana_Blueprint, чтобы открыть его. Нажмите на Open Full Blueprint Editor, если появится подобное окно:

Blueprint Editor

Во-первых, выберите в редакторе Blueprint editor вкладку Event Graph.

Blueprint editor состоит из четырёх основных панелей:

  1. Components: содержит список текущих компонентов.
  2. My Blueprint: этот раздел обычно используется для управления графами, функциями и переменными.
  3. Details: здесь отображаются свойства текущего выбранного элемента.
  4. Graph: именно здесь происходит магия. Все ноды и логика находятся здесь. Перемещаться по панели можно, зажав правую клавишу мыши и перемещая мышь. Масштабирование выполняется прокруткойколёсика мыши.
  5. Viewport: здесь отображаются все компоненты, имеющие визуальные элементы. Перемещение и обзор выполняются так же, как и во Viewport основного редактора.

Создание поворотного стола

Для создания стола нам нужно две вещи — основание и подставка. Их можно создать с помощью компонентов.

Что такое «компоненты»?

Если Blueprint — это автомобиль, то компоненты — это строительные элементы, из которых он состоит. Примерами компонентов могут быть двери, колёса и двигатель.

Однако компоненты могут быть не только физическими объектами.

Например, чтобы автомобиль мог двигаться, можно добавить компонент движения. Можно даже заставить машину летать, если добавить компонент полёта.

Добавление компонентов

Чтобы увидеть компоненты, необходимо переключиться в режим Viewport. Нажмите на вкладку Viewport, чтобы переключиться на неё. Вот как это выглядит:

Примечание: компонент DefaultSceneRoot при запуске приложения не отображается, он виден только в редакторе.

Поворотный стол будет использовать два компонента:

  • Cylinder: простой белый цилиндр. Это будет основанием, на котором лежит банан.
  • Static Mesh: — это компонент будет отображать меш банана.

Неплохо было бы сделать основание чуть короче. Активируйте манипулятор масштаба, нажав R, а затем уменьшите масштаб (точный размер неважен, можно будет изменить его позже).

Теперь пора добавить меш. Вернитесь в панель компонентов Components и нажмите левой клавишей на пустой области, чтобы снять выделение с компонента Cylinder. Благодаря этому следующий добавляемый компонент не будет прикреплён к компонентуCylinder.

Примечание: если этого не сделать, то следующий компонент будет прикреплён к компоненту Cylinder. Это значит, что он также унаследует масштаб компонента Cylinder. Поскольку мы уменьшили масштаб цилиндра, следующий компонент тоже будет уменьшен.

Затем нажмите на Add Component и выберите из списка Static Mesh.

Для отображения банана выберите компонент Static Mesh, а затем нажмите на вкладку Details. Нажмите на раскрывающий списков в правой части Static Mesh и выберите Banana_Model.

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

Про ноды Blueprint

Теперь нужно сделать так, чтобы поворотный стол вращался. И здесь нам потребуются ноды Blueprint.

В отличие от своих близких родственников — нодов материалов — ноды Blueprint имеют особые контакты, называемые контактами Execution. Контакт слева — это вход, контакт справа — выход. У всех нодов есть хотя бы по одному входу и выходу.

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

Node A и Node B будут выполняться, потому что у их входных контактов есть подключение. Node C и Node D никогда не выполняются, потому что входной контакт Node C не имеет подключения.

Вращение поворотного стола

Прежде чем начать, давайте посмотрим на панель Components. Можно заметить, что у Cylinder и Static Mesh есть отступ, а у DefaultSceneRoot — нет, потому что они подключены к DefaultSceneRoot.

Если переместить, повернуть или отмасштабировать корневой компонент, то тоже самое произойдёт и с прикреплёнными к нему компонентами. Благодаря этому поведению можно поворачивать Cylinder и Static Mesh одновременно, а не по отдельности.

Создание нода

Чтобы приступить к созданию скриптов, переключитесь назад на вкладку Event Graph.

Реализация вращения объекта настолько проста, что требует всего одного нода. Нажмите правой клавишей на пустое пространство в графе, чтобы открыть меню доступных нодов. Найдите AddLocalRotation. Нам нужно поворачивать основание и банан, поэтому мы просто будем вращать корневой компонент. Выберите AddLocalRotation (DefaultSceneRoot).

Примечание: если нода нет в списке, снимите флажок Context Sensitive в правом верхней части меню.

В вашем графе теперь появится новый нод AddLocalRotation. Вход Target автоматически подключится к выбранному компоненту.

Чтобы задать значение вращения, перейдите к входу Delta Rotation и измените значение Z на 1.0. Благодаря этому Blueprint сможет выполнять вращение относительно оси Z. Чем выше значения, тем быстрее будет вращаться стол.

Чтобы поворотный стол вращался постоянно, нужно вызывать AddLocalRotation в каждом кадре. Для выполнения нода в каждом кадре воспользуемся нодом Event Tick. Он уже находится в графе. Если его нет, то создайте его тем же способом, что и ранее.

Перетащите выходной контакт нода Event Tick ко входному контакту нода AddLocalRotation.

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

Наконец, перейдите в Toolbar и нажмите на Compile, чтобы обновить Blueprint, а затем закройте Blueprint editor.

Добавление Blueprints на уровень

Прежде чем добавлять Blueprint, вернитесь ко Viewport в основном редакторе и удалите модель банана. Для этого выберите модель, а затем выберите Edit\Delete или нажмите клавишу Delete.

Добавление Blueprint — это тот же процесс, что и добавление меша. Удерживайте левую клавишу мыши на файле и перетащите его во Viewport.

Перейдите к Toolbar и нажмите Play, чтобы увидеть результаты своих трудов!

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

Что делать дальше?

Готовый проект можно скачать отсюда.

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

Что такое движок Unreal Engine и зачем на него переходить?

Unreal Engine-1

За свой почти 20-летний опыт в геймдеве я поработал с многими игровыми движками, а некоторые разрабатывал сам, будучи программистом. Занимался геймплеем, графикой, core-системами и игровым back-end для проектов на PC, консолях и мобильных платформах. И в разработке любого продукта вопрос игрового движка всегда является одним из очень важных.

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

Когда такого широкого доступа к популярным сегодня Unity, Unreal Engine, CryEngine и другим не было, люди садились и писали все сами. Это — сложно, долго и достаточно рискованно, так как не у всех команд хватает технических знаний и навыков для этого.

Но цель игровых студий — выпуск одной или нескольких игр, поэтому более практично переложить эту часть работы на крупные компании, у которых есть ресурсы для разработки набора инструментов, а самим сконцентрироваться непосредственно на игре. Особенно, если вы — маленькая/средняя студия или инди-разработчик.

Один из самых популярных движков сегодня – Unreal Engine, разрабатываемый и поддерживаемый компанией Epic Games. «Эпики» сегодня являются одним из столпов индустрии, особенно в технологической части. Потому уровень качества и количество фичей, которые предлагаются разработчикам, оставляют многих конкурентов позади.

Следующее преимущество UE — он бесплатный. Есть определенные условия и роялти, но весь инструментарий доступен сразу и в полном объеме для создания игры AAA-качества. Широкий функционал подразумевает непростой интерфейс, особенно для новичков, но об этом я расскажу ниже.

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

Еще одним плюсом Unreal Engine является мультиплейерная игра «из коробки». Фактически, после запуска редактора в несколько кликов можно создать проект, в котором уже есть сетевая игра. Учитывая рост многопользовательских игр и ставки больших компаний на онлайн-режимы с несколькими игроками, это серьезное преимущество, которого, например, нету у Unity.

Как перейти с Unity на Unreal Engine и какие могут быть сложности?

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

Если вы работали с Unity, то переход на UE не будет сложным. Для дизайнеров и художников достаточно будет в течение нескольких дней просто изучить основы движка, многие концепции похожи. А вот программистам может потребоваться больше времени. Я рекомендую видео от самих Epic Games, где детально объясняется работа с движком для новичков и опытных разработчиков.

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

Например, программисту искусственного интеллекта стоит обратить внимание как реализованы Behavior Tree в Unreal Engine и сравнить с тем, что он использовал раньше, а техническому художнику — как импортировать ассеты и настраивать уровни детализации в движке или редактор материалов. На этап ознакомления у команды может уйти одна-две недели.

Следующий момент — это C++, на котором написан Unreal. Кроме того, что этот язык — достаточно сложный, есть специфика самого UE (теги, маркап), управление памятью. Потому с ним придется разбираться чуть дольше, особенно если раньше вы писали только на C# или Python. Но код на С++ работает все еще быстрее других языков, и трудность в усвоении — некая плата за техническое качество и производительность финального проекта.

Для тех, кто переходит с Unity, неким вызовом может стать система классов, которая в Unreal Engine более сложная. Намного чаще в разработке игрового кода приходиться использовать наследование от базовых классов Unreal, а не только компоненты. В остальном же эти системы похожи, и у специалиста, работавшего на других популярных движках, не возникнет особых проблем при переходе на UE.

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

UE4 и UE5 – в чем разница?

По показанному на прошлой неделе демо трудно судить о различиях между версиями Unreal Engine 4 и 5 версии, но две презентованные системы — Lumen и Nanite выглядят интересно.

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

Unreal Engine-2

Вторая система, Nanite, позволит переносить в игру ассеты высокой детализации, например, из ZBrush. Здесь Unreal Engine сам берет на себя работу по построению низкополигональной модели. Эта задача уже неоднократно обсуждалась в геймдеве и были не совсем удачные попытки ее решить.

Если система будет работать, как заявлено, это позволит перенести 30-40% работы художников на движок и существенно сэкономит время создания игры. Сейчас же художники руками простраивают низкополигональную модель, таким образом дублируя свою работу.

Пятая версия игрового движка от Epic Games носит не революционный, а скорее эволюционный характер. К Unreal Engine 4 также выходило несколько обновлений с крупными системами — Chaos Physics и эффекты Niagara, они тоже входят в основу UE5.

Кроме того разработчики заявили об обратной совместимости проектов на UE 4 и UE 5, а значит, ядро движка значительно не меняется и система базовых классов, на которых строится геймплей, останется такой же. Но нужно ждать релиза.

Стоит ли начинающему геймдизайнеру осваивать Unreal Engine?

Однозначный ответ — да, стоит. Да, у Unreal Engine есть особенности, которые могут отпугнуть геймдев-новичков. Интерфейс редактора достаточно перегружен и непрост в освоении. Естественная первая реакция начинающего разработчика на это — зачем вот эти параметры, кнопки и окна нужны? Да и C++ не самый простой язык программирования, потому многие начинают с Unity, хоть и там ситуация в чем-то похожа. С другой стороны, освоив Unreal, можно получить опыт работы с сильным и гибким инструментом для создания игр AAA-уровня.

Но и назвать UE недосягаемым для начинающих тоже нельзя. В Wargaming есть хороший пример — геймдизайнер Кирилл Маль, историк по образованию. Он работает в компании уже 20 лет и тоже освоил Unreal Engine около года назад. Теперь с небольшой командой из 5 человек работает над одним из наших проектов.

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

Например, в эту субботу, 23 мая, состоится бесплатный Unreal Meetup от Wargaming, где будет спикер и из Epic Games.

Список ресурсов для начинающего UE-разработчика:

YouTube-канал от авторов Unreal Engine

Туториалы:

  • https://docs.unrealengine.com/en-US/index.html
  • https://www.tomlooman.com/unreal-engine-4/

Курсы:

  • Unreal Engine C++ Developer: Learn C++ and Make Video Games;
  • Unreal Multiplayer Master: Online Game Development In C++;
  • Unreal Engine 4 Class: Blueprints;
  • Introduction to Unreal Engine 4 Ability System — UE4.
  • Unlocking the Unreal Engine Material Editor;
  • Unreal: The complete GUIDe for game level design in Unreal 4.

Автор: Евгений Строков, CTO подразделения WG Nexus компании Wargaming

Unreal Engine

Сегодня движок Unreal Engine активно применяется для разработки простых казуальных игр для смартфонов и планшетов, а также для создания полноценных высокобюджетных игр, рассчитанных на массовую аудиторию (их называют ААА-проектами). При этом не потребуется самостоятельно писать код — система визуального создания скриптов Blueprints Visual Scripting значительно упрощает задачу. Если же разработчик желает прописать игровую логику вручную, он может использовать язык программирования С++.

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

Выберите дизайн-профессию, которая нужна в IT.

5 апреля 2022 года Epic Games порадовала пользователей, представив обновленный движок Unreal Engine 5, анонсированный 2 года назад. Среди главных фишек — максимум фотореализма, увеличенная производительность и новый интерфейс.

Преимущества Unreal Engine

«Анриал Энджин» остается популярным более 20 лет по нескольким причинам.

  • Широкий функционал. В данном движке можно создать практически любую игру от шутера до аркады с разными типами логики.
  • Визуальное программирование. Работать с UE смогут даже новички: встроенная система визуального скриптинга избавит от необходимости использования сложных языков программирования. Но по умолчанию данное ПО поддерживает и стандартный С++, привычный для разработчиков с большим опытом.
  • Бесплатная лицензия. Особенно приятный бонус для многих разработчиков. В лицензионном соглашении ПО указано, что до тех пор, пока игра не окупит себя и не принесет $1 млн, движком можно пользоваться бесплатно. Далее придется платить 5% от суммы дохода;
  • Возможность создать кросс-платформер. Многие пользователи владеют сразу несколькими игровыми устройствами (ПК, консолями, смартфонами и т.д.), и движок движок Unreal Engine позволяет сделать приложение, которое будет функционировать на разных платформах (Android, Xbox, PS, Switch, iOS, Windows);
  • Большая база пользователей. За годы у данного приложения появилось много пользователей, которые готовы поделиться своим опытом и наработками в тематических сообществах.

Blueprints: разработка без программирования

Epic Games решила дать разработчикам больше, чем простой инструмент: в UE пользователи могут начать работу даже без узкоспециализированных знаний в области языков программирования. Для тех, кто далек от кодинга, корпорация предложила простую и удобную в использовании систему Blueprints Visual Scripting. С ее помощью можно легко создать прототип любой игры, имея минимум теоретических знаний. Конечно, умение работать с функциональным и объектно-ориентированным программированием будет плюсом, но начать разработку геймплея в UE можно и без него.

Симуляция работы в редакторе Blueprints. Источник

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

Функционал и возможности движка

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

Пример использования функции материалов для настройки фактуры путем смешивания слоев. Источник

Пользовательский интерфейс. Игроку важно не только видеть действия своего персонажа и карту, на которой он находится, но и иметь текстовую информацию, а также сведения о количестве очков, пунктах здоровья, инвентаре и т.д. С этой целью разработчики тщательно продумывают пользовательский интерфейс (User Interface, UI). В движке Unreal для создания UI применяется Unreal Motion Graphics (UMG). Он позволяет выстраивать интуитивно понятный UI, выводить на экран необходимую пользователю информацию, а также менять положение кнопок и текстовых меток.

Пример работы по стилизации виджетов в редакторе UMG. Источник

Анимация. Персонаж любой современной игры подвижен и гибок, умеет бегать и прыгать. Все это возможно благодаря анимированию. В UE начинающие разработчики могут импортировать уже готовые мэши со скелетами персонажей и настройки анимации. Неопытных пользователей, которые желают познакомиться с ПО поближе, приятно удивит Animation Blueprint — скрипт, который значительно упрощает работу по созданию паттернов движений персонажа без использования кодинга.

Пример использования Animation Blueprint для настройки анимации персонажа. Источник

Unreal Engine

Unreal Engine (UE) — это движок для создания игр, один из двух наиболее популярных в мире. Движком называется программная среда, на основе которой конструируются и создаются игры. В ней можно работать с персонажами, логикой, физикой и графикой игры.

Освойте профессию «Разработчик игр на Unity»

UE разработала компания Epic Games для своей игры под названием Unreal, и после этого движок стал популярен. Его основное отличие — хорошая оптимизация: Unreal Engine создавался не как отдельный коммерческий продукт, а как рабочий инструмент, и ориентирован он на 3D-игры.

Наиболее известная сейчас версия — Unreal Engine 4, или UE4. Но недавно вышел Unreal Engine 5, а некоторые игры до сих пор написаны на старых версиях 2 или 3. С каждым обновлением доступная графика становится все более мощной, возможности повышаются и позволяют создавать все более сложные и реалистичные игры.

Название читается как «анрил энджин», иногда его сокращают просто до «анрил».

Создавайте виртуальные миры

Group 1321314346 (2)

Где используется Unreal Engine

Разработка игр для ПК и консолей. Unreal Engine традиционно лучше всего подходит для создания трехмерных мощных игр для компьютеров и консолей. Он изначально создавался для этой цели, возможность делать игры в 2D и под другие устройства в нем появилась относительно недавно. На Unreal Engine написаны многие известные игры AAA-класса, то есть высокобюджетные, с хорошей графикой и рассчитанные на широкую аудиторию, — игры-блокбастеры. Впрочем, UE подходит и для создания низкобюджетных инди-игр, особенно если разработчикам важны графика и оптимизация.

Мобильная игровая разработка. Инструменты для создания мобильных игр в UE появились позже. До сих пор считается, что для ПК-игр движок подходит лучше, а для мобильных стоит использовать Unity. Но Unreal Engine занял свое место и в этой нише. Он используется для создания широкого спектра игр, чаще всего трехмерных. Инструменты для создания 2D-игр там появились начиная с UE4 и поддерживаются в новой пятой версии, но среди разработчиков движок все еще считается не лучшим выбором для создания двухмерных игр.

Неигровые варианты применения. Unreal Engine можно использовать не только в игровой индустрии. Его применяют в сфере VR/AR-технологий, а также в кинематографе для создания анимаций и компьютерной графики. С помощью UE создают ролики для специальных кинотеатров, которые показывают видео с обзором в 360°. Еще движок применяют на телевидении: он позволяет накладывать эффекты на видео, идущее в прямом эфире.

Кто работает с Unreal Engine

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

Дизайнеры и художники, которые создают графику для игр. Более всего в сфере UE-разработки востребованы 3D-дизайнеры, рисующие трехмерные модели персонажей, окружения и других элементов игры. Также нужны моушн-дизайнеры, продумывающие движение, UI-дизайнеры для создания пользовательского интерфейса и другие специалисты в этой области.

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

Особенности Unreal Engine

Ориентированность на 3D. Изначально движок создавался для внутренних нужд компании Epic Games. Она разрабатывала на нем собственные игры, а ее проекты были трехмерными. Поэтому поддержка двумерных проектов была слабой. Но движок оказался таким удачным, что им начали пользоваться и другие игровые разработчики. Тем не менее ориентированность на 3D-игры сохранилась, и Epic Games начали добавлять больше возможностей для двумерных игр относительно недавно.

Мощная оптимизация и C++. В качестве языка программирования для Unreal Engine используется C++. Это мощный, быстрый, но довольно сложный язык, который непросто изучить с нуля. Тем не менее его применение позволяет хорошо оптимизировать игры. Это важное отличие UE от другого популярного движка, Unity: создать игру сложнее, но если получится — она, скорее всего, будет быстрее и эффективнее.

Язык Blueprints. Писать на C++ сложно, а с движком работают не только программисты, но и, например, художники-аниматоры. Поэтому Epic Games разработали для UE внутренний язык визуального программирования, который называется Blueprints. Это способ программировать без написания кода — создавать программы из специальных визуальных блоков и связей между ними. Писать так игры легче, и способ подходит даже для тех, кто незнаком с C++. Однако сложную логику все же лучше реализовывать с помощью кода. Blueprints облегчает задачу, но он не универсален.

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

Разработчик игр на Unity – одна
из самых творческих профессий в IT. Создайте виртуальные миры уже через полгода обучения

Визуальные эффекты. Эффекты — это не только поверхности и текстуры. Например, UE позволяет генерировать мелкие частицы с помощью внутреннего инструмента Cascade. С его помощью можно создавать пыль, дождь, снег и многое другое, причем частицы будут реалистично выглядеть и двигаться.

Мощная анимация. Для анимации предметов и персонажей можно использовать визуальный модуль Blueprints Animation. Задачу облегчают готовые паттерны движений для разных видов моделей. Можно взять их и доработать под свои нужды. А если для игры нужно что-то совсем необычное, анимацию можно гибко настроить с нуля.

Настройка искусственного интеллекта. ИИ широко применяется в гейм-разработке. С его помощью создают логику для вспомогательных персонажей, например прописывают реакции на разные действия главного героя. Для искусственного интеллекта в Unreal Engine есть отдельный инструмент Behavior Trees — деревья поведения. Это блок-схемы, которые описывают поведение неигровых персонажей и их реакции. Запрограммировать поведение также можно с помощью кода на C++.

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

Преимущества Unreal Engine

Высокая производительность. С помощью C++ игры получаются более быстрыми и производительными.

Наличие Blueprints. Собрать прототип или быстро прописать логику можно даже без навыков программирования — поможет визуальный язык.

Популярность. У UE огромное и общительное сообщество, которое готово помочь и подсказать новичку, что делать.

Нацеленность на 3D. Широкие возможности для 3D-графики, гибкая настройка материалов, освещения и эффектов — все это позволяет создавать в том числе фотореалистичные игры.

Широкие возможности. Unreal Engine подходит для создания игр в любом жанре и бюджете, начиная с шутеров-блокбастеров и заканчивая инди-платформерами.

Бесплатный доступ. Начиная с 2015 года разработчики могут создавать игры на UE совершенно бесплатно. Только если игра будет иметь коммерческий успех и заработает от миллиона долларов, понадобится отдавать 5% от доходов Epic Games в качестве роялти.

Кроссплатформенность. Unreal Engine позволяет создать игру под любую операционную систему для компьютеров, а также для всех видов популярных консолей и для мобильных устройств. Есть и возможность портировать игры с одной платформы на другую.

Недостатки Unreal Engine

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

Высокие системные требования. Работать со всеми функциями Unreal Engine на слабом компьютере будет тяжело, а то и невозможно. Движок требователен к ресурсам устройства. Нужно не менее 8 Гб оперативной памяти, а в идеале — куда больше, иначе с трехмерной графикой будет сложно работать. Высокие требования также распространяются на видеокарту и процессор. Так что, если вы хотите создавать игры, особенно сложные и трехмерные, понадобится мощный компьютер.

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

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

Убедитесь, что параметры вашего компьютера подходят под системные требования для установки движка. Если все хорошо — скачать UE4 или UE5 можно с официального сайта проекта. Там же находятся различные мануалы, инструкции и документация. Информация дается на английском, но при желании вы можете найти в сети переводы на русский язык. Также советуем ознакомиться с блогами разработчиков и обучающими видео — так будет легче разобраться в интерфейсе и основных функциях. И, конечно, не забывайте о теории — она поможет создать более качественную и интересную игру.

Получить высокооплачиваемую и интересную профессию геймдева помогут курсы. Записывайтесь — войдите в увлекательный мир разработки игр!

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *