kapo4ka 25 октября 2019

Твой первый игровой объект: Unreal Engine 4 туториал

Давно мечтаете разрабатывать игры? Держите подробный урок по созданию игрового объекта в Unreal Engine 4 и начните свой путь в геймдев уже сегодня.
Твой первый игровой объект: Unreal Engine 4 туториал

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

Unreal Engine 4 – инструментарий для GameDev: это разработка и мобильных игр 2D, и компьютерных игр с высоким бюджетом. Движок стоит за именами: «Королевство Сердец III», «ARK: Survival Evolved» и «Железный Кулак 7».

Геймдев в Unreal Engine 4 легко даётся новичкам, ведь благодаря Blueprints вы сделаете игру без единой строки кода! В связке с простым в использовании интерфейсом быстро получите и запустите прототип.

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

Устанавливаем Unreal Engine 4

Перейдите на сайт Unreal Engine и кликните по кнопке Get Unreal справа сверху.

Твой первый игровой объект: Unreal Engine 4 туториал

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

Твой первый игровой объект: Unreal Engine 4 туториал

Когда откроете установленный лаунчер, увидите:

Твой первый игровой объект: Unreal Engine 4 туториал

Введите данные, которые использовали при скачивании лаунчера, и после входа откроется:

Твой первый игровой объект: Unreal Engine 4 туториал

Слева сверху нажмите кнопку Install Engine, и появится экран с выбором компонентов для установки:

Твой первый игровой объект: Unreal Engine 4 туториал

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

Оставьте отмеченные по умолчанию пункты, и вот почему:

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

В списке увидите также платформы. Отключите ненужные:

Твой первый игровой объект: Unreal Engine 4 туториал

После выбора компонентов кликните Install. Когда движок установился, переходим к делу.

Твой первый игровой объект: Unreal Engine 4 туториал

Создайте проект

После нажатия любой кнопки Launch запустится диспетчер проектов. Перейдите на вкладку New Project.

Твой первый игровой объект: Unreal Engine 4 туториал

Во вкладке Blueprint выберите шаблон Blank, потому что начинаете с чистого листа.

Посмотрите, что вы настраиваете в дополнение:

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

Теперь указывайте путь к директории проекта и название:

Твой первый игровой объект: Unreal Engine 4 туториал

Для изменения расположения используйте кнопку с тремя точками.

По поводу имени проекта не волнуйтесь: это не название игры. Вы измените его на любой стадии разработки игры. Наберите BananaTurntable в поле Name.

В завершение кликните Create Project.

Перемещаемся по интерфейсу

Дальше появится редактор с такими панелями:

Твой первый игровой объект: Unreal Engine 4 туториал
  1. Content Browser показывает структуру вашего проекта. Здесь создавайте папки, группируйте файлы, делайте поиск через специальную панель либо пользуйтесь фильтрами. 
  2. Modes отвечает за выбор инструментов. По дефолту стоит Place Tool для размещения объектов в уровне, например, камеры или источников освещения. 
  3. World Outliner демонстрирует уровневые объекты. Группируйте их по папкам, фильтруйте или ищите по типам. 
  4. Details включает свойства объекта. Редактируя настройки объекта, вы изменяете данные только конкретного экземпляра. 
  5. Toolbar: из кучи функций чаще нужна Play
  6. Viewport: вид уровня. Чтобы оглядеться, удерживайте правую кнопку и двигайте мышью. Для движения сочетайте эту кнопку с использованием клавиш управления курсором.

Импортируем ресурсы

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

Для импорта файлов перейдите в контент-диспетчер и нажмите Import.

Твой первый игровой объект: Unreal Engine 4 туториал

Выберите папку с загруженными файлами и откройте их, выделив оба и нажав Open.

Твой первый игровой объект: Unreal Engine 4 туториал

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

Твой первый игровой объект: Unreal Engine 4 туториал

После нажатия кнопки Import вы увидите оба файла:

Твой первый игровой объект: Unreal Engine 4 туториал

Импорт файлов не означает их сохранение в проекте. Воспользуйтесь контекстным меню для явного сохранения или выберите массовую операцию File/Save All, чтобы сэкономить время.

Кстати, модели в этом движке называют мешами. Меш для банана готов, осталось разметить его в уровне.

Включаем меш в уровень

Щёлкните левой кнопкой мыши и перетащите модель банана из Content Browser во Viewport. Меш добавится, как только вы бросите кнопку.

Твой первый игровой объект: Unreal Engine 4 туториал

Для перемещения объекта используйте W на клавиатуре, для вращения – E, масштабирования – R. С последующим применением манипулятора:

Твой первый игровой объект: Unreal Engine 4 туториал

Разбираемся с материалами

Взгляните на объект: он серый, а не жёлтый!

Поэтому создадим материал для придания ему желтизны и деталей.

Вот составляющие материала:

  • Base Color отвечает за цвет объекта или текстуру. Нужен для детализации и цветовой вариативности. 
  • Metallic регулирует степень «металлизации» объекта: от нуля для тканей и до максимума у металлов. 
  • Specular управляет блеском неметаллов: для глины это значение низкое, а для керамики – высокое. 
  • Roughness определяет шероховатость: при максимуме убирает блеск, что полезно для дерева или камня.

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

Твой первый игровой объект: Unreal Engine 4 туториал

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

В диспетчере контента кликните Add New и увидите меню со списком доступных ресурсов. Нас интересует Material.

Твой первый игровой объект: Unreal Engine 4 туториал

Введите название Banana_Material и сделайте двойной клик по файлу для открытия редактора.

Твой первый игровой объект: Unreal Engine 4 туториал

Рассмотрим редактор материалов

Здесь четыре главные панели:

Твой первый игровой объект: Unreal Engine 4 туториал
  1. Graph показывает все узлы, включая Result. Для перемещения удерживайте правую кнопку и управляйте мышью. Для приближения крутите колесо мыши. 
  2. Details содержит свойства выбранного узла, а если нет выделения – свойства материала. 
  3. Viewport отображает меш-превью материала. Вращайте камеру, двигая мышкой с нажатой левой кнопкой. Приближайте колесом прокрутки. 
  4. Palette включает узлы для добавления материалу. 

Определяем узел

Узлы – основа материала со всевозможной функциональностью. Слева увидите входные точки, а справа – точки-выходы в виде кружков со стрелкой.

К примеру, добавим в текстуру жёлтый цвет с помощью узлов Constant3Vector и Multiply:

Твой первый игровой объект: Unreal Engine 4 туториал

Итоговый вид каждого материала определяет узел Result.

Твой первый игровой объект: Unreal Engine 4 туториал

Добавляем текстуру

Для окраски и детализации модели нужна текстура, обыкновенное 2D-изображение, которое накладывается на 3D-модели.

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

Твой первый игровой объект: Unreal Engine 4 туториал

Выделив узел TextureSample, переключитесь на панель Details и откройте выпадающий список справа от Texture.

Твой первый игровой объект: Unreal Engine 4 туториал

Увидите меню со всеми текстурами, кликните по банановой.

Твой первый игровой объект: Unreal Engine 4 туториал

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

Твой первый игровой объект: Unreal Engine 4 туториал

Viewport покажет текстуру на меш-превью. Для поворота и рассматривания деталей удерживайте левую кнопку мыши и перетаскивайте.

Твой первый игровой объект: Unreal Engine 4 туториал

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

Используем материалы

Перейдите в Content Browser и откройте материал двойным кликом по Banana_Model. Откроется окно:

Твой первый игровой объект: Unreal Engine 4 туториал

Во вкладке Details ищите секцию Materials. Кликните по выпадающему списку рядом с картинкой и выберите Banana_Material.

Твой первый игровой объект: Unreal Engine 4 туториал

Возвращайтесь в главный редактор и заметите, какой текстурный стал банан. Ура, вы готовый дизайнер игровых уровней!

Твой первый игровой объект: Unreal Engine 4 туториал

Смущает степень освещённости? Перейдите во World Outliner и щёлкните по Light Source. Поменяйте показатель Intensity на панели Details.

Изучаем Blueprints

Вдохновились бананом? Представьте, как круто он будет смотреться на вращающемся столе. Нам помогут Blueprints.

Blueprint отражает «сущность»: материальную – вращающийся стол или абстрактную – систему здравоохранения. С использованием Blueprints вы задаёте кастомное поведение объектов.

Задумали спроектировать несущийся автомобиль? Делайте Blueprint. Или летающего слона? Понадобятся Blueprints. А что вы думаете по поводу котика, который взрывается при столкновении? Blueprints.

Blueprints основываются на узлах, как материалы. Поэтому кодить не придётся – создали узлы и связали!

Любите программировать – используйте C ++.

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

А вот в чём выигрывают Blueprints:

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

Создавайте объекты с использованием Blueprints. Если станет вопрос производительности, переходите на С++.

Создаём Blueprint

В контент-диспетчере кликните Add New и найдите Blueprint Class.

Твой первый игровой объект: Unreal Engine 4 туториал

Прочитайте информацию в окне выбора родительского класса, ведь Blueprint унаследует все свойства и атрибуты от родителя.

Твой первый игровой объект: Unreal Engine 4 туториал

Классы Pawn и Character также относятся к Actors.

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

Твой первый игровой объект: Unreal Engine 4 туториал

Откройте созданный Blueprint двойным щелчком и кликните Open Full Blueprint Editor, если увидите такое окно:

Твой первый игровой объект: Unreal Engine 4 туториал

Знакомимся с редактором Blueprint

Откройте вкладку Event Graph в редакторе Blueprint.

Разберёмся с главными панелями:

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

Создаём вращающийся стол

Для этого понадобится основа и столешница, сделать которые помогут компоненты.

Вникаем в Component

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

Компоненты также выходят за рамки материальных объектов.

Чтобы машина ехала, создайте двигательный компонент, для полёта – летательный.

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

Перейдите на Viewport для отображения компонентов:

Твой первый игровой объект: Unreal Engine 4 туториал

DefaultSceneRoot видно исключительно в редакторе.

Для вращающегося стола понадобится:

  • Cylinder: основа для банана в виде обыкновенного белого цилиндра. 
  • Static Mesh: банановый меш.

Добавьте основу через панель компонентов, нажав Add Component и выбрав Cylinder.

Твой первый игровой объект: Unreal Engine 4 туториал

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

Твой первый игровой объект: Unreal Engine 4 туториал

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

Твой первый игровой объект: Unreal Engine 4 туториал

В противном случае масштабирование цилиндра отразится и на меше.

Твой первый игровой объект: Unreal Engine 4 туториал

Повторите операцию добавления для Static Mesh.

Твой первый игровой объект: Unreal Engine 4 туториал

Выделите Static Mesh и перейдите во вкладку деталей для отображения банана. Откройте выпадающий список правее Static Mesh и выберите банановую модель.

Твой первый игровой объект: Unreal Engine 4 туториал

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

Твой первый игровой объект: Unreal Engine 4 туториал

Знакомимся с узлами Blueprint

Без них стол не будет вращаться.

Узлы Blueprint отличаются от собратьев особенными точками под названием Execution. Слева – входы, а справа – выходы. У каждого узла как минимум одна точка.

Без соединения входной точки узел не выполняется. Отсутствие подключения узла отключает идущие после него.

Рассмотрим схему:

Твой первый игровой объект: Unreal Engine 4 туториал

Соединение входных точек у Node A и Node B говорит, что узлы выполняются. В Node C подключения нет, а, значит, он и Node D не сработают.

Поворачиваем вращающийся стол

На панели компонентов обратите внимание, что перед DefaultSceneRoot отсутствует отступ, в противоположность Static Mesh и Cylinder.

Твой первый игровой объект: Unreal Engine 4 туториал

Из-за привязки к DefaultSceneRoot компоненты Static Mesh и Cylinder вращаются, масштабируются и меняют положение вместе.

Создаём узел

Переключитесь на Event Graph для написания сценариев.

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

Нет такого узла? Снимите галочку с Context Sensitive справа сверху.

Твой первый игровой объект: Unreal Engine 4 туториал

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

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

Твой первый игровой объект: Unreal Engine 4 туториал

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

Захватите выходную точку узла Event Tick и соедините со входом AddLocalRotation.

Твой первый игровой объект: Unreal Engine 4 туториал

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

Обновите Blueprint, нажав Compile на панели Toolbar, и закройте этот редактор.

Твой первый игровой объект: Unreal Engine 4 туториал

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

Сначала удалите банановую модель: во Viewport выделите модель и кликните Edit/Delete или нажмите Delete на клавиатуре.

Аналогично добавлению меша удерживайте левую кнопку мыши на файле и перетаскивайте Blueprint во Viewport.

Нажмите Play в Toolbar и насладитесь результатами труда!

Твой первый игровой объект: Unreal Engine 4 туториал

Выскочила ошибка о смене освещения? Значит, забыли удалить первоначальную модель объекта. Удалите, и будет вам счастье. Или скачайте проект.

Делитесь впечатлениями от своего первого опыта в GameDev!

Комментарии

ВАКАНСИИ

Добавить вакансию
Разработчик C++
Москва, по итогам собеседования

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ