Unreal Engine — полное руководство по разработке на С++
What you'll learn
- Программирование на C++ под Unreal Engine
- Архитектура Unreal Engine
- AI: деревья поведений, таски, декораторы, сервисы, EQS
- UMG: программирование пользовательских интерфейсов
- VFX: создание Niagara спецэффектов
- Программирование анимаций
- Писать чистый код
- Основные методы рефакторинга
- Управление звуковыми эффектами
- Сборка игры
Requirements
- Базовые знания одного из объектно-ориентированных языков программирования: C++, C#, Java, Python (или уверенное владение blueprint scripting)
- Минимальные знания Unreal Editor
- Basic knowledge of one of the object-oriented programming languages: C++, C #, Java, Python (or proficiency in blueprint scripting)
- Minimum knowledge of Unreal Editor
Description
В данном курсе вы научитесь программировать на C++ под Unreal Engine.
Мы начнем с основ С++ в Unreal Engine и подробно разберем архитектуру фреймворка. Рассмотрим всю базу, которая необходима для воплощения собственных идей в жизнь в Unreal Engine.
Основной проект курса — шутер от третьего лица ShootThemUp, который мы последовательно будем разрабатывать, погружаясь в различные подсистемы и детали движка. Вместе мы рассмотрим все ключевые концепты и напишем очень много кода на C++. В каждом разделе курса будут домашние задания и тесты для закрепления пройденного материала. В конце каждой главы мы будем производить рефакторинг, повышая качество и чистоту нашего кода, и упаковывать игру.
К концу курса у нас будет полноценная игра, багаж знаний пополнится всем необходимым для комфортного использования C++ в Unreal Engine, а понимание работы движка будет совершенно на другом уровне. В дальнейшем вы сможете развивать полученные навыки в интересующем вас направлении, создавать игры и реализовать все идеи самостоятельно.
Курс разработан под версию Unreal Engine 4.26. Проекты курса совместимы с 4.27 и Unreal Engine 5.0.
В курсе мы разберем следующие темы:
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! Присоединяйтесь! Будет интересно!
------------------------------------------------------------------
In this course, you will learn how to use C++ in Unreal Engine.
We'll start with the basics of C++ in Unreal Engine and go over the architecture of the framework in detail. You will learn everything that is needed to bring your own ideas to life with Unreal Engine.
The main project of the course is the third-person shooter - ShootThemUp, which we will consistently develop, we will wive into various subsystems and engine details. Together we will cover all the key concepts and write a lot of C++ code. Each section of the course contains homework and tests to reinforce the material covered. At the end of each chapter, we will refactor our code to improve the quality and clarity of our code and also will package the game.
By the end of the course, we will have a full-fledged game, and the understanding of the engine will be on a completely different level. In the future, you will be able to develop the acquired skills in the direction you are interested in, create games and implement all ideas on your own.
The course is developed for Unreal Engine 4.26. Course projects are compatible with 4.27 and Unreal Engine 5.0.
The course is covering the following topics:
Unreal Framework: core classes, types, macros, delegates, property system
Compiling the project: modules, targets
Garbage collector
Unreal Engine Component Model
Animation programming: state machine, FABRIK, anim notifies
UMG: user interfaces
Niagara visual effects
Collision handling
Physical materials
Postprocessing
Artificial intelligence: behavior trees, tasks, services, decorators, EQS
AI component of enemy perception
Sound Control: SoundCue, SoundClass, SoundMix, Attenuation settings
Controlling the game process: GameMode, PlayerState, GameInstance
Dynamic level loading
Unreal Engine is in demand in various modern industries: games, mobile applications, simulations, education, architecture, design, VR/AR/XR, filmmaking. Knowledge of C++ will increase your competitiveness in the job market.
Any idea could be realized using C++. You are not limited in your capabilities - you create these opportunities by yourself.
It's time to start diving into Unreal Engine! Join us! It will be interesting!
Who this course is for:
- Начинающие и среднего уровня разработчики Unreal Engine
- Blueprint программисты, которые хотят научиться разрабатывать на C++
- Разработчики под другие движки (Unity3D, CryEngine, Godot и т.д.), желающие освоить Unreal Engine
- Если у вас нулевой опыт программирования, курс может показаться сложным. Рекомендую начать с основ C++
- Beginner and Intermediate Unreal Engine Developers
- Blueprint programmers who want to learn how to develop in C++
- Developers for other engines (Unity3D, CryEngine, Godot, etc.) who wants to study Unreal Engine
- If you have zero programming experience, the course may seem complex. I recommend starting with the basics of C++
Instructor
Всем привет! Меня зовут Юрий. Я занимаюсь разработкой программного обеспечения более 10 лет, 5 из которых использую Unreal Engine в коммерческих и собственных проектах.
Окончил ВМиК МГУ. Работал над проектами в различных сферах: от игр и мобильных приложений до интерактивных инсталляций и программирования микроконтроллеров.
На данный момент являюсь инженером компьютерной графики и работаю в индустрии виртуальной реальности в Финляндии.
Мне нравится рассказывать сложные вещи простым языком. Я уверен, мой опыт и курс будут полезны в освоении профессии разработчика игр. Считаю, что теория и практика одинаковы важны, а для глубокого усвоения материала все концепты теории должны быть объяснены на примерах по фейнмановскому методу.
Профессиональная область интересов: разработка игр, С++, компьютерное зрение, DevOps, трекинг системы, процедурная графика, VR/XR/AR.
Вступайте в ряды разработчиков компьютерных игр. Буду рад вас видеть на моем курсе.
----------------------------------------------
Hello everyone! My name is Yuri. I have been in software development for over 10 years, 5 of which have been using Unreal Engine in commercial and in-house projects.
Graduated from Moscow State University. Have experience in various software fields: from games and mobile applications to interactive installations and microcontroller programming.
Currently, I am a computer graphics engineer and working in the virtual reality industry.
I like to explain difficult things in simple language. I am sure my experience and my course will be useful in mastering the profession of a game developer. I believe that theory and practice are equally important, and for a deep understanding of the material, all concepts of the theory should be explained using examples according to the Feynman method.
Professional area of interest: game development, C++, computer vision, DevOps, tracking systems, generative graphics, VR/XR/AR.
Join the game developers community. I will be glad to see you on my course.