Занятие 1: Основы работы UE5
Добро пожаловать на первое занятие нашего курса! Сегодня мы заложим фундамент для вашей будущей работы в Unreal Engine 5. Мы познакомимся с движком, его интерфейсом, научимся управлять проектами и импортировать свои первые объекты.
Оглавление
Знакомство с курсом
Что такое Unreal Engine 5?
Работа в Epic Games Launcher
Файловая система и структура проекта
Разбор интерфейса редактора
Импорт ассетов
Редактор Static Mesh
Настройка коллизии
Подключение к GitHub (Системы контроля версий)
1. Знакомство с курсом
Цель курса: Научиться работать с движком для создания игровых прототипов, дизайна уровней.
Коммуникация: тг чат курсов геймдев.
2. Что такое Unreal Engine 5?
Unreal Engine (UE) — это мощный игровой движок, разработанный компанией Epic Games. Он используется для создания игр (от инди до AAA-проектов), фильмов, архитектурной визуализации, симуляций и многого другого.
История
Unreal Engine родился в 1998 году с шутером Unreal. Движок быстро стал коммерческим продуктом. Версия UE3 (2006) сделала его отраслевым стандартом. В UE4 (2014) появились Blueprints, открыв разработку инди-студиям. Современный UE5 (2022) получил ненависные, но прорывные технологиями Nanite и Lumen.
Ключевые особенности UE5:
Lumen: Динамическая система глобального освещения в реальном времени. И она уже начинает работать не плохо.
Nanite: Технология виртуализированной геометрии, позволяющая использовать миллионы полигонов "без потери производительности". С UE5.7 работает очень хорошо с листвой, в остальном не рекомендую её применять.
Blueprints: Система визуального скриптинга, которая позволяет быстро создавать и компелировать логику без написания кода. Отлично для протатипирования, игр для джемов и быстрого старта.
Кроссплатформенность: Поддержка ПК, консолей, мобильных устройств и VR/AR.
3. Работа в Epic Games Launcher
Epic Games Launcher — это ваш центр управления проектами, версиями движка и ассетами.
Вкладка "Библиотека" (Library):
Версии UE: Здесь можно устанавливать, обновлять и запускать разные версии UE. Рекомендуется использовать последнюю стабильную версию.
Мои проекты: Список всех ваших проектов. Отсюда их можно открывать.
Библиотека Fab: Коллекция всех ассетов, которые вы приобрели или скачали из Fab. Они хранятся здесь и могут быть добавлены в любой проект.
Вкладка слева "Fab":
Магазин, где можно найти тысячи готовых ассетов: 3D-модели, материалы, звуки, плагины и целые игровые системы.
Важно: Каждый месяц Epic Games раздает подборку платных ассетов бесплатно! Обязательно забирайте их.
Создание нового проекта:
Нажмите "Запустить" (Launch) на нужной версии движка.
В окне Project Browser выберите категорию (например, Games).
Выберите шаблон (Template), например, Blank (пустой) или Third Person (с готовым персонажем).
Настройки проекта (Project Settings):
Blueprint / C++: Не имеет значения в перспективе, но стартовые наборы будут запрограммированы в выбраном режиме
Target Platform: Desktop или Mobile.
Quality Preset: Maximum или Scalable(чаще используют для 2д игр(да их тоже тут делают)).
Starter Content: Набор базовых объектов и материалов для быстрого старта.
Укажите путь и имя проекта (используйте только латиницу). Нажмите Create.
4. Файловая система и структура проекта
Золотое правило: Никогда не изменяйте файлы проекта через Проводник Windows или Finder. Все операции (перемещение, переименование, удаление) выполняются только внутри редактора Unreal Engine в окне Content Browser.
Папка Content: Корневая папка для всех ассетов вашего проекта.
Папка Config: Папка с ini-файлами конфигурации движка и проекта.
Папка Saved: Сохранения вашей игры, авто сохранения проекта, скриншоты.
Папки Intermediate и DerivedDataCache: Кэш.
Файл запуска nameproj.uproject: Файл запуска проекта, если открыть в блокноте можно увидеть информациб по проекте: версия, плагины, т.д.
Для запуска проекта обязательны: папки Content и Config и файл nameproj.uproject. Остальное генерируется автоматом.
5. Разбор интерфейса редактора
Viewport (Окно проекции): Главное окно, где вы видите и редактируете вашу сцену (уровень).
Навигация:
Зажать Правую кнопку мыши (ПКМ) + WASDQE для полета.
Зажать Левую кнопку мыши (ЛКМ) + двигать мышь для перемещения вперед/назад и поворота.
Колесико мыши: Приближение/отдаление.
Outliner (Структура сцены): Список всех объектов (Actors), которые находятся на текущем уровне.
Details (Подробности): Панель, где отображаются и редактируются свойства выделенного в Outliner или Viewport объекта (его позиция, поворот, масштаб, компоненты и т.д.).
Content Browser (Браузер контента): Доступ к файлам и папкам проекта.
Toolbar (Панель инструментов): Основные кнопки: Save, Play, Build и т.д.
Place Actors (Размещение объектов): Панель для добавления на сцену базовых объектов: кубов, сфер, источников света, камер.
6. Импорт ассетов
Вы можете добавлять в проект свои собственные 3D-модели (например, в формате .fbx или .obj).
Способ 1 (Drag-and-Drop): Перетащите файл модели из Проводника прямо в нужную папку в Content Browser.
Способ 2 (Кнопка "Import"): В Content Browser нажмите кнопку + Add -> Import To... и выберите файл.
Окно импорта:
Generate Missing Collisions: Поставьте галочку, чтобы движок автоматически создал простую коллизию для объекта или уберите галочку если вам это не нужно.
Import Materials и Import Textures: Если у модели есть материалы и текстуры, UE попытается их создать. Для начала можно оставить включенным.
Combine Statick Meshes: Поставьте галку если вы хотите чтобы объект состоящий из множества деталий загрузился одним мешем.
Нажмите Import или Import All.
7. Редактор Static Mesh
Static Mesh — это статический (не анимированный) 3D-объект. Двойной клик по ассету Static Mesh в Content Browser откроет Static Mesh Editor.
Что здесь можно делать:
Просматривать модель со всех сторон.
Назначать материалы: В панели Details есть раздел Material Slots. Сюда можно перетаскивать ассеты материалов.
Настраивать коллизию: Самое важное для физики. Если тыкнуть на глазик можно отображать Simple(простую) и Complex(сложную, за частую полностью повторяющую границы меша) коллизию объекта. А сверху на соотвествуещей кнопке с выпадающим списком сосздавать нужную коллизию.
Простая коллизия (Simple Collision): Оптимизированные примитивы (кубы, сферы, капсулы). Используется для физики и передвижения. Игрок всегда взаимодействует с простой коллизией.
Сложная коллизия (Complex Collision): Повторяет геометрию самой модели. Используется для точных трассировок лучей (например, попадание пули). Не используется для передвижения игрока, так как это очень непроизводительно.
Настраивать уровни детализации (LODs): Отключить Nanite и настроить нормальные лоды.
Для того чтобы настроить процедурные LOD, после открытия статик-меша в новом окне в панели Details будет вкладка LODs, вам нужно включить
LOD Picer -> Custom LODs, ниже вLOD Settingsвыставить количество лодов, применить (если требуется) и приступить к настройке лодов (появятся новые вкладки LOD 1, LOD 2,... LOD n). В настройке у вас есть изменение количества полигонов в процентах, а также с выключённым параметромAuto Compute LOD Distanceвы сможете настраивать включаемый уровень детализации в зависимости от того, какой процент (параметрscreen size) экрана занимает объект, чем меньше процент, тем более низкая детализация объекта.
8. Настройка коллизии
Коллизия (Collision) — это невидимая простая форма, которая определяет физические границы объекта. Она нужна, чтобы персонаж не проходил сквозь стены, а предметы не падали под пол.
Важно: Для физических расчетов используется именно простая коллизия, а не сама 3D-модель, так как это в сотни раз производительнее.
Как посмотреть и настроить коллизию:
Откройте Static Mesh Editor.
На верхней панели инструментов нажмите кнопку Collision, чтобы отобразить коллизию (она будет подсвечена зеленым).
Если коллизии нет или она некорректна, ее можно создать/удалить через меню Collision на той же панели.
Add Box Simplified Collision: Добавить простую коллизию в форме куба.
Add Sphere Simplified Collision: В форме сферы.
Auto Convex Collision: Движок попытается автоматически создать сложную, но оптимизированную коллизию. Это мощный инструмент.
9. Подключение к GitHub (Системы контроля версий)
Способ с GitHub Desktop
Общая схема работы:
Git отслеживает изменения в файлах.
Git LFS (Large File Storage) хранит большие файлы (бинарные ассеты UE:
.uasset,.umapи др.) не в основном репозитории, а на отдельном облачном сервере, экономя место и время.GitHub Desktop предоставляет удобный графический интерфейс для работы с Git/Git LFS.
GitHub — это хостинг вашего репозитория.
Шаг 1: Предварительная настройка (Установка всего необходимого)
Установите Git: Скачайте с официального сайта. Во время установки:
Оставьте настройки по умолчанию.
В разделе "Choosing the default editor" можно выбрать удобный для вас редактор (например, VS Code).
Важно: В разделе "Adjusting the name of the initial branch" выберите
main.
Установите Git LFS: Скачайте с git-lfs.com. После установки откройте командную строку (терминал) и выполните команду для инициализации:
git lfs installВы должны увидеть сообщение
"Git LFS initialized."Установите GitHub Desktop: Скачайте с официального сайта.
Аккаунт на GitHub: Убедитесь, что у вас есть аккаунт на github.com.
Шаг 2: Настройка Git LFS для проекта Unreal Engine
Это самый важный шаг. Мы должны указать Git LFS, какие именно файлы нужно отслеживать как большие.
Создайте файл
.gitattributesв корне вашего проекта UE.Корень проекта — это папка, где лежит файл
YourProjectName.uproject.Создать его можно через любой текстовый редактор (Блокнот, VS Code и т.д.).
Добавьте в этот файл следующие строки:
Content/** filter=lfs diff=lfs merge=lfs -text *.uasset filter=lfs diff=lfs merge=lfs -text *.umap filter=lfs diff=lfs merge=lfs -textСтроки
*.uasset filter=lfs...и*.umap filter=lfs...— это приказ Git LFS взять под контроль все файлы с этими расширениями.
Сохраните файл
.gitattributes.
Шаг 3: Создание репозитория и первый коммит через GitHub Desktop
Откройте GitHub Desktop.
Добавьте ваш проект:
Нажмите
File->Add Local Repository....В поле "Path" укажите путь к корневой папке вашего UE-проекта.
Если Git не инициализирован в папке, программа предложит вам создать здесь репозиторий. Согласитесь.
Создайте репозиторий на GitHub:
В левой панели GitHub Desktop вы увидите ваш проект.
Нажмите кнопку
Publish repository.В открывшемся окне:
Name: Название вашего репозитория (обычно совпадает с названием проекта).
Description: Описание (опционально).
Keep this code private: Поставьте галочку, если проект закрытый.
Убедитесь, что в поле "Local path" указан правильный путь.
Нажмите
Publish Repository.
Сделайте первый коммит:
После публикации вы вернетесь в главное окно.
Слева вы увидите список измененных файлов.
В левом нижнем углу в поле
Summaryвведите сообщение коммита, например,"Initial commit".Важно: Убедитесь, что в коммит не попали папки
Saved,Intermediate,Binariesи т.д. (они должны быть серыми, так как мы добавили их в.gitattributesкакlinguist-generated).Нажмите кнопку
Commit to main.Чтобы отправить коммит на GitHub, нажмите кнопку
Push origin.
Шаг 4: Настройка проекта Unreal Engine для работы с Git --- НЕ РЕКОМЕНДУЕТСЯ
Откройте ваш проект (
YourProjectName.uproject).Перейдите в меню
Edit->Editor Preferences.В левой панели найдите раздел
Loading & Saving->Source Control.В правой части в выпадающем списке
ProviderвыберитеGit.Примечание: Это встроенная базовая интеграция. Она не заменяет GitHub Desktop, но добавляет иконки статуса файлов прямо в редакторе.
Закройте настройки. Перезапустите редактор.
Теперь в Content Browser вы будете видеть небольшие иконки рядом с ассетами, показывающие их статус (изменен, добавлен и т.д.).
Почему "НЕ РЕКОМЕНДУЕТСЯ" 4 шаг. Во время больших изменений, таких как перемещение пары сотен ассетов из одной папки в другую и подобные действия, вы будете вынуждены отключать привязку с Гитом, в противном случае у вас будет зависать движок приблизительно навсегда. С этим столкнулся и я, после первого отключения не включал больше.
Если у вас что-то не то с папками
Если у вас и гит, и анрил создали свои папки проекта, вам нужно их объединить, самый правильный способ — это взять все файлы из папки, где лежит проект анриловский, и перекинуть их в папку с гитом.
Способ без GitHub Desktop
Система контроля версий (VCS), такая как Git, — это стандарт для работы в команде и безопасного хранения проекта. Она позволяет отслеживать изменения, откатываться к предыдущим версиям и совместно работать над одним проектом.
Особенности UE и Git: Проекты Unreal Engine содержат много больших бинарных файлов (.uasset, .umap), которые Git в чистом виде обрабатывает плохо.
Решение: Git LFS (Large File Storage). Это расширение для Git, которое хранит большие файлы на отдельном сервере.
Краткий план подключения:
Создать репозиторий на GitHub.
Установить Git и Git LFS на компьютер.
Создать .gitignore: Специальный файл, который говорит Git, какие файлы и папки игнорировать (кэш, временные файлы). Для UE это обязательно! Используйте готовый шаблон для Unreal Engine.
Инициализировать репозиторий в папке проекта:
git init git lfs installНастроить отслеживание LFS для бинарных файлов (добавить это в файл .gitattributes):
Content/** filter=lfs diff=lfs merge=lfs -text *.uasset filter=lfs diff=lfs merge=lfs -text *.umap filter=lfs diff=lfs merge=lfs -textСделать первый коммит и отправить на GitHub.
git add . git commit -m "Initial commit" git remote add origin [ССЫЛКА_НА_ВАШ_РЕПОЗИТОРИЙ] git push -u origin main
Для новичков проще использовать GUI-клиенты, такие как GitHub Desktop (разбирается в занятии), SourceTree или иную систему. Они сильно упрощают работу с Git.