# Unreal Engine — полное руководство по разработке на С++

## Ссылки

{% embed url="<https://www.udemy.com/course/unrealengine/?referralCode=1DEBE7F013238C387B46>" %}

{% embed url="<https://life-exe.itch.io/shoot-them-up>" %}

## Промо видео

{% embed url="<https://youtu.be/6DM1iGw0kWM>" %}

## Описание

В данном курсе вы научитесь программировать на **C++** под **Unreal Engine**.

Мы начнем с основ **С++** в **Unreal Engine** и подробно разберем архитектуру фреймворка. Рассмотрим всю базу, которая необходима для воплощения собственных идей в жизнь в **Unreal Engine**.

Основной проект курса — шутер от третьего лица **ShootThemUp**, который мы последовательно будем разрабатывать, погружаясь в различные подсистемы и детали движка. Вместе мы рассмотрим все ключевые концепты и напишем очень много кода на **C++**. В каждом разделе курса будут домашние задания и тесты для закрепления пройденного материала. В конце каждой главы мы будем производить рефакторинг, повышая качество и чистоту нашего кода, и упаковывать игру.

К концу курса у нас будет полноценная игра, багаж знаний пополнится всем необходимым для комфортного использования **C++** в **Unreal Engine**, а понимание работы движка будет совершенно на другом уровне. В дальнейшем вы сможете развивать полученные навыки в интересующем вас направлении, создавать игры и реализовать все идеи самостоятельно.

Курс разработан под последнюю версию **Unreal Engine 4.26**. Проекты курса совместимы с **Unreal Engine 5.**

В курсе мы разберем следующие темы:

* Unreal Framework: основные классы, типы, макросы, делегаты, property system
* Компилирование проекта: modules, targets
* Сборщик мусора (garbage collector)
* Компонентная модель Unreal Engine
* Программирование анимаций: стейт машина, FABRIK, anim notifies
* UMG: пользовательские интерфейсы
* Визуальные эффекты Niagara
* Обработка коллизий
* Физические материалы
* Postprocessing
* Искусственный интеллект: деревья поведения, таски, сервисы, декораторы, EQS
* AI компонент восприятия противников
* Управление звуком: SoundCue, SoundClass, SoundMix, Attenuation settings
* Контролирование процесса игры: GameMode, PlayerState, GameInstance
* Динамическая подгрузка уровней

**Unreal Engine** востребован в различных современных индустриях: игры, мобильные приложения, симуляторы, образование, архитектура, дизайн, **VR/AR/XR**, кинопроизводство. Знание **C++** на порядок увеличит вашу конкурентную способность на рынке.

Используя **C++**, можно реализовать совершенно любую идею. Вы не ограничены в своих возможностях — вы создаете эти возможности сами.

## Для кого этот курс

* Начинающие и среднего уровня разработчики **Unreal Engine**
* Blueprint программисты, которые хотят научиться разрабатывать на **C++**
* Разработчики под другие движки (**Unity3D, CryEngine, Godot** и т.д.), желающие освоить **Unreal Engine**
* Если у вас нулевой опыт программирования, курс может показаться сложным. Рекомендую начать с основ **C++**

## Минимальные требования

* Базовые знания одного из объектно-ориентированных языков программирования: **C++, C#, Java, Python** (или уверенное владение **blueprint scripting**)
* Минимальные знания **Unreal Editor**
