Unreal Engine 4. Учебник для начинающих, часть 1: Введение в основы
В этом уроке посвященному Unreal Engine вы узнаете, как использовать функции программы, познакомитесь с интерфейсом и создадите свой первый игровой объект.
Исходные материалы можно скачать по ссылке.
Unreal Engine 4 имеет целый набор инструментов для создания игр, которые адаптированы как для мобильных устройств, так и для современных игровых консолей.
На этой платформе были созданы такие игры как: Survival Evolved, Tekken 7 и Kingdom Hearts III.
Рабочий процесс Unreal Engine 4 понятен даже новичкам. Используя систему визуальных сценариев Blueprints, вы сможете создавать полноценные игры без специальных навыков и знаний. Простой и интуитивно понятный интерфейс программы способствует быстрому освоению Unreal Engine 4 и созданию своей первой игры.
Данное руководство по Unreal Engine 4 предназначено для начинающих. Вот список основных вопросов, которые мы затронем в этом руководстве:
- Создание движка;
- Импорт объектов;
- Создание материалов;
- Использование Blueprints для создания объектов с основными функциями.
Чтобы освоить эти навыки вы попробуете самостоятельно создать трехмерный объект в виде банана.
Это занятие является частью серии, которая состоит из 10 уроков, посвященных Unreal Engine:
Установка программы Unreal Engine 4
Unreal Engine 4 использует Epic Games Launcher для установки.
Для того, чтобы скачать exe файл необходимо перейти на официальный сайт Unreal Engine и нажать кнопку Download в правом верхнем углу страницы.
Прежде чем вы сможете открыть меню запуска, вам потребуется создать учетную запись или использовать существующую.
После установки появится такое окно:
Введите адрес электронной почты и пароль, которые вы использовали при регистрации и нажмите «Войти». После входа в систему появится это окно:
После этого вам нужно нажать Install Engine в верхнем левом углу окна. Следуя указаниям установщика вы попадете на экран, где вы сможете выбрать, какие компоненты вы хотели бы установить.
Примечание: Epic Games регулярно обновляет Unreal Engine, поэтому текущая версия вашей программы может немного отличаться от той, которую мы используем в уроке.
Мы рекомендуем отметить следующие значения: Starter Content, Templates Packs и Feature Packs, Engine Source. Это необходимые для работы элементы, которые проверены на практике. Вот почему они полезны:
- Starter Content: представляет собой набор ресурсов, которые вы можете бесплатно использовать в своих проектах. Он содержит такие разные модели и материалы. Вы можете использовать в качестве оформления игровой сцены.
- Templates Packs и Feature Packs: это своего рода наборы шаблонов с учетом конкретного жанра. Например, шаблон Side Scroller создаст проект с определенным персонажем, который уже имеет базовые движения вместе с фиксированным обзором.
- Engine Source: дает разработчику доступ к исходному коду, т.е. он в любой момент сможет внести необходимые изменения в движок. Например, чтобы добавить пользовательские функции в редактор, необходимо изменить исходный код
Прокручивая весь список вы можете видеть варианты использования программы для разных платформ. Однако, если вы не планируете их использовать, то флажки лучше снять с лишних пунктов.
После того, как вы определитесь с выбором всех нужных вам компонентов, нажмите кнопку «Установить». После завершения установки, Unreal Engine появится в списке ваших программ. Теперь можно попробовать создать ваш первый проект.
Создание проекта
Нажмите одну из кнопок запуска, чтобы открыть браузер проектов и перейдите на вкладку «Новый проект».
Теперь вам нужно выбрать вкладку Blueprint, где вам будет предложено выбрать один из стандартных шаблонов для работы. Так как вы новичок, то вам нужно выбрать пустой шаблон. Ниже вы увидите дополнительные настройки.
Вот что означает каждая из этих опций:
Target Hardware: выбор между Mobile/Tablet отключает некоторые эффекты во время постобработки. Кроме того, эта функция дает возможность использовать мышь в качестве инструмента для ввода. Вам нужно установить эту функцию на Desktop/Console.
Graphical Target: выбор функции Scalable 3D или 2D также отключает некоторые эффекты, доступные во время постобработки проекта. Сейчас вы должны установить этот параметр на максимум.
Starter Content: Эта функция активирует начальный контент, но в данный момент вам нужно установить для этого параметра значение No Starter Content.
Посмотрите, это адрес директории, в которую будет сохранен ваш проект. Тут же вы можете изменить имя файла.
Вы можете в любой момент изменить местоположение корневой папки вашего проекта, нажав на три точки в конце поля «Папка». Название проекта не соответствует названию игры, если вы захотите, то всегда сможете изменить это название позже. Теперь вам нужно выбрать текст в поле «Имя» и ввести название «BananaTurntable». Теперь нажмите кнопку «Создать проект»
Навигация по интерфейсу программы
После того, как вы создали новый проект, откроется редактор. Он разделен на несколько рабочих панелей:
- Content Browser: эта панель отображает все файлы вашего проекта и используется для создания новых папок и хранения файлов. Для удобства существует специальная поисковая панель и фильтры.
- Modes (Режимы): эта панель позволяет выбирать для работы специальные инструменты, такие как «Landscape Tool» и «Foliage Tool». Так же тут находится инструмент «Place Tool», который настроен по умолчанию. Он позволяет располагать множество объектов в рабочей области.
- World Outliner: отображает все объекты на текущем уровне. Вы можете создать список, поместив связанные элементы в папки. Также тут можно использовать строку поиска и применять для этого фильтры.
- Details (Детали): все свойства выбранных вами объектов отображаются именно здесь. Эта панель используется для редактирования настроек объекта. Внесенные изменения касаются только этого объекта. Например, если у вас есть две сферы, и вы измените размер одной из них, то вторая останется неизменной.
- Toolbar (Панель инструментов): содержит множество различных функций, из которых вам сейчас понадобится чаще всего кнопка «Play».
- Viewport (Просмотр событий): тут отображается внешний вид вашей игры. Удерживая правую кнопку мыши и двигая ей, вы можете осмотреться в созданном вами игровом пространстве. Для перемещения по уровню также удерживайте правую кнопку мыши и используйте клавиши «WASD» на клавиатуре.
Импорт активных элементов
Для продолжения урока вам необходимо скачать два файла: Banana_Model.fbx и Banana_Texture.jpg. Конечно, вы можете использовать любую другую модель, если таковая имеется у вас на устройстве.
Прежде, чем использовать какой-либо новый файл в программе, его необходимо импортировать. Для этого зайдите в меню Unreal и нажмите кнопку «Импорт».
Теперь найдите папку, в которой находятся файлы Banana_Model.fbx и Banana_Texture.jpg, выберете их и нажмите кнопку «Открыть».
Программа предложит вам даст несколько вариантов импорта для файла .fbx. Вам нужно убедиться в том, что с пункта «Import Materials» снят флажок, так как сейчас вы будете создавать свой собственный материал.
Далее вам нужно нажать кнопку «Импорт», чтобы оба файла отобразились в диалоговом окне программы.
После импорта файлов вам нужно сохранить их, т.к. это не происходит в программе по умолчанию. Для этого кликните правой кнопкой мыши по одному из файлов и в появившемся списке выберите «сохранить». Также можно сохранить все файлы сразу при помощи действий File ⇒ Save All.
Важно: в Unreal объекты называются сетками.
Теперь, когда у вас есть сетка для вашего банана, пришло время поместить его в рабочую область.
Добавление сеток в рабочую область
В данный момент игровой уровень выглядит пустым, давайте исправим это. Чтобы добавить сетку на уровень, нужно щелкнуть левой кнопкой мыши по объекту Banana_Mode и перетащить его в рабочую область.
Добавленные объекты можно свободно перемещать, вращать и изменять их масштаб. Для этого также можно использовать клавиши W, E, R. Посмотрите, как можно поменять угол наклона или размер объекта:
Об использовании материалов
Если вы внимательно посмотрите на банан, вы увидите, что он не желтого, а скорее серого цвета. Для того, чтобы добавить нашему банану насыщенный цвет и дополнительные детали, нужно создать материал.
Что такое материал?
Материал определяет, как будет выглядеть поверхность какого-либо объекта. На данном этапе вам нужно знать, что материал определяет четыре основные вещи:
- Base Color (Основной цвет): это цвет или текстура поверхности объекта, которые используются для добавления деталей и цветовых вариаций.
- Metallic (Металлик): добавляет металлический оттенок поверхности объекта. Например, при создании предмета из металла, это значение будет максимальным, тогда как для отображения ткани нужно применить нулевое значение этого параметра.
- Specular (зеркальность): используется для настройки блеска различных поверхностей. Например, керамика будет иметь высокий показатель зеркальности, тогда как глина будет иметь нулевое значение.
- Roughness (шероховатость): поверхность с максимальным показателем этого параметра не будет иметь блеска. Обычно используется для поверхности таких объектов как камень и дерево.
Посмотрите, ниже приведен пример использования трех разных свойств материалов. Все три объекта имеют одинаковый цвет, но выглядят по-разному. Для каждого примера установлено максимальное значение указанного свойства, тогда как остальные свойства установлены на ноль.
Создание материала
Чтобы создать материал, вам необходимо перейти в меню Content Browser и нажать там зеленую кнопку «Add New», после чего появится диалоговое окно со списком команд. Вам нужно выбрать пункт «Material».
Теперь переименуйте новый материал в Banana_Material, а затем дважды щелкните файл, чтобы он открылся в редакторе.
Редактор материалов
Редактор материалов состоит из четырех основных панелей:
- Graph: эта панель отображает все ваши манипуляции с объектом. Вы можете изменять размер объектов при помощи мыши.
- Details: в этом окне будут отображаться свойства выбранного объекта или материала.
- Viewport: содержит сетку предварительного просмотра, которая будет отображать используемый вами материал. Для изменения вида и масштабирования также можно использовать мышку.
- Palette: содержит все варианты команд, узлов и свойств, которые доступны для вашего материала.
Что такое узел?
Прежде чем приступить к созданию своего материала необходимо понимать, что такое узлы (ноды) и для чего они нужны. Узлы составляют большую часть материала, при этом многие типы узлов могут иметь различные функциональные возможности. Узлы могут иметь входы и выходы в виде кружков со стрелочкой – вход находится слева, а выход, соответственно, справа.
Перед вами пример использования узла Multiply и Constant3Vector для добавления желтого цвета в текстуру объекта:
У всех материалов имеется специальный узел, который называется Result. В данном уроке в качестве этого узла используется Banana_Material, который мы заранее подготовили для вас. Все дополнительные функции, которые будут подключены к этому узлу, определят, как будет выглядеть ваш объект в итоге.
Добавление текстур
Чтобы добавить цвет и детали для объекта, понадобится текстура. Текстура — это обычное 2D-изображение, с последующим проецированием на 3D-объекты, чтобы придать им цвет и детализацию. Чтобы добавить текстуру для вашего банана, вам нужно будет использовать файл Banana_Texture.jpg и узел TextureSample.
Теперь перейдите к панели «Palette» и найдите там «TextureSample». Удерживая левую кнопку мыши, перетащите объект в рабочую область. Таким образом вы добавили новый узел.
Чтобы выбрать текстуру, вам нужно убедиться, что вы уже выбрали узел TextureSample. Для этого перейдите к панели «Details» и щелкните мышью по списку справа от текстуры.
В появившемся окне будут перечислены все доступные текстуры вашего проекта. Выберите Banana_Texture.
Чтобы ваша текстура появилась на сетке предварительного просмотра, вам нужно подключить ее к узлу Result. Для этого удерживайте левую кнопку мыши на белом выходном контакте (как мы помним, это маленькая стрелочка) узла TextureSample. Далее вам нужно переместить его на входной контакт Base Color узла Result.
Теперь вернитесь к окну Viewport, чтобы увидеть текстуру на сетке предварительного просмотра. Попробуйте покрутить текстуру, чтобы лучше рассмотреть разные детали. Это делается при помощи удержания левой кнопки мыши.
Нажмите «Применить» на панели управления, чтобы обновить материал, и закройте редактор.
Использование материалов
Чтобы использовать материал для банана, его необходимо назначить. Для этого вам нужно вернуться к меню Content Browser и дважды щелкнуть мышью по Banana_Model, чтобы открыть его свойства. Появится редактор:
Теперь перейдите на панель «Details», найдите там раздел «Materials» и нажмите на раскрывающееся меню справа от Element 0, выбрав Banana_Material.
Закройте редактор сетки и вернитесь к просмотру вашей рабочей области. Поздравляем, теперь ваш банан имеет текстуру.
Примечание: вы всегда можете изменить яркость объекта перейдя в World Outliner и нажав на Light Source. В появившихся настройках найдите параметр «Интенсивность» и установите для него более высокое значение.
О возможностях Blueprints.
Даже если вам кажется, что банан уже выглядит идеально, будет еще лучше, если добавить ему некоторые свойства и возможности. Это можно сделать, используя Blueprints.
Blueprint позволяет создавать пользовательские поведения для ваших объектов. Например, созданный вами объект может быть чем-то физическим (например, музыкальный проигрыватель) или чем-то абстрактным, например, системой здравоохранения.
Хотите сделать движущуюся машину? Создайте план. Хотите создать летающую свинку? Используйте чертежи. Может быть вы хотите, чтобы у вас в игре был предмет, который взрывается при ударе? Вам помогут светокопии.
Как и материалы, Blueprints используют систему на основе узлов. Это означает, что все, что вам нужно сделать, это создать узлы и связать их.
Примечание. Если вам так будет удобнее, то вы можете использовать C++ и прописать код вручную. Не смотря на то, что освоение и использование Blueprints очень простое, код C++ гораздо быстрее. Вы также можете использовать обе возможности одновременно, оптимизируя процесс в зависимости от поставленных целей.
Создание Blueprint
Перейдите в Content Browser и нажмите кнопку «Add New». В появившемся списке вам нужно выбрать Blueprint Class.
Далее перед вами появится окно с дополнительными настройками. Обязательно уделите время тому, чтобы ознакомиться с функционалом каждого пункта этого меню.
Поскольку вам нужно, чтобы объект вращался оставаясь на месте, то лучше всего для этих целей подойдет функция Actor. Вам нужно выбрать Actor и дать название файлу Banana_Blueprint.
Далее, дважды кликните мышью Banana_Blueprint, чтобы открыть его. После нажатия Full Blueprint Editor у вас должно появиться следующее окно:
Blueprint Editor
Сначала убедитесь, что в редакторе Blueprint выбрана вкладка «График событий».
Редактор Blueprint имеет пять основных рабочих области:
- Components: содержит список текущих компонентов.
- Мой Blueprint: этот раздел используется для управления графиками, функциями и переменными.
- Details: тут отображаются свойства выбранного в данный момент элемента.
- Graph: основное меню для управления узлами и дополнительными параметрами.
- Viewport: в этом месте находятся все компоненты, имеющие визуальный элемент.
Создание проигрывателя
Для создания проигрывателя вам понадобятся две вещи: основа и дисплей. Вы можете создать их оба при помощи компонентов.
Что такое компонент?
Компоненты являются своего рода строительными блоками для создания различных объектов. Например, для создания движения какого-либо предмета необходимо использовать компоненты движения.
Добавление компонентов
Переключитесь в область Viewport для того, чтобы увидеть список компонентов:
Примечание: компонент DefaultSceneRoot не будет отображаться при воспроизведении, вы сможете посмотреть его действие исключительно во время редактирования.
Меню также содержит два компонента:
- Цилиндр: обычный белый цилиндр. Это будет основой, на которой как бы «сидит» банан.
- Статическая сетка: этот компонент будет отображать объект в виде сетки.
Теперь вам необходимо перейти на панель «Components» ⇒ «Add Component» и выбрать «Цилиндр».
Попробуйте при помощи мыши и используя клавишу «R» настроить размер объекта:
Вернитесь к панели «Components» и щелкните левой кнопкой мыши в любом месте рабочей области, отменить выбор компонента «Цилиндр». Это нужно для того, чтобы следующий добавленный компонент не был привязан к компоненту Cylinder.
Важно: Если не провести отмену, то следующий компонент будет прикреплен к компоненту Cylinder. Это значит, что все параметры, применяемые к объекту Cylinder, также будут применены к новому компоненту.
Теперь вам нужно нажать Add Component и выбрать из появившегося списка Static Mesh.
Для того чтобы ваш банан корректно отобразился в рабочей области, вам нужно выбрать компонент «Static Mesh» и перейдите на вкладку «Details». Теперь необходимо перейти к появившемуся справа меню от Static Mesh и в нем выбрать Banana_Model.
Посмотрите, все ли вас устраивает в расположении объекта в пространстве. При необходимости вы можете переместить банан при помощи клавиши клавиатуры «W» и компьютерной мыши.
Подробнее об узлах Blueprint
Узлы имеют Blueprint есть специальные контакты, о которых мы говорили ранее. Вывод слева — это вход, а вывод справа — выход. Все узлы обязательно имеют хотя бы один из них. Если у узла есть входной контакт, у него должно быть специальное соединение благодаря которому он сможет выполнить заданную команду. Если это соединение отсутствует, то все последующие узлы не будут выполняться.
Вот пример:
Узлы A и B будут выполнять свою функцию корректно, потому что их входные контакты имеют соединение. Обратите внимание на то, что узел C и узел D не будут работать, потому что входной вывод узла C не имеет соединения.
Вращающаяся платформа
Обратите внимание на панель «Components» — Cylinder и Static Mesh имеют небольшой отступ, а DefaultSceneRoot — нет. Это потому, что они прикреплены к DefaultSceneRoot.
При перемещении, вращении или изменении масштаба корневого компонента, подключенные к нему компоненты тоже будут меняться. Используя это свойство, вы можете вращать цилиндр и статическую сетку одновременно, а не по отдельности.
Создание узла
Сейчас вам нужно вернуться к меню «Event Graph» и создать всего на всего один узел. Для этого щелкните правой кнопкой мыши пустое место на графике, чтобы вызвать меню доступных узлов и найдите в списке AddLocalRotation.
Примечание: Если вы не находите узел в списке, возможно вы не сняли флажок с отметки «Context Sensitive» который находится в правом верхнем углу этого меню.
Для того чтобы установить нужные значения вращения, перейдите к Delta Rotation и измените значение Z=1,0. Чем выше это значение, тем выше скорость поворота платформы.
Для того чтобы создать событие вращения для каждого кадра, вам нужно использовать узел Event Tick. Переместите выходной контакт узла Event Tick на входной контакт узла AddLocalRotation.
Примечание: сейчас частота вращения зависит от частоты кадров. Это означает, что поворотная платформа будет вращаться медленнее при просмотре на слабом оборудовании и наоборот. В следующих уроках вы научитесь адаптировать ваши проекты для различных устройств.
Для того чтобы обновить Blueprint и сохранить изменения вам нужно нажать «Compile», после чего вы можете закрыть редактор.
Добавление Blueprint в рабочую область
Перед тем как добавить Blueprint, вернитесь в Viewport в главном редакторе и удалите модель банана. Для этого выберите объект «Правка ⇒ Удалить».
Чтобы добавить Blueprint, удерживая левой кнопкой мыши нужный файл и перетащите его в рабочую область. Теперь перейдите на панель инструментов и нажмите Play, чтобы посмотреть результат проделанной вами работы.
Примечание: Если раньше вы не удаляли оригинальную модель банана, то вы можете получить системное сообщение с предложением восстановить текущие настройки цвета по умолчанию. После того, как вы удалите первоначальную модель объекта, сообщение больше не появится.
Что делать дальше?
Вы можете скачать готовый проект по ссылке.
Вы многое узнали из этого урока, но это лишь малая часть знаний о Unreal.
В следующих уроках Unreal Engine вы сможете освоить более сложные манипуляции с объектами.
Здравствуйте!
Где можно взять файлы Banana_Model.fbx и Banana_Texture.jpg?
Спасибо
Здравствуйте!
Можно скачать готовый проект внизу статьи и оттуда попробовать вытащить.
Выдернул из проекта исходники.
Скачать можно по ссылке
Спасибо за урок! Очень доступным языком, без лишней воды — первый шаг в изучении сделан для меня)
Покажете свою игру)