Перед тем, как распространять свой проект пользователям, он должен быть правильно скомпилирован и запакован для быстрого и корректного запуска.
Подготовка проекта состоит из нескольких шагов. Для начала это компиляция кода для корректного запуска, после чего проходит запаковка контента, из которого и состояит игра. Этот контент запаковывается, в основном, под конкретную платформу на которой будет запущен проект. После всего этого останется останется подготовить проект для удобного использования и запуска, например установщик Windows.
В File меню вы сможете найти подменю под названием Package Project. Этот раздел отвечает за подготовку и запаковку вашего проекта для тестирования и распространения. Так же в этом разделе имеются дополнительные настройки запаковки.
После выбора нужной платформы, редактор Unreal Engine 4 начнет компиляцию кода, запаковку контента и подготовку проекта для дистрибутации или тестирования. Процесс может занимать очень долгое время, если в вашем проекте содержится большое количество контента(модели, звуки, карты и т.п.).
Запаковка проекта
Что бы запаковать ваш проект под конкретную платформу, выберете File > Package Project > [Имя платформы] в редакторе UE4.
Вам будет предложено выбрать путь, куда будет помещен ваш проект, а затем начнется процесс запаковки проекта.
Процесс запаковки проходит в фоновом режиме, поэтому возможность использовать редактор остается. В нижнем правом углу будет показываться индикатор, который означает, что ваш проект запаковывается.
Данное окно позволяет прервать процесс в случае необходимости, а так же позволяет открыть окно логов. Окно будет открыто как отдельное окно, в котором будет подробно описан процесс компиляции. В случае ошибки, в данном окне можно посмотреть, на каком моменте и по какой причине был прерван процесс запаковки.
Для менее опытных пользователей, самые важные сообщения, такие как предупреждения или ошибки, можно посмотреть в отдельном окне Message Log.
Запуск проекта
После того, как проект был успешно запакован и подготовлен, вы можете найти его и запустить по пути, который был выбран перед процессом запаковки.
Для каждой платформы, исполняемые файлы для запуска могут различаться. Таким образом для Windows будет файл .exe, а для Android — .apk
Конфигурация | Название EXE | Расположение |
Development | [Имя проекта].exe | [Путь]WindowsNoEditor[Имя проекта]BinariesWin64 |
Shipping | [Имя проекта]-Win32-Shipping.exe.exe | [Путь]WindowsNoEditor[Имя проекта]BinariesWin32 |
Распространение
Дополнительные настройки
Дополнительные настройки можно найти в File > Package Project > Packaging Settings в главном меню редактора UE4.
Build Configuration | Конфигурация проекта. Для отладки режим Debug. Для тестирования больше подойдет режим Development. Для финального распространения — режим Shipping. |
Staging Directory | Директория, которая будет содержать запакованный проект. Будет автоматически обновлено при выборе другого пути перед запаковкой. |
Full Rebuild | Определяет, будет ли скомпилирован весь код, или же только измененная часть(Выкл). Это может ускорить время запаковки. При подготовки проекта к распространению(режим Shipping) убедитесь, что данная опция включена, что бы не пропустить ничего лишнего при запаковке. |
Use Pak File | Определяет, запаковывать ли весь контент в один файл(.pak) для более удобного распространения, или же хранить контент в индивидуальных файлах(Выкл). |
Запаковка контента
При обновлении вашего контента, вам может не понадобится перекомпилировать весь проект для того, что бы запустить его и проверить. Вместо этого, в UE4 существует возможность запаковать только сам контент на нужную платформу. Сделать это можно через File > Cook Content > [Платформа].
1. Карты и ресурсы, связанные с выпечкой
Меню редактора [Cook Content for Windows] позволяет запекать все связанные карты и ресурсы.
2. Выпечка на определенных уровнях.
Запекать указанные уровни можно с помощью командной строки, где должен быть добавлен параметр -map, например -map = / Game / NewMap будет запекать только уровень NewMap
Формат командной строки, представленный в официальном документе, следующий:
UE4Editor.exe <GameName or uproject> -run=cook -targetplatform=<Plat1>+<Plat2> [-cookonthefly] [-iterate] [-map=<Map1>+<Map2>]
или
UE4Editor-Cmd.exe <GameName> -run=cook -targetplatform=<Plat1>+<Plat2> [-cookonthefly] [-iterate] [-map=<Map1>+<Map2>]
Значение каждого параметра
Вы также можете просто имитировать функцию FMainFrameActionCallbacks :: CookContent для создания пакетной задачи, например
void CookMap(const FString& InMap)
{
FString ProjectPath = FPaths::IsProjectFilePathSet() ? FPaths::ConvertRelativePathToFull(FPaths::GetProjectFilePath()) : FPaths::RootDir() / FApp::GetProjectName() / FApp::GetProjectName() + TEXT(".uproject");
FString CommandLine = FString::Printf(TEXT("BuildCookRun %s%s -nop4 -project="%s" -cook -skipstage -map=%s -ue4exe=%s -utf8output"),
TEXT("-nocompile -nocompileeditor"),
FApp::IsEngineInstalled() ? TEXT(" -installed") : TEXT(""),
*ProjectPath,
*InMap,
*FUnrealEdMisc::Get().GetExecutableForCommandlets()
);
IUATHelperModule::Get().CreateUatTask(CommandLine, FText::FromString(TEXT("Windows")), FText::FromString("Cooking content"), FText::FromString("Cooking"), FEditorStyle::GetBrush(TEXT("MainFrame.CookContent")));
}
3. Выпечка определенных ресурсов
Выпечка выше основана на уровнях, и отдельные ресурсы не могут быть запечены.
Чтобы запечь указанные ресурсы, вы можете проверить функцию UCookOnTheFlyServer :: SaveCookedPackage в файле CookOnTheFlyServer.cpp
Ниже приводится простая реализация. InPackage передается в пакете ресурсов (его можно получить с помощью GetOutermost или создать с помощью CreatePackage), InSavePath — выходной файл запекания, суффикс — .uasset.
bool SaveToCookAsset(UPackage * InPackage, const FString & InSavePath)
{
ITargetPlatformManagerModule& TPM = GetTargetPlatformManagerRef();
const TArray<ITargetPlatform*>& TargetPlatforms = TPM.GetTargetPlatforms();
ITargetPlatform* Target = nullptr;
for (ITargetPlatform *TargetPlatform : TargetPlatforms)
{
if (TargetPlatform->PlatformName() == "WindowsNoEditor")
{
Target = TargetPlatform;
break;
}
}
InPackage->SetPackageFlags(PKG_FilterEditorOnly);
uint32 saveFlags = SAVE_KeepGUID | SAVE_Async | SAVE_Unversioned;
FSavePackageResultStruct Result = GEditor->Save(InPackage, nullptr, RF_Public, *InSavePath, GError, NULL, false, false, saveFlags, Target, FDateTime::MinValue(), false);
return Result == ESavePackageResult::Success;
}
Unreal Engine 4 — это набор инструментов для разработки игр, имеющий широкие возможности: от создания двухмерных игр на мобильные до AAA-проектов для консолей. Этот движок использовался при разработке таких игр, как ARK: Survival Evolved, Tekken 7 и Kingdom Hearts III.
Разработка в Unreal Engine 4 очень проста для начинающих. С помощью системы визуального создания скриптов Blueprints Visual Scripting можно создавать готовые игры, не написав ни строчки кода! В сочетании с удобным интерфейсом это позволяет быстро изготавливать рабочие прототипы.
В этой части туториала по Unreal Engine 4 мы ознакомимся с основными возможностями программы. Вот основные темы, которые будут в нём рассмотрены:
- Установка движка
- Импорт ассетов
- Создание материалов
- Использование Blueprints для создания объектов с простейшими функциями
Мы изучим все эти возможности на примере поворотного столика, на котором лежит банан.
Примечание: туториал будет состоять из восьми частей:
- Часть 1: Знакомство с движком
- Часть 2: Blueprints
- Часть 3: Материалы
- Часть 4: UI
- Часть 5: Как создать простую игру
- Часть 6: Анимация
- Часть 7: Звук
- Часть 8: Системы частиц
- Часть 9: Искусственный интеллект
- Часть 10: Как создать простой FPS
Установка 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.
Навигация по интерфейсу
После создания проекта откроется редактор. Он разделён на несколько панелей:
- Content Browser: в этой панели отображаются все файлы проекта. Её можно использовать для создания папок и упорядочивания файлов. Здесь также можно выполнять поиск по файлам с помощью поисковой строки или фильтров.
- Modes: в этой панели можно переключаться между инструментами, например Landscape Tool и Foliage Tool. Инструментом по умолчанию является Place Tool. Он позволяет располагать на уровне различные типы объектов, такие как источники освещения и камеры.
- World Outliner: отображает все объекты на текущем уровне. Можно упорядочить список, распределив связанные объекты по папкам, а также искать и фильтровать их по типам.
- Details: здесь отображаются все свойства выбранного объекта. Эта панель используется для изменения параметров объекта. Внесённые изменения повлияют только на выбранный экземпляр объекта. Например, если в сцене есть две сферы, то при изменении размера одной изменения коснутся только неё.
- Toolbar: содержит множество различных функций. Чаще всего мы будем пользоваться Play.
- 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. Также можно сохранить все файлы за раз, выбрав FileSave 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)
Редактор материалов состоит из пяти основных панелей:
- Graph: в этой панели содержатся все ноды (узлы) и нод Result. Перемещаться по панели можно, удерживая правую клавишу мыши и двигая мышью. Масштабирование выполняется прокруткой колёсика мыши.
- Details: здесь отображаются свойства выбранного нода. Если нод не выбран, то здесь отображаются свойства материала.
- Viewport: содержит меш предварительного просмотра, представляющий материал. Поворачивать камеру можно, удерживая левую клавишу и двигая мышь. Масштабирование выполняется прокруткой колёсика мыши.
- 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 проще благодаря их наглядности и интуитивной понятности.
Хорошим подходом будет создание объектов с помощью Blueprints. А когда требуются дополнительные возможности, преобразование их в C++.
Создание 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 состоит из четырёх основных панелей:
- Components: содержит список текущих компонентов.
- My Blueprint: этот раздел обычно используется для управления графами, функциями и переменными.
- Details: здесь отображаются свойства текущего выбранного элемента.
- Graph: именно здесь происходит магия. Все ноды и логика находятся здесь. Перемещаться по панели можно, зажав правую клавишу мыши и перемещая мышь. Масштабирование выполняется прокруткой колёсика мыши.
- Viewport: здесь отображаются все компоненты, имеющие визуальные элементы. Перемещение и обзор выполняются так же, как и во Viewport основного редактора.
Создание поворотного стола
Для создания стола нам нужно две вещи — основание и подставка. Их можно создать с помощью компонентов.
Что такое «компоненты»?
Если Blueprint — это автомобиль, то компоненты — это строительные элементы, из которых он состоит. Примерами компонентов могут быть двери, колёса и двигатель.
Однако компоненты могут быть не только физическими объектами.
Например, чтобы автомобиль мог двигаться, можно добавить компонент движения. Можно даже заставить машину летать, если добавить компонент полёта.
Добавление компонентов
Чтобы увидеть компоненты, необходимо переключиться в режим Viewport. Нажмите на вкладку Viewport, чтобы переключиться на неё. Вот как это выглядит:
Примечание: компонент DefaultSceneRoot при запуске приложения не отображается, он виден только в редакторе.
Поворотный стол будет использовать два компонента:
- Cylinder: простой белый цилиндр. Это будет основанием, на котором лежит банан.
- Static Mesh: — это компонент будет отображать меш банана.
Чтобы добавить основание, перейдите в панель Components. Нажмите на Add Component и выберите Cylinder.
Неплохо было бы сделать основание чуть короче. Активируйте манипулятор масштаба, нажав 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 в основном редакторе и удалите модель банана. Для этого выберите модель, а затем выберите EditDelete или нажмите клавишу Delete.
Добавление Blueprint — это тот же процесс, что и добавление меша. Удерживайте левую клавишу мыши на файле и перетащите его во Viewport.
Перейдите к Toolbar и нажмите Play, чтобы увидеть результаты своих трудов!
Примечание: если вы не удалите исходную модель банана, то можете получить предупреждение о необходимости перестройки освещения. Если удалить модель, то ошибка больше не будет проявляться.
Что делать дальше?
Готовый проект можно скачать отсюда.
В этой части туториала вы многое узнали, но это только небольшая часть Unreal. Если вы хотите продолжить изучение, то ждите следующей части туториала, в которой мы подробнее рассмотрим Blueprints.
Important Information
Understanding the File Structure
When creating a project in Unreal Engine 4, the project will be saved to a directory. Within that directory will be the project. For example: <SaveDirectory>/<ProjectName>/…
. <ProjectName>
houses all of the contents of the Unreal Engine 4 project. In that project folder, there will be a subfolder named Content
. That folder houses all of the assets and blueprints within a game.
In the case of Ready or Not, the project name is ReadyOrNot
. Within that folder, there is a folder called Content
. Again, this houses everything inside a game except for configuration files. However, when you open the game files in UModel, there may not be a Content
folder, instead, it’ll have been replaced with a Game
folder. When .paking your mod, you should replace Game
with Content
. Any of the sub folders will remain the same.
The majority of the modding that you will do will be under the Content
folder. If a file that you are looking to override is in .../ReadyOrNot/Game/ReadyOrNot/Assets/Weapons/Python
, the file path to copy would be .../Content/ReadyOrNot/Assets/Weapons/Python
.
Failure to copy the exact path of Ready or Not will result in a broken mod.
File Formats
There are multiple different file formats that you may encounter while modding. Here is a list of most of them, and what each of them are.
- .psk — A skeletal or static mesh. May contain the skeleton.
- .psa — An animation for a specific mesh.
- .uasset — Two types.
- Raw .uasset files are the ones created after cooking a UE4 project.
- UE4 .uasset files are the ones that are taken directly from a UE4 project, they are uncooked and can be transferred between projects.
- .uexp — An raw complementary file to uassets, usually containing import and export maps.
- .ubulk — Another data storage file that UE4 uses.
- .umap — A level/map file, similar to .uasset in the way that there is an uncooked and cooked version.
Essentials
There are two methods of extracting games files, both have important differences:
- UModel. This program can extract non-raw files, allowing you to gain access to textures, models, and animations. To use it, direct it towards the location of the .pak files within Ready or Not:
<GameInstallLocation>Ready Or NotReadyOrNotContentPaks
. You’ll be able to extract individual assets once loaded. - Manual unpaking. This can be done simply by setting up an unpak batch script.
- Create a .bat file in your UnrealPak install location (located within your Unreal Engine 4 install), usually
<InstallLocation>UE_4.27EngineBinariesWin64UnrealPak.exe
. - In the .bat file, paste the following lines in and save:
1 2 3 4 5 6 7
@if "%~1"=="" goto skip @setlocal enableextensions @pushd %~dp0 .UnrealPak.exe %1 -extract "%~n1" @popd @pause :skip
- Drag the .pak file you want to unpak, for example
pakchunk0-WindownNoEditor_0_P
, directly onto the .bat file you just created. This will extract the pak’s files in the same location as the batch file.
- Create a .bat file in your UnrealPak install location (located within your Unreal Engine 4 install), usually
Cooking Modified Files
In order to override any assets within the game or add new content, the files must be in a format that the game can recognize. The files you extracted via UModel will be in a format that is easily accessible by you, not the game. You will first need to cook these before PAKing the files.
- Install the latest version of Unreal Engine 4.27. The current latest version is 4.27.2.
- Import all the files you want to pack with your mod into a new blank project. Any other template can work, but will result in significantly longer cooking times.
- Go to
File > Cook Content for Windows
. This converts the files into a UE4 exported format (*.uasset, *.uexp, *.ubulk). Retrieve the cooked files in<ProjectLocation/><ProjectName>/Saved/Cooked/WindowsNoEditor/
.
Creating a PAK File
- Make sure the folder you are paking, for example
pakchunk99-Mods_MyMod_P
, contains the same file structure as Ready or Not. Also ensure that_P
is at the end of your pak name. Not doing so will likely result in the mod not loading. The number afterpakchunk
indicates the load order of the .pak. Make sure to understand the directory structure first, before paking your mod. Incorrect directory structure will lead to issues. Your structure should mimic something like this:pakchunk99-Mods_MyMod/Content/ReadyOrNot/Assets/…
. - Create a .bat file in your UnrealPak install location (located within your Unreal Engine 4 install), usually
<InstallLocation>UE_4.27EngineBinariesWin64UnrealPak.exe
. - In the .bat file, paste the following lines in and save:
1 2 3 4 5 6 7 8
@if "%~1"=="" goto skip @setlocal enableextensions @pushd %~dp0 @echo "%~1*.*" "../../../ReadyOrNot/" >filelist.txt .UnrealPak.exe "%~1.pak" -create=filelist.txt -compress @popd @pause :skip
- Drag the folder you want to PAK, for example
pakchunk99-Mods_MyMod_P
, directly onto the .bat file you just created. This will create a .pak file in the same directory as the folder you just dragged.
If the .pak file size is 1 KB, change the locations of the contents you are attempting to pak.
Additional Information
Mod Installation
All .pak mods go here. <GameInstallLocation>Ready Or NotReadyOrNotContentPaks
. Ensure that the .pak load order is correct.
Example Mod
To see if your PAKing is working, download this example mod. This will turn your gun on the main menu pink if the .pak is correctly PAKed. Download and extract the .zip file before PAKing.
Debugging
If your mod is not working, make sure to check these common error points:
- Check the file strucuture. This must perfectly match the files within the game, otherwise it will not load.
- No
_P
at the end of the mod name. This is needed when a patch pak is used for the main game files. - Load order. Incorrecy load order may cause issues between mods, change the numberical elements of the pak name to change the load order.
- Mount point (The best way to debug any issues is to use the builtin UnrealPak.exe. Simply open this with cmd with the line:
unreakpak.exe -List This_Is_A_Pak.pak
. Look at the mounting point. The mounting point will be the deepest folder that encapulates all of your content. If it is not, you may have an issue.)
This post is licensed under CC BY 4.0 by the author.
UEngine.Ru
Что. сложно открыть пак файл.
ладно, дальше спорить небуду.
вы просто попробуйте запустите утилиту unrealpak.exe
она лежит в EngineBinarieswin64
со следующими ключами
unrealpak.exe путь_к_пак_файлу путь_куда_распаковать /Extract
должно получиться чтото вроде
unrealpak.exe d:GameGame.pak d:unpack /Extract
и вы поймете насколько легко достать ваш проект из незашифрованного пак файла.
ну и если это вызовет у вас всетаки интерес к шифрации, то скажу ,что встроенные в UE функции шифрации контент пакаов
очень неплохо препятствует «вскрытию» пак файлов.
ага, немного снять фемиду, немного пореверсить в ольке и иде и немного подобрать пару к открытому ключу.
это же примерно также сложно как запустить из консоли unrealpak.exe d:GameGame.pak d:unpack /Extract
я думаю зря я пытаюсь донести до вас то чего вы не хотите или не можете понять )
Кстати, со сабжу, раз уж тема поднята.
другими словами вы хотите менять содержимое pak файла?
у вас несколько вариантов :
1. отказаться от pak файлов совсем (в настройках проекта убираем галочку с Use Pak File)
2. пишите апдейтер вашей игры который умеет работать с пак файлами (открывать, добавлять, удалять файлы в pak)
по второму варианту исходники утилиты которая работает с pak файлами находятся тут
https://github.com/EpicGames/UnrealEngi . /UnrealPak
изучайте и заимствуйте для своего апдейтера.
как раз таки надо уметь редактировать/уметь работать с пак файлами, хотябы для того чтобы включить шифрование своего контента. и обновлять свои игры не добавлением 100500 дополнительными пак файлами , а редактированием оригинального.
ибо если взять ваш пак который не шифрован и распаковать его, то мы получим проект практически в чистом виде, что не очень гуд для авторов игр.
MHard
Выйдем немножко за рамки и спросим прямо. Вы что, ретард?
UE4 по-прежнему умеет DLC, у нас даже урок появился про это.
Кроме того, грамотным людям не составит труда вытащить любой налету расшифровывающийся контент при загрузке игры. Шифруй/не шифруй — без толку. Нужен пруф? Посмотрите, какие меры для защиты предпринимает Steam, и что с ним регулярно случается.
Да, и ещё кое-что. Не разумно отвечать мне на этот пост. В отношении этой конкретной темы, я перехожу к жёсткой позиции обладателя банхамера. После ваших попыток меня поддеть, ваше участие в треде более не требуется.
Что. сложно открыть пак файл.
ладно, дальше спорить небуду.
вы просто попробуйте запустите утилиту unrealpak.exe
она лежит в EngineBinarieswin64
со следующими ключами
unrealpak.exe путь_к_пак_файлу путь_куда_распаковать /Extract
должно получиться чтото вроде
unrealpak.exe d:GameGame.pak d:unpack /Extract
и вы поймете насколько легко достать ваш проект из незашифрованного пак файла.
ну и если это вызовет у вас всетаки интерес к шифрации, то скажу ,что встроенные в UE функции шифрации контент пакаов
очень неплохо препятствует «вскрытию» пак файлов.
Спасибо за классный совет — всё сработало *.pak был распакован, вот только возникла проблема:
Файл проекта не запускается ;( Unreal его открывает и, когда доходит до 100% выбрасывает ошибку. Интересный факт еще и в том, что импортировать модели из *.pak не удается, при работе с ними Unreal так же выдает ошибку и вырубается!
Может быть Вы знаете в чём причина, точнее, как лечить эту проблему?
Вскрытие и упаковка (pak, locres — UnrealEngine4)
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Войти
Уже зарегистрированы? Войдите здесь.
Продвигаемые темы
Автор: Morfius354
Создана 2 июня
Автор: james_sun
Создана 7 марта
Автор: Daniil Kortez
Создана 31 марта
Автор: Morfius354
Создана 30 марта
Последние сообщения
Изменения статусов
koraly » DMBidlov
Это замечательно, пусть с запозданием, но пора исправить несправедливость и оценить их поведение по достоинству
Kogekko » Haoose
Hi Haoose. Could you help me translating MGR using flatz’s tool? You can check my comment at page 153.
Kogekko » LinkOFF
Hi LinkOFF. Could you help me translating MGR using flatz tool? You can check my comment at page 153.
In this guide I will explain how to access the contents of the game and repackage any modifications made. This guide is inspired by several games that use UE4 that can be modified normally. Besides being able to offer, at least for now, a solution to the need for a change in the game.
Remember that the developers are still working on the game and we have to give them all our support
-You can’t load different maps in the game because you don’t have the programmed entities and tools used in the UE4 editor.
-So far it works quite well with retextures, but it hasn’t been tested yet with reskins
-You cannot modify aspects programmed internally in the game
200 | уникальных посетителей |
3 | добавили в избранное |
- Unreal Engine 4.21 from Epic Games platform.
Yes, you must download the Epic Games platform and the Unreal Editor, precisely version 4.21.2
With this we will have the basics for viewing and re-exporting custom content for Earthfall
First we must locate the .pak file of the game, this file saves the assets that were created with unreal engine.
For earthfall, this file will be in this directory:
«. SteamsteamappscommonEarthfallEarthfallContentPaks»
Now once we have downloaded Unreal engine 4.21, we must go to the installation directory you selected and locate the file «UnrealPak.exe».
the location of this file is as follows:
«Epic GamesUE_4.21EngineBinariesWin64UnrealPak.exe»
This command program will be able to extract the .pak file in a directory that we assign and we’ll control it through the CMD.
Keep in mind that to assign directories or file locations just drag&drop the file to the command window.
To get started you must first know how to run the command to extract the file. This process should be structured as follows:
<«UnrealPak.exe» LOCATION> <.PAK FILE TO EXTRACT LOCATION> -Extract <OUTPUTFOLDER LOCATION>
<«UnrealPak.exe» DIRECTORY>: just open the command window and drag the file «UnrealPak.exe» to the command window. followed by a SPACE.
<.PAK FILE TO EXTRACT DIRECTORY>: We will find the file «Earthfall-WindowsNoEditor.pak» and drag it to the command window, followed by a space and the command «-Extract» and another space.
<OUTPUTFOLDER DIRECTORY>: Create another empty folder where you will save the extracted content and then drag it to the command window
Once everything is ready and looks like the image, you can press ENTER and the pak file will start to be extracted. It will take a while since it’s almost 20GB of content. When the process is finished, you will find all the content in the output folder you created earlier.
Congratulations, you managed to extract the .pak file but you still can’t see the content itself, because the assets are compiled in the format that UE4 editor saves when cooking a project (.uasset and .uexp .ubulk, etc).
NOTE:Don’t try to open the project, you don’t have the source code or the data used by the developers
In order to be able to decompile models and textures with their animations and resources, we must use the UEViewer program. This program is intuitive so I guess you won’t have problems using it, you can browse through the game’s files and see its models with their textures and animations,
but remember to use «override game detection» to the version of ue4 that uses the game
From this point you can edit textures and models in 3D editing programs and image editors. Personally I use Blender and Photoshop but you can use the one you find more comfortable.
Once we’ve modified what we wanted, it’s time to try it out in the game.
We must take into account that the content of the game is read from the .pak file, but we must not go back to repak all the 20GB content that we had previously extracted. In this process we will only export the content that we have modified and make the game include it when it is executed.
Let’s take Danny’s default skin as an example. I decided to make his sweatshirt red instead of gray.
I left the default file name too, now we must convert this texture into the format that UE4 uses to read its ( .uasset, .ubulk, .uexp)
For that we must first open the UE4 4.21 editor from Epic Games and create a new project
Once we have the session ready, we can either drag the new texture into the content browser or use the «import» function and search for the texture
Within that window we can create folders, I recommend creating the folders exactly as the game content was located, for example, this texture was originally in :
«<wherever you’ve stored the unpacked stuff>. ContentCharactersHumansDanny«
This is mostly to make it easier to manage the content you import and maybe necessary for the game to recognize the path of the content.
Once we have the file in its respective folder or not, we will start the packaging process. For that we must go to «File > Cook Content for Windows».
Чтобы собрать игру, нужна некая среда с определёнными техническими условиями и необходимыми инструментами. В качестве такой среды выступает игровой движок. Unreal Engine 4 — один из самых популярных движков, который используют как крупные компании, так и небольшие инди-студии. К примеру, на UE4 созданы Final Fantasy VII Remake, Returnal, Gears 5, Borderlands 3, Fortnite, Abzû, Observer и многие другие.
Узнали у Владимира Семыкина, автора направления «Геймдизайн» в Нетологии, об особенностях движка Unreal Engine, разнице между Blueprints и C++, а также насколько востребована профессия разработчика на Unreal Engine.
Есть несколько причин большой популярности UE4.
UE4 поддерживает большое количество функций, благодаря чему в нём можно создать практически любую игру.
В Unreal Engine 4 есть встроенная система визуального скриптинга, которая позволяет без особых препятствий выстраивать игровую логику даже новичкам.
Движком можно пользоваться бесплатно: в лицензионном соглашении Unreal Engine указано, что пока ваша игра не принесёт более $1 000 000 — после этого придётся платить 5% от дохода.
Есть возможность сделать игру, которая запустится на всех популярных платформах: PlayStation, Xbox, Switch, ПК, iOS, Android.
У движка огромное сообщество пользователей, которые создают обучающие материалы, делятся друг с другом опытом и помогают решать проблемы. Дополнительный плюс большого сообщества — множество игровых ассетов, доступных для свободного использования в своём проекте.
Большое преимущество Unreal Engine 4 в универсальности и доступности — его могут использовать как опытные разработчики, так и новички, которые впервые берутся за создание игры. Всё дело в том, что UE4 по умолчанию поддерживает сразу два языка программирования: текстовый C++, в котором нужно писать строчки кода, и визуальный язык Blueprints, в котором игровая логика выстраивается при помощи связанных между собой блоков. Такой подход помогает сделать программирование более наглядным и понятным для тех, у кого нет опыта.
«Blueprints разработала компания Epic Games, чтобы дать инструменты программирования людям, которые далеки от этого. Поэтому научиться работать с Blueprints очень легко. Конечно, необходимо получить минимальную теоретическую базу, например, разобраться, что такое переменные и как работает функциональное и объектно-ориентированное программирование.
Но и эту теоретическую базу можно изучать, применяя Blueprints. И даже без неё можно сделать что-то интерактивное, например, кнопку, которая открывает дверь. Язык Blueprints крайне прост в освоении, и в нём есть много решений, которые делают его применение удобнее. Например, цветовая индикация различных типов переменных», — Антон Токарев, преподаватель Нетологии, геймдизайнер в Dreamside Interactive.
Большое преимущество Blueprints в том, что с его помощью можно быстро собрать базовый геймплей для игры.
Несмотря на то, что Blueprints проще для понимания, такой скриптинг почти не уступает C++ по функциям — есть лишь несколько редких исключений, в которых Blueprints немного ограничен.
«Таких ограничений мало. Они упираются либо в невозможность изменить исходный код движка UE4 (для этого нужен C++) и базовых классов проекта, либо в производительность сложных математических расчётов, например, обработки таблиц данных сотен игроков в MMO.
Практически всё можно реализовать на Blueprints. Все принципы и подходы программирования, которые используют в текстовых языках (вроде C++), также можно применять и в Blueprints», — Антон Токарев, преподаватель Нетологии, геймдизайнер в Dreamside Interactive.
«Самое лучшее — совмещать работу в C++ и Blueprints. Например, структуры, которые состоят из групп переменных, и энумераторы (нумерованные списки) гораздо более стабильны, если созданы в C++. А вот их Blueprint-аналоги могут не пережить сложных изменений, к примеру, переименования или удаления нескольких элементов. И хоть это происходит редко, лучше избегать подобного и создавать их в C++.
Также любые сложные вычисления на C++ работают гораздо быстрее. Всё дело в том, что при запуске игры автоматически включается специальная виртуальная машина, которая исполняет все функции, созданные с помощью Blueprints. Отсюда и большее время обработки вычислений», — Антон Токарев, преподаватель Нетологии, геймдизайнер в Dreamside Interactive.
Blueprints и C++ можно воспринимать как два последовательных этапа в процессе овладения Unreal Engine 4. Blueprints проще для восприятия и позволяет познакомиться с базовыми принципами программирования. А благодаря изучению C++ вы сможете разобраться, как всё это устроено изнутри.
«Изучая Blueprints, вы познакомитесь с основными классами и функциями самого движка, а углубляясь в C++ вы узнаете как они работают изнутри. Но пользуясь только Blueprints, у вас всё равно будет полный доступ ко всему, что вам может понадобиться для создания собственной инди-игры или интерактивного проекта», — Антон Токарев, преподаватель Нетологии, геймдизайнер в Dreamside Interactive.
Конечно, в студиях, состоящих из нескольких человек, владение UE4 требуется далеко не всем.
«Чаще всего непосредственно с редактором UE4 работают два вида геймдизайнеров: левел-дизайнеры и технические геймдизайнеры. Первые собирают уровни, поэтому им необходимо знать инструментарий движка в контексте работы со сценой и объектами в ней. А также знать основы работы с Blueprints, чтобы заниматься скриптингом уровней — добавлять логику взаимосвязанных элементов уровня: вроде выключателей, дверей и так далее.
Вторые же прототипируют механики, создают инструменты для всех дизайнеров на проекте и выступают в роли мостика между командой дизайнеров и командой программистов. Они должны глубоко знать Blueprints, сам движок и понимать, как работает C++ и как он связан с Blueprints, — Антон Токарев, преподаватель Нетологии, геймдизайнер в Dreamside Interactive.
Знание Blueprints может оказаться полезным для геймдизайнеров — это позволит быстро прототипировать и пробовать собственные идеи на практике. А C++ необходим для инженеров-программистов, для которых язык программирования — это основной инструмент в работе.
UE4 можно использовать и при соло-разработке. Часто инди-разработчики применяют чужие ассеты — это позволяет быстрее закончить игру, так как реализация отдельных механик может занять много времени. К счастью, в магазине представлены ассеты, сделанные как на Blueprints, так и на C++.
«Есть и Blueprints-ассеты, есть и C++ ассеты, а есть и плагины, которые написаны на C++. Есть ассеты на любой вкус! Например, ассеты на Blueprints очень полезно рассматривать изнутри — изучать, как они сделаны, и на их примере обучаться. Не все они созданы идеально, но поучиться всегда есть чему (как минимум — как делать не надо, если вдруг там всё плохо).
Не рекомендуется использовать сторонние Blueprints-ассеты как базовые фичи своего проекта, потому что их сделали не вы. А это значит, что вы не можете быть уверены в том, что они работают как вам нужно. И зачастую их неудобно менять — особенно если автор продолжает выпускать обновления для них», — Антон Токарев, преподаватель Нетологии, геймдизайнер в Dreamside Interactive.
- Освоите профессию геймдизайнера с нуля: от идеи до балансировки и маркетинга
- Разработаете прототип собственной игры на движке Unreal Engine
- Составите полный комплект проектной документации для запуска игры
Круг обязанностей разработчика зависит от его специализации, опыта и размера команды. Ранее мы упоминали, что разработчик собирает проект воедино: он прописывает логику событий в игре, устанавливает правила виртуального мира, настраивает технические условия среды, соединяет ассеты. При этом разработчик отвечает за корректную работу систем, поэтому он занимается тестированием, отладкой и исправлением багов.
Если разработчик работает в команде, то к этим хард-скиллам прибавляется необходимость владеть софт-скиллами: уметь ясно доносить свою мысль, корректно реагировать на фидбэк и так далее. Конечно, если разработчик создаёт игру в одиночку, то требования к софт-скиллам снижаются.
По данным компании Values Value, которая собирает информацию о трудовом рынке в геймдеве, средняя зарплата для разработчиков на Blueprints составляет около $1 550. Для разработчиков на C++ средняя зарплата приближается к $2 500 (здесь учитываются и те специалисты, которые используют C++ вне UE4).
Чтобы оценить востребованность UE4-специалиста на рынке, достаточно взглянуть на количество вакансий в этой сфере. На hh.ru можно найти более 200 предложений о работе для разработчиков на Unreal Engine 4. При этом там встречаются совершенно разные предложения: офис/удалённая работа, VR/мобайл/консоли, вакансии для junior/middle/senior.
Также подходящие вакансии часто публикуются на специализированных сайтах и сообществах в социальных сетях. К примеру, HR in GameDev, «Вакансии» на DTF, Talents in Games, Хабр Карьера.
В итоге, Unreal Engine 4 — один из самых популярных движков из-за нескольких важных преимуществ:
- универсальность. UE4 можно использовать и для PlayStation, и для Switch, и для ПК, — буквально для чего угодно — это даёт нужную гибкость при разработке игры;
- большая библиотекой ассетов;
- простота входа из-за Blueprints. Правда, для профессиональной работы всё равно понадобится изучить C++;
- хорошая задокументированность и поддерживаемость, активное сообщество с кучей opensource-инструментов;
- возможность бесплатного использования для небольших проектов.
Владение Unreal Engine 4 открывает перед специалистом большие возможности. Он может сделать игру в одиночку, а может присоединиться к команде. При этом предыдущий опыт имеет не такое уж большое значение — начинающий разработчик без особых проблем сможете обучиться Blueprints, чтобы создать собственный проект. Это станет отличной базой для дальнейшего изучения C++, знание которого позволит ещё больше углубиться в создание внутренней архитектуры игры.
Статьи по теме
- Что делает геймдизайнер и как им стать
- История игровой графики: от нескольких лампочек до миллиардов полигонов
- Механика, геймплей, динамика — как устроен игровой процесс в играх
- Как начинающему геймдизайнеру устроиться в игровую студию: советы опытных специалистов
Мнение автора и редакции может не совпадать. Хотите написать колонку для Нетологии? Читайте наши условия публикации. Чтобы быть в курсе всех новостей и читать новые статьи, присоединяйтесь к Телеграм-каналу Нетологии.
Since yesterday I have been unable to cook any projects for windows in the 4.25.3 edition of Unreal Engine. Even a brand new empty project is failing. This was working fine for the first couple of days but today I opened up the last project I was working on and unable to cook content. This is the same for all projects both new and existing.
Note* Building new and existing projects in the standard edition of Unreal 4.25.3 is working successfully just for comparison.
Log file:
UATHelper: Cooking (Windows (64-bit)): LogWindows: Error: begin: stack for UAT
UATHelper: Cooking (Windows (64-bit)): LogWindows: Error: === Critical error: ===
UATHelper: Cooking (Windows (64-bit)): LogWindows: Error:
UATHelper: Cooking (Windows (64-bit)): LogWindows: Error: Assertion failed: OutputStream [File:E:Build2UnrealEngineEngineSourceRuntimeCorePublicProfilingDebugging/DiagnosticTable.h] [Line: 46] (*Note: This directory location does not exist on my machine)
UATHelper: Cooking (Windows (64-bit)): LogWindows: Error:
UATHelper: Cooking (Windows (64-bit)): LogWindows: Error:
UATHelper: Cooking (Windows (64-bit)): LogWindows: Error:
UATHelper: Cooking (Windows (64-bit)): LogWindows: Error:
UATHelper: Cooking (Windows (64-bit)): LogWindows: Error: end: stack for UAT
PackagingResults: Error: begin: stack for UAT
PackagingResults: Error: === Critical error: ===
PackagingResults: Error: Assertion failed: OutputStream [File:E:Build2UnrealEngineEngineSourceRuntimeCorePublicProfilingDebugging/DiagnosticTable.h] [Line: 46] (*Note: This directory location does not exist on my machine.)
PackagingResults: Error: end: stack for UAT
UATHelper: Cooking (Windows (64-bit)): Took 7.0340367s to run UE4Editor-Cmd.exe, ExitCode=3
UATHelper: Cooking (Windows (64-bit)): ERROR: Cook failed.
UATHelper: Cooking (Windows (64-bit)): (see C:UsersDanielAppDataRoamingUnreal EngineAutomationToolLogsC+Program+Files+Aximmetry+DE+UnrealEngineLog.txt for full exception trace)
PackagingResults: Error: Cook failed.
UATHelper: Cooking (Windows (64-bit)): AutomationTool exiting with ExitCode=25 (Error_UnknownCookFailure)
UATHelper: Cooking (Windows (64-bit)): BUILD FAILED
________________________________________________________________________________________________________
I have been through all of the log files and they just come back with the same error codes and nothing obvious. There are no other errors prior to this one.
This is affecting all projects relating to aximmetry DE. Projects on regular Epic 4.25.3 are working fine.
I have also been through and disabled all plugins in a set of tests but no improvement.
I have completely removed and reinstalled Aximmetry DE, and Unreal for Aximmetry, as well as manually delete all of the working directories such as those found under approaming.
Reinstalled, restarted, fresh project, etc. Nothing seems to resolve the problem.
Thanks
Unreal Engine (UE) — это движок для создания игр, один из двух наиболее популярных в мире. Движком называется программная среда, на основе которой конструируются и создаются игры. В ней можно работать с персонажами, логикой, физикой и графикой игры.
UE разработала компания Epic Games для своей игры под названием Unreal, и после этого движок стал популярен. Его основное отличие — хорошая оптимизация: Unreal Engine создавался не как отдельный коммерческий продукт, а как рабочий инструмент, и ориентирован он на 3D-игры.
Наиболее известная сейчас версия — Unreal Engine 4, или UE4. Но недавно вышел Unreal Engine 5, а некоторые игры до сих пор написаны на старых версиях 2 или 3. С каждым обновлением доступная графика становится все более мощной, возможности повышаются и позволяют создавать все более сложные и реалистичные игры.
Название читается как «анрил энджин», иногда его сокращают просто до «анрил».
Где используется 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 огромное количество возможностей для создания фотореалистичной трехмерной графики. В нем множество текстур, визуальных эффектов и материалов, которые можно применить к объектам, чтобы изменить их внешний вид. Графика гибко настраивается, в результате можно создавать какие угодно материалы, поверхности и эффекты, задавать им различные параметры и смешивать друг с другом.
Визуальные эффекты. Эффекты — это не только поверхности и текстуры. Например, 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 можно с официального сайта проекта. Там же находятся различные мануалы, инструкции и документация. Информация дается на английском, но при желании вы можете найти в сети переводы на русский язык. Также советуем ознакомиться с блогами разработчиков и обучающими видео — так будет легче разобраться в интерфейсе и основных функциях. И, конечно, не забывайте о теории — она поможет создать более качественную и интересную игру.
Получить высокооплачиваемую и интересную профессию геймдева помогут курсы. Записывайтесь — войдите в увлекательный мир разработки игр!
Unreal Engine (UE) — это игровой движок, разработанный специалистами Epic Games. Движком называют рабочую среду, позволяющую управлять всей системой элементов, из которых состоит игра.
Содержание
- Где применяется Unreal Engine
- Преимущества Unreal Engine
- Blueprints: разработка без программирования
- Функционал и возможности движка
- Применение в неигровой индустрии
- Системные требования
Где применяется Unreal Engine
Сегодня движок Unreal Engine активно применяется для разработки простых казуальных игр для смартфонов и планшетов, а также для создания полноценных высокобюджетных игр, рассчитанных на массовую аудиторию (их называют ААА-проектами). При этом не потребуется самостоятельно писать код — система визуального создания скриптов Blueprints Visual Scripting значительно упрощает задачу. Если же разработчик желает прописать игровую логику вручную, он может использовать язык программирования С++.
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 значительно проще для понимания и использования, чем С++, при этом их функции и возможности в большинстве случаев схожи. Однако иногда все же придется прибегнуть к кодингу: для произведения сложных математических расчетов, изменения исходного кода самого движка UE и ряда базовых классов проекта.
Функционал и возможности движка
Материалы. В игровом мире существуют объекты с уникальными оттенками, фактурами и физическими свойствами. В движке UE внешний вид зависит от настроек материалов. Цвет, прозрачность, блеск — задать можно практически любые параметры. При работе над игрой в UE материалы можно наносить на любые объекты, вплоть до мелких частиц. Отметим, что речь идет не просто о настройке текстур: материалы открывают более широкие возможности. К примеру, можно создавать необычные визуальные эффекты, причем UE позволяет делать это прямо в процессе игры.
Пользовательский интерфейс. Игроку важно не только видеть действия своего персонажа и карту, на которой он находится, но и иметь текстовую информацию, а также сведения о количестве очков, пунктах здоровья, инвентаре и т.д. С этой целью разработчики тщательно продумывают пользовательский интерфейс (User Interface, UI). В движке Unreal для создания UI применяется Unreal Motion Graphics (UMG). Он позволяет выстраивать интуитивно понятный UI, выводить на экран необходимую пользователю информацию, а также менять положение кнопок и текстовых меток.
Анимация. Персонаж любой современной игры подвижен и гибок, умеет бегать и прыгать. Все это возможно благодаря анимированию. В UE начинающие разработчики могут импортировать уже готовые мэши со скелетами персонажей и настройки анимации. Неопытных пользователей, которые желают познакомиться с ПО поближе, приятно удивит Animation Blueprint — скрипт, который значительно упрощает работу по созданию паттернов движений персонажа без использования кодинга.
Звук. Для полного погружения в игру недостаточно просто собрать саундтрек из десятка файлов — музыку следует подобрать по тематикам сцен, настроить уровень ее громкости, прописать и расставить по нужным местам диалоги персонажей. В UE можно по-разному настраивать звуковые эффекты, зацикливать музыку и модулировать тон при каждом новом воспроизведении, а также работать с несколькими эффектами одновременно. За последнее отвечает ассет Sound Cue.
Система частиц. Данный компонент необходим для создания визуальных эффектов. Взрывы, брызги, искры, туман, снегопад или дождь — в UE все это можно создать, используя систему Cascade. Она позволяет задавать размеры частиц, траекторию и скорость их движения, цвет и масштабирование в течение всего срока их существования.
https://www.youtube.com/watch?v=WFOrseauTQI
Искусственный интеллект. В компьютерной игре существуют не только главные, но и второстепенные персонажи. Искусственный интеллект отвечает за их решения (увидеть действие и среагировать). Настроить ИИ в UE можно, используя так называемые деревья поведения, Behavior Trees. В простые схемы закладываются алгоритмы действий и принятия решений. Здесь не только новичкам, но и профессионалам будет удобнее работать в Blueprints Visual Scripting, ведь все деревья визуально напоминают простые блок-схемы. Выстроить их гораздо быстрее и проще, чем писать длинный код.
Применение в неигровой индустрии
Broadcast телевидение. Инструменты движка UE отлично подходят для наложения картинки на видео, которое идет в прямом эфире. Быстрый рендеринг, высокая степень детализации и реалистичная анимация позволяют преобразить телеиндустрию, наполнив ее новым контентом.
Кинематограф. Анимация персонажей с высокой степенью детализации применялась кинокомпаниями и ранее, но с появлением UE это можно делать быстрее и без потери качества.
Развлечения. В последние годы стали популярны купола и даже полноценные сферы, работающие с технологией Fulldome: несколько камер проецируют панорамный видеоряд. Поначалу людям предлагались только планетарии, но не так давно в Корее создали полноценный кинотеатр с обзором 360о. UE позволяет создавать для него видеофайлы без стыков и склеек и с высоким качеством изображения.
Системные требования
Разработчики Unreal Engine 5 представили следующий список рекомендуемых системных требований:
- ОС — 64-разрядная версия Windows 10, macOS Big Sur, Linux Ubuntu 18.04.
- Процессор — Intel или AMD, 2,5 ГГц или выше.
- ОЗУ — 8 ГБ (для Windows, macOS), 32 Гб (для Linux).