Справочник по Unreal Engine
Назначение
Горячие клавиши, макросы, консольные команды и форматы Unreal Engine для ежедневной работы. Учебный курс: Unreal Engine, раздел Разработка игр.
Содержание
- Блок 1. Lifecycle, Actor, Component, Reflection
- Блок 2. Коллизии, физика, trace
- Блок 3. Сеть: репликация и RPC
- Блок 4. Редактор, консоль, профилирование
- Блок 5. Проект, сборка, ассеты
Блок 1. Lifecycle, Actor, Component, Reflection
Actor lifecycle (основные события)
| Метод / событие | Когда | Примечания |
|---|---|---|
Constructor (C++) | Создание объекта (CDO и экземпляры) | Только настройка defaults; не вызывайте GetWorld() |
PostInitializeComponents | После инициализации компонентов | Редко переопределяют |
BeginPlay | Старт игры для актора | Аналог Start в Unity; мир уже доступен |
Tick(float DeltaTime) | Каждый кадр | Отключите в конструкторе: PrimaryActorTick.bCanEverTick = false |
EndPlay(EEndPlayReason::Type) | Уничтожение, смена уровня, выход | Очистка подписок, таймеров |
OnConstruction | В редакторе при изменении актора | Не вызывается в packaged build по умолчанию |
Component: BeginPlay / Tick / EndPlay у UActorComponent — если компонент включён и актор в игре.
Иерархия (кратко)
| Тип | Роль |
|---|---|
UObject | База: GC, serialization, reflection |
AActor | Объект в UWorld |
APawn | Управляемое тело |
ACharacter | Pawn + UCharacterMovementComponent + capsule |
APlayerController | Ввод, камера, HUD |
AGameModeBase | Правила (сервер) |
UActorComponent | Логика без transform |
USceneComponent | Transform в иерархии компонентов |
Макросы reflection (C++)
| Макрос | Назначение |
|---|---|
UCLASS(Blueprintable) | Класс наследуется в Blueprint |
UCLASS(BlueprintType) | Можно использовать как тип переменной в BP |
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="…") | Поле в Details и Blueprint |
UPROPERTY(Replicated) | Сетевая репликация (нужен GetLifetimeReplicatedProps) |
UFUNCTION(BlueprintCallable) | Вызов из Blueprint |
UFUNCTION(BlueprintImplementableEvent) | Реализация только в BP |
UFUNCTION(Server, Reliable) | RPC на сервер |
UFUNCTION(Client, Reliable) | RPC на владельца клиента |
UFUNCTION(NetMulticast, Reliable) | RPC всем клиентам |
GENERATED_BODY() | Обязателен в теле UCLASS |
UHT / UBT: после изменения .h с U* макросами — пересборка. Файл *.generated.h подключается последним в заголовке.
Blueprint vs C++
| Blueprint | C++ | |
|---|---|---|
| Выполнение | Blueprint VM (байткод) | Нативный код |
| Скорость | Медленнее на hot path | Максимальная |
| Итерация | Быстрая в редакторе | Дольше (компиляция) |
| Доступ к движку | Через BlueprintCallable API | Полный |
Блок 2. Коллизии, физика, trace
Ответы коллизии
| Ответ | Поведение |
|---|---|
| Ignore | Нет взаимодействия |
| Overlap | Событие пересечения, без физической блокировки |
| Block | Столкновение, физика останавливает объект |
Object Types и Channels
- Object Type — «кто я» (WorldStatic, Pawn, Vehicle…).
- Trace Channel — для line/sphere trace (
Visibility,Camera, custom). - Object Channel — для object queries между типами.
Настройка: Project Settings → Collision или per-component Collision Presets.
Line trace (пример)
FHitResult Hit;
FCollisionQueryParams Params;
Params.AddIgnoredActor(this);
bool bHit = GetWorld()->LineTraceSingleByChannel(
Hit,
Start,
End,
ECC_Visibility,
Params
);
Chaos (UE5)
Физика по умолчанию — Chaos (не PhysX). UPrimitiveComponent + Simulate Physics или forces через AddImpulse / AddForce.
Блок 3. Сеть: репликация и RPC
| Понятие | Описание |
|---|---|
| Authority | Сервер — источник правды для gameplay |
| Replication | Автосинхронизация UPROPERTY(Replicated) |
| RPC | Разовый вызов функции на другой machine |
| Relevancy | Клиент получает обновления только «важных» акторов |
void AMyActor::GetLifetimeReplicatedProps(TArray<FLifetimeProperty>& OutLifetimeProps) const
{
Super::GetLifetimeReplicatedProps(OutLifetimeProps);
DOREPLIFETIME(AMyActor, MyReplicatedInt);
DOREPLIFETIME_CONDITION(AMyActor, MyConditionalFloat, COND_OwnerOnly);
}
Правило: меняйте replicated-переменные на сервере. RPC Server — клиент просит сервер; Client — сервер шлёт одному клиенту.
Блок 4. Редактор, консоль, профилирование
Горячие клавиши (Viewport)
| Клавиша | Действие |
|---|---|
W / E / R | Move / Rotate / Scale |
F | Focus на выбранном |
G | Game View (без gizmo редактора) |
Alt + P | Play in Editor |
Esc | Stop PIE |
Консоль (~)
| Команда | Назначение |
|---|---|
stat unit | Frame time: game, GPU, draw |
stat gpu | Разбивка GPU |
stat scenerendering | Стоимость рендера сцены |
show collision | Визуализация коллизий |
r.ScreenPercentage 100 | Масштаб рендера (TSR/DLSS влияют отдельно) |
profilegpu | GPU capture (Ctrl+Shift+,) |
Shader / PSO stutter
- Project Settings → Rendering → Shader Pipeline Cache — precaching PSO.
- Прогон уровней с PSO Precaching / сохранение Pipeline Cache перед релизом.
Блок 5. Проект, сборка, ассеты
Файлы
| Путь | Содержимое |
|---|---|
*.uproject | JSON: имя, модули, plugins |
Config/Default*.ini | Настройки по умолчанию |
Content/ | .uasset, .umap (бинарные ассеты) |
Source/ModuleName/ | C++ модуль (ModuleName.Build.cs, *.cpp, *.h) |
Plugins/ | Локальные плагины |
Типы ассетов (частые)
| Ассет | Назначение |
|---|---|
Static Mesh | Статическая геометрия |
Skeletal Mesh | Скелетная модель |
Material / Material Instance | Шейдер и параметры |
Blueprint | Визуальный класс или логика |
Level / World | Карта (.umap) |
Data Table | Табличные данные (CSV-подобные) |
Сборка
- Compile — C++ в редакторе.
- File → Package Project — финальная сборка под платформу.
- Для shipping: Staging, Shader Library, Pak файлы.
Enhanced Input (UE5)
| Тип | Роль |
|---|---|
UInputAction | Действие (Jump, Move) |
UInputMappingContext | Привязки клавиш/геймпада |
UEnhancedInputComponent | Подписка в SetupPlayerInputComponent |
Legacy BindAction / BindAxis — устаревающий путь; новые шаблоны используют Enhanced Input.
См. также
Другие статьи этого же раздела в боковом меню (как на странице «О разделе»). Разработка игр — это процесс создания видеоигр, который включает в себя множество этапов, от идеи и концепции до финального продукта. Это междисциплинарная деятельность, объединяющая… В игровой индустрии художественная работа — это техническая реализация визуальной стратегии. Каждое изображение, модель, текстура или анимация создаётся с учётом ограничений движка,… Если команда разработки — это оркестр, то продюсер или проджект-менеджер — дирижёр. Его задача — обеспечить, чтобы все участники работали в согласованном ритме, в рамках установленного бюджета и… Игровой движок как платформа - подсистемы рендеринга, физики, ввода и сценариев, ускоряющие создание видеоигр. Roblox Studio не является традиционным игровым движком, но представляет собой платформу как услугу (PaaS) с ограниченной, но эффективной средой разработки. Языки для игр на примере Unity - роль C#, стандартная библиотека, сборка мусора и продуктивность разработки под движок. Моделирование — это процесс создания трёхмерных объектов, называемых моделями, для последующего использования в цифровых средах, особенно в видеоиграх. Эти объекты могут представлять собой… Первый и фундаментальный этап — создание UV-развёртки. UV-развёртка представляет собой двумерное представление поверхности трёхмерной модели. Буквы U и V обозначают координаты на плоскости текстуры,… Для текста используется TextMeshPro — современный компонент с поддержкой шрифтов, стилей и локализации. Счёт, здоровье, уровень — всё это обновляется динамически через присвоение строки — Для работы с графикой в играх под Windows используются два основных API — DirectX и Vulkan. DirectX — это набор технологий, разработанных Microsoft специально для Windows и Xbox. Он включает в себя… Для продвижения игр используется сервис PlayStation Plus. Через него разработчики могут предложить свою игру миллионам подписчиков в рамках программ Игры месяца или Новые релизы. Участие в таких… Nintendo - консоли, аксессуары вроде Pro Controller и устройство игровой экосистемы компании.Процесс разработки видеоигр
Дорожная карта геймдева
Команда разработки
Игровой движок
Виды игровых движков
Языки программирования игр
Моделирование
Текстуры
Гейм-дизайн
PC
PlayStation
Nintendo