Онлайн-школа XYZ. Учим программировать для Action игр в Unreal Engine и C++

Оставить заявку

Продолжительность курса

5 месяцев

37500 руб. за курс

Записаться
Метро

Метро

Уровень подготовки

Уровень подготовки

Начальный, Продвинутый, Профессиональный

slide 1

Возраст

Взрослые

О курсе создания игр

Код бывает разным. Один код помогает свести дебет с кредитом. А другой вызывает эмоции у миллионов людей. От этого кода зависит как летит пуля. И как она попадает во врага.Этот код используется для создания игр на движке UNREAL.
{ Почему unreal }std::cout << Есть пять главных причин, по которым стоит учиться работать именно в Unreal.
1. С++, на котором работает Unreal — это язык, который используется во всей индустрии.

2. Открытость исходного кода.

3. Развитый геймплейный фреймворк с отличной поддержкой сети.

4. Наличие выпущенных ААА и AA тайтлов.

5. Политика «заработай миллион, а потом плати»<< std::endl
{ для кого этот курс }std::cout << Курс в первую очередь рассчитан на людей, которые увлекаются программированием, и которые хотят научиться создавать игры.

Для тех, кому было бы интересно работать над геймплеем, а именно — писать код, который позволит персонажам двигаться, перемещаться, стрелять и взаимодействовать с окружающим миром.
<< std::endl
{ ЧЕМУ ТЫ НАУЧИШЬСЯ НА КУРСЕ }
Реализовывать основные шутерные механики в Unreal Engine 4
Грамотно проходить код-ревью
Работать с системой контроля версий Perforce
Проходить тестирование
Заказать звонок

Программа курса создания игр

Программа курса Онлайн-школа XYZ. Учим программировать для Action игр в Unreal Engine и C++
  • Часть_1::Введение { Обзор курса { Что такое программирование игровой логики. Чему научат на курсе Какие технологии будут использоваться и требования на курсе } Установка и настройка окружения { Устанавливаем UE4 Устанавливаем Visual Studio C++ community edition } Создание нового проекта { Используем шаблон UE4 blank project Обзор редактора Базовые инструменты создания уровней { Асtor'ы и статические меши (static meshes) BSP кисти и работа с ними Простой Grid-материал } } С++ в Unreal Engine { Для тех кто в С++ впервые: почему 2 файла (.h и .cpp) Объектная модель. Классы UObject, AActor, UActorComponent Система рефлексии в UE4: UPROPERTY(), UFUNCTION() и т.д. Еще один момент для тех кто в С++ впервые: что такое указатели и как их используют. } Сборка игры { Visual studio solution: проекты engine (UE4) и самой игры. Конфигурации билдов (DebugGame Editor, Development editor, DebugGame, Development, Shipping) Внесение изменений в код и их подгрузка редактором (full rebuild vs. hot reload vs. live coding) Сборка и упаковка (packaging) игры. } Настройка оставшегося окружения: трекер задач и система контроля версий { Perforce как предпочтительная система контроля версий. Обзор других вариантов - git, SVN, Plastic SCM Трекеры задач Jira и Trello
  • Часть_2::Создание персонажа с нуля на С++. Обработка ввода, перемещение персонажа и анимационная система в Unreal Engine. { Классы ACharacter и UCameraComponent { Классы AActor и Pawn в UE4 Компонент Camera component } Обработка ввода и простое перемещение. Movement Component. { Таблицы ввода, input actions и input axis Компонент Movement component и режимы перемещения UInputComponent и Обработка ввода } Анимации персонажа. Класс Anim Instance и Animation blueprint { Скелетные меши (skeletal mesh) { Что такое Skeletal mesh, скелет, как работают скелетные анимации. Что такое физический ассет. Импорт скелетной меши из DCC в проект UE4. } Animation sequence и animation montage { Класс Anim instance class и animation blueprint Animation blueprint state machine Animation blendspace и простая анимация перемещения персонажа } } Реализация прыжка, приседания и бега { Обрабатываем ввод (нажатие "пробела", "ctrl", "sprint") Вызываем соответствующий метод у персонажа Поддержка анимации } }
  • Часть_3::Оружие { Оружие ближнего боя { Импорт модели оружия Создание классов BaseWeapon и MeleeWeapon Экипировка оружия персонажем. Прикрепление к слотам. Атака оружием ближнего боя. Обработка ввода и анимация. Хит капсула и тесты на попадание { Отладочная отрисовка } Применение удара к объектам { Нанесение урона Добавление импульса } Дополнительные анимации { Стойка персонажа Анимации доставания и убирания оружия } } Основы оружия дальнего боя: хит скан (hit scan) { Импорт модели оружия дальнего боя: оружие + магазин Реализация механики стрельбы { Обработка ввода Поддержка анимаций } Регистрация попадания через hit scan. { Отладочная отрисовка } Добавление визуальных эффектов { Следы от выстрелов Дульная вспышка } } Оружие дальнего боя: амуниция, скорострельность, прицеливание (ADS) { Амуниция { Поддержка количества патронов в обойме Анимация перезарядки } Автоматический огонь { Новое оружие - автомат. Поддержка режима автоматического огня и различной скорострельности Добавление отдачи и разброса } Прицеливание (Adding aiming down - ADS) { Анимация прицеливания Эффект приближения Уменьшение отдачи и разброса } } Оружие дальнего боя: дробовики { Регистрация попадания дробовика - конус поражения, множественные хит-сканы) Перезарядка дробовика. } Регистрация попадания через снаряды ("проджектайлы" - projectiles) { Сложная баллистика (гравитация и рикошет) Projectile movement component Делаем снайперскую винтовку { Несколько режимов прицеливания Регистрация попадания через снаряды } } Взрывы { Создаем взрывающийся Actor - бочку. Зона взрыва. Регистрация урона от взрыва Нанесение урона и добавление импульса. } Гранаты { Создаем гранату Бросаем гранату (анимации персонажа) Траектория гранаты - обработка отскоков Таймер гранаты } }
  • Часть_4::Искусственный интеллект NPC. AI персонажи. AI контроллеры, Blackboards, навигация и дерево поведения { Создание "стационарного" NPC - башни. { Создание классов AICharacter и AIAnimationInstance AIcontroller и TeamID Blackboard. Установка врага в blackboard. (по попаданию в радиус) Обработка значений blackboard в AIController'е. { Если игрок попадает в радиус стрельбы "башни", то она открывает по нему огонь. } } Чувства и система восприятия { Perception system. Система восприятия Perception System. Чувство зрения AI_SenseSight Добавление зрения к "башне" } Навигация. Создаем перемещающегося персонажа { Создание движущегося персонажа (например, "зомби") Навигационная сетка (Navigation mesh) { Что такое навигационная сетка? Создание навигационной сетки в UE4. NavMesh объем Модификаторы навигации } Добавляем перемещение } Дерево поведений { Новый AI Character c оружием дальнего боя. Имеет 2 варианта поведения: патрулирование и бой с игроком. Что такое дерево поведений (Behavior tree)? Узлы дерева поведения: { Composties Decorators Services Tasks } Вэйпоинты. Реализация состояния патрулирования. Переключение между режимами боя и патрулирования. } }
  • Часть_5::UI, Система инвентаря, Интерактивные объекты и триггеры { Система UMG и виджеты { Виджеты игрока { Полоса здоровья Амуниция Прицел } Полосы здоровья у врагов Создаем меню } Экипировка. Колесо выбора. { Компонент EquipmentСomponent для сохранения оружия игрока Колесо выбора (weapon wheel) } Подбираемые (pickable) и потребляемые (consumables) предметы { Компонент PickableItem и блупринт поднимаемого предмета. { Создадим поднимаемые блупринты для существующего оружия. } Потребляемые предметы. { Аптечка (восстанавливает здоровье) Адреналин (увеличивает скорость) } } Инвентарь { Компонент InventoryComponent для сохранения подобранных предметов Виджет инвентаря Экипировка оружия из интвентаря. Использования предметов из инвентаря } Интерактивные объекты { Компонент InteractiveСomponent { Определяем интерактивный компонент по линии взгляда (Line of sight) Определяем интерактивный компонент по пересечению с объемом } Пример интерактивного объекта: Двери Пример интерактивного объекта: Лифты } Триггеры { Использование триггеров для вызова врагов } }
  • Часть_6::Сеть и репликация { Обзор Game flow в Unreal engine. Game mode и game state. { UE4 game flow, класс game instance Классы Game mode и game state } Репликационная модель в Unreal engine { Клиент-серверная модель в UE Режим сети и типы серверов Типы репликаций { Репликация Экторов (Actor replication) Репликация свойств (Property replication) Вызов удаленных процедур (RPCs) } Сетевые роли } Репликация игровых механик { Репликация экторов и перемещения. Тестирование репликации в UE4 Репликация здоровья игрока Репликация регистрации попаданий { Репликация hit scan Репликация снарядов } Репликация искусственного интеллекта } Создание многопользовательской сессии и присоединение к ней { Создание сессии Поиск и присоединение к сессии } }
  • Часть_7::Система сохранения в Unreal, Стриминг уровней. (2 недели) { Сохранение игры { Класс USaveGame Типы сохранения и загрузки (asynchronous, synchronous, binary) Сохранение свойств игрока { Сохранение локации Сохранение здоровья } Сохранение интерактивных объектов } Загрузка уровней { Функция Open level Использование open level в сетевой игре. Перемещение из лобби в другие карты. Сохранение текущего уровня в одиночной игре с помощью USaveGame } Стриминг уровней { Создание persistent level Использование streaming volumes для стриминга Загрузка и выгрузка подуровней через C++ } Сохранение вместе со стримингом { Сохранение интерактивных объектов в выгруженном уровне Загрузка состояния интерактивных объектов в загруженном уровне } }
  • Часть_8::Профилирование и оптимизация в UE4 { Инструменты профилирования: STAT команды, Session frontend и Unreal Insights Significance manager и Animation sharing { Настройки производительности обновления SkeletalMesh Стоимость обновления AI controller и задач поиска путей. Использование significance manager для оптимизации обновления персонажей Использование significance manager для оптимизации анимаций персонажей } }
Читать подробнее Скрыть

Отзывы о курсе

Рейтинг: 5 (9 отзывов)
Качество обучения
Программа курса
Преподаватели
Расположение
Помещение и инфраструктура школы
Соотношение цена/качество

Остались вопросы?

Оставьте свой номер и мы вам перезвоним!

Оставить заявку
Фотографии, видео, текст взяты из открытого источника - https://www.school-xyz.com/gamecode. Автор произведений не известен. Данные материалы используются исключительно в информационных, учебных и новостных целях.
Оставьте ваши контактные данные и мы перезвоним в течение 12 минут!
Нажимая на кнопку, вы соглашаетесь с Политикой конфиденциальности и даете согласие на обработку персональных данных.