loading

Logout succeed

Logout succeed. See you again!

ebook img

Программирование в Unreal Engine 5 для начинающего игродела. Основы визуального языка Blueprint. PDF

pages321 Pages
release year2022
file size23.872 MB
languageRussian

Preview Программирование в Unreal Engine 5 для начинающего игродела. Основы визуального языка Blueprint.

Программирование 5 Unreal в Engine для начинающего игродела О Л Ь ГА М А К С И М Е Н К О В А , Н И К И ТА В Е С Е Л К О Программирование 5 Unreal в Engine для начинающего игродела О С Н О В Ы В И З У А Л Ь Н О Г О Я З Ы К А B L U E P R I N T УДК 004.4 ББК 32.973.26-018 М17 Книга подготовлена в ходе работы в рамках Программы фундаментальных исследований Национального исследовательского университета «Высшая школа экономики» (НИУ ВШЭ) Максименкова, Ольга Вениаминовна. М17 Программирование в Unreal Engine 5 для начинающего игроде- ла : основы визуального языка Blueprint / Ольга Максименкова, Ни- кита Веселко. — Москва : Эксмо, 2023. — 320 с. — (Российский ком- пьютерный бестселлер. Гейм-дизайн). ISBN 978-5-04-164196-2 Unreal Engine 5 — популярный игровой движок, который поддерживается всемир- но известной компанией по производству игр Epic Games. Благодаря богатому функ- ционалу и простоте в использовании им пользуются разрабочики как крупных игро- вых проектов (Fortnite, Stalker, Bioshock), так и бесчисленных инди-игр. Руководство, которое вы держите в руках, поможет вам без труда понять внутреннюю логику UE 5, освоить его полный инструментарий и начать генерировать игровые миры и населяю- щих их персонажей не хуже легендарных геймдизайнеров. УДК 004.4 ББК 32.973.26-018 © Веселко Н.И., текст, 2022 © Максименкова О.В., текст, 2022 ISBN 978-5-04-164196-2 © Оформление. ООО «Издательство «Эксмо», 2023 (cid:2)(cid:3)(cid:4)(cid:5)(cid:6)(cid:4)(cid:7)(cid:8)(cid:9)(cid:7) Благодарности и посвящение  .................................................................................. 5 Об авторах  .............................................................................................................. 5 Как устроена эта книга?  ........................................................................................... 6 (cid:2)(cid:3)(cid:4)(cid:5)(cid:4)(cid:6)(cid:7)(cid:4). (cid:8)(cid:9)(cid:10)(cid:11)(cid:3)(cid:12)(cid:13) (cid:7)(cid:6)(cid:5)(cid:14)(cid:15)(cid:16)(cid:10)(cid:7)(cid:13) 8 Сообщество и события  ............................................................................................ 9 Unreal Engine 5  ....................................................................................................... 11 Создание миров и совместная работа  .................................................................... 16 (cid:17)(cid:18)(cid:12)(cid:3)(cid:12) 1. (cid:19)(cid:15)(cid:6)(cid:11)(cid:3)(cid:20) (cid:10)(cid:12)(cid:21)(cid:10)(cid:12)(cid:22)(cid:11)(cid:16)(cid:23)(cid:7) (cid:7)(cid:9)(cid:10) 18 Игры и игроки  .......................................................................................................  19 Что такое игровые механики и с чем их «едят»?  ...................................................... 24 Игровые циклы и циклы разработки игр: смешать, но не путать  .............................. 25 Что такое игровая документация?  .......................................................................... 26 (cid:17)(cid:18)(cid:12)(cid:3)(cid:12) 2. (cid:8)(cid:9)(cid:10)(cid:11)(cid:3)(cid:20)(cid:4) (cid:5)(cid:3)(cid:7)(cid:24)(cid:23)(cid:7) 28 Как делают игры?  .................................................................................................. 29 Что такое игровой движок?  .................................................................................... 30 Особенности Unreal Engine  .................................................................................... 32 (cid:17)(cid:18)(cid:12)(cid:3)(cid:12) 3. (cid:25)(cid:12)(cid:22)(cid:11)(cid:16)(cid:12) (cid:15) (cid:23)(cid:11)(cid:6)(cid:16)(cid:4)(cid:6)(cid:16)(cid:11)(cid:26) (cid:7) (cid:10)(cid:4)(cid:15)(cid:14)(cid:10)(cid:15)(cid:12)(cid:26)(cid:7) 36 Установка Unreal Engine и создание первого проекта  .............................................. 37 Интерфейс редактора  ...........................................................................................  41 Стандарты наименования ассетов .......................................................................... 42 Контент- браузер  .................................................................................................... 43 Импорт  ................................................................................................................. 44 Текстуры  ............................................................................................................... 46 Материалы  ............................................................................................................ 49 Текстуры в виджетах (UMG)  ..................................................................................... 51 Статические меши  ................................................................................................. 52 UV-развертки  ........................................................................................................ 53 Создание материала с нуля  ................................................................................... 54 Экземпляр материала  ........................................................................................... 58 Уровень детализации (LOD)  ................................................................................... 60 Редактор статических мешей  ................................................................................. 60 Акторы статических мешей  .................................................................................... 66 Пользовательские настройки коллизий  .................................................................. 68 Скелеты и скелетные меши  .................................................................................... 72 Импорт  ................................................................................................................. 77 Аудио  .................................................................................................................... 79 (cid:17)(cid:18)(cid:12)(cid:3)(cid:12) 4. (cid:19)(cid:15)(cid:6)(cid:11)(cid:3)(cid:20) Blueprints 86 Визуальный язык программирования и его элементы  ............................................ 88 Переменные и типы данных  ................................................................................... 92 Функции, события и макросы  ................................................................................ 95 4 • (cid:19)(cid:17)(cid:27)(cid:28)(cid:2)(cid:27)(cid:29)(cid:30)(cid:8)(cid:29) Узлы контроля потока выполнения программы  ....................................................  104 Таймеры и таймлайны  .......................................................................................... 113 Объектно ориентированное программирование в Unreal Engine5  ......................... 119 Классы в Unreal Engine  ......................................................................................... 131 Настройка Input отображения для ввода данных  ................................................... 133 Level Blueprint  ...................................................................................................... 137 Gameplay Framework  ............................................................................................ 138 Взаимодействие объектов  ...................................................................................  142 Интерфейсы ........................................................................................................  146 Коллизии  ............................................................................................................. 154 Отладка  ............................................................................................................... 161 (cid:17)(cid:18)(cid:12)(cid:3)(cid:12) 5. (cid:8)(cid:6)(cid:16)(cid:4)(cid:10)(cid:31)(cid:4)!(cid:15) (cid:15) "(cid:11)(cid:18)#(cid:21)(cid:11)(cid:3)(cid:12)(cid:16)(cid:4)(cid:18)(cid:4)(cid:26) 164 Проектирование, ориентированное на пользователя (User- Centered Design)  .......... 165 Паттерны поведения и взаимодействия  ...............................................................  166 Что такое интерфейс?  ........................................................................................... 167 Обзор UMG  .......................................................................................................... 167 Независимый от разрешения экрана пользовательский интерфейс  ....................... 172 Работа со стандартными виджетами  ..................................................................... 177 Общие настройки виджетов  ................................................................................  190 Программирование UI  ......................................................................................... 193 Проектирование интерфейса на основе данных (Data-driven UI)  ...........................  201 (cid:17)(cid:18)(cid:12)(cid:3)(cid:12) 6. (cid:8)(cid:15)(cid:23)(cid:14)(cid:15)(cid:15)(cid:16)(cid:3)(cid:4)(cid:6)(cid:6)(cid:20)! (cid:7)(cid:6)(cid:16)(cid:4)(cid:18)(cid:18)(cid:4)(cid:23)(cid:16) 204 Искусственный интеллект в играх  ........................................................................ 205 Встроенные методы реализации ИИ в UE  ............................................................. 206 Подготовка материалов  ....................................................................................... 206 Система навигации  ............................................................................................. 209 Передвижение искусственного интеллекта  ............................................................ 214 Система патрулирования  ...................................................................................... 221 Искусственный интеллект и система восприятия  ..................................................  225 Дерево поведения  ..............................................................................................  233 Система запросов среды (EQS)  ............................................................................ 250 Создание прототипа. Часть 1  ................................................................................ 262 Создание прототипа. Часть 2  ................................................................................ 266 (cid:17)(cid:18)(cid:12)(cid:3)(cid:12) 7. (cid:28)(cid:6)(cid:7)(cid:26)(cid:12)$(cid:7)(cid:7) 270 Анимация в Unreal Engine 5 ..................................................................................  273 Animation Sequence и импорт анимации  .............................................................. 278 Анимирование движения нового персонажа  .......................................................  281 Анимация атаки и совмещение двух анимаций  .................................................... 289 Animation Layer Interface  ...................................................................................... 293 (cid:17)(cid:18)(cid:12)(cid:3)(cid:12) 8. %(cid:4)(cid:10)(cid:4)&(cid:11)(cid:5) (cid:23) ’++ (cid:23)(cid:11)(cid:5)(cid:14) 298 (cid:2)(cid:26)(cid:4)(cid:15)(cid:16)(cid:11) (cid:21)(cid:12)(cid:23)(cid:18)()(cid:4)(cid:6)(cid:7)(cid:13) 306 Создание уровня с поддержкой World Partition  ..................................................... 307 Lumen —  новая система глобального освещения  .................................................  310 Система геометрии Nanite  .................................................................................... 313 Chaos Physics —  новое решение для моделирования физики  ................................ 317 Новинки в анимации  ...........................................................................................  318 Новая аудиосистема MetaSounds  .........................................................................  318 (cid:10)(cid:4)(cid:5)(cid:3)(cid:11)(cid:12)(cid:5)(cid:13)(cid:8)(cid:11)(cid:14)(cid:15)(cid:9) (cid:9) (cid:16)(cid:11)(cid:14)(cid:6)(cid:17)(cid:18)(cid:7)(cid:8)(cid:9)(cid:7) Посвящается нашему учителю Подбельскому Вадиму Валериевичу — доктору тех- нических наук и ординарному профессору НИУ ВШЭ. Никита Веселко, Ольга Максименкова Мы выражаем глубокую признательность коллегам из игровой индустрии за обсуж- дения идеи этой книги, ценные комментарии и помощь в понимании особенностей отдельных направлений игровой разработки. Авторы также благодарят студентов программы бакалавриата «Программная инже- нерия» факультета компьютерных наук НИУ ВШЭ Шалаеву Марину, Архарова Дми- трия, Панову Екатерину, Миронова Александра, Шепелина Дмитрия и Филатова Юрия за плодотворные обсуждения сложностей, возникающих у новичков, а также за ока- занные авторам поддержку и активную помощь в подготовке некоторых текстов глав и примеров кода. (cid:2)(cid:19) (cid:5)(cid:6)(cid:15)(cid:11)(cid:13)(cid:5)(cid:20) (cid:2)(cid:4)(cid:21)(cid:3)(cid:5) (cid:22)(cid:7)(cid:8)(cid:9)(cid:5)(cid:23)(cid:9)(cid:8)(cid:11)(cid:6)(cid:8)(cid:5) (cid:24)(cid:5)(cid:25)(cid:14)(cid:9)(cid:23)(cid:7)(cid:8)(cid:25)(cid:11)(cid:6)(cid:5) — кандидат технических наук, научный сотрудник международной лаборатории интеллектуальных систем и структурного анализа ФКН, Нацио нальный исследовательский университет «Высшая школа эко- номики» (НИУ ВШЭ). (cid:26)(cid:9)(cid:25)(cid:9)(cid:15)(cid:5) (cid:22)(cid:7)(cid:14)(cid:7)(cid:4)(cid:25)(cid:11) — владелец продукта (Product Owner) в студии разработки игр IThub games, стажер-исследователь международной лаборатории интеллектуальных систем и структурного анализа ФКН, Национальный исследовательский университет «Высшая школа экономики» (НИУ ВШЭ). (cid:27)(cid:5)(cid:25) (cid:28)(cid:14)(cid:15)(cid:13)(cid:11)(cid:7)(cid:8)(cid:5) (cid:29)(cid:15)(cid:5) (cid:25)(cid:8)(cid:9)(cid:3)(cid:5)? (cid:30)(cid:31)! (cid:27)(cid:2)"(cid:2) #$% (cid:27)(cid:26)&"% За последние несколько лет Unreal Engine эволюционировал из «просто» игрового движка в мощнейший инструмент для создания цифровых интерактивных миров. Сфера применения UE, куда входят, например, мобильные игры и разработка вы- сокоточных физически корректных инженерных симуляций (какие незаменимы при создании авиационных двигателей, суперкаров и ядерных реакторов) поистине впе- чатляет! Если вы хотите попробовать себя в качестве творца высококачественных синтети- ческих миров и попытаться на новом уровне решить эту визуализационную задачу, но при этом не обладаете ни навыками программирования, ни опытом работы с та- ким огромным комплексным инструментом, как UE, эта книга поможет вам в осу- ществлении вашей мечты. ’$(cid:2) (cid:22)( (cid:26)%)(cid:30)*$* (cid:22) "(cid:31)%(cid:22)%+? Введение познакомит вас с областью геймдева и ее направлениями. Также здесь при- ведены списки основных интернет- ресурсов и мероприятий, посвященных игровой индустрии. (cid:22) (cid:16)(cid:7)(cid:13)(cid:6)(cid:11), (cid:3)(cid:4)(cid:5)(cid:6)(cid:7) содержится справочная информация о некоторых концепциях игрового дизайна. Это теоретический минимум, посвященный таким понятиям, как игры, игроки, игровая механика и игровой цикл. Здесь же вы узнаете о различных процессах разработки игр и разновидностях игровой документации. (cid:22)(cid:11) (cid:6)(cid:15)(cid:11)(cid:13)(cid:11), (cid:3)(cid:4)(cid:5)(cid:6)(cid:7) вы познакомитесь с понятием игрового движка и его характери- стиками, а также узнаете, чем отличается UE от других своих «собратьев». "(cid:4)(cid:5)(cid:6)(cid:5) (cid:15)(cid:13)(cid:7)(cid:15)(cid:21)(cid:17) посвящена работе с контентом и ресурсами в UE: как добавить кон- тент в проект, какие существуют особенности создания материалов и структур, под- робный рассказ о статических и скелетных мешах и инструментах для работы с ними в UE. Уделено внимание и работе со звуком. (cid:22) -(cid:7)(cid:15)(cid:6)(cid:7)(cid:13)(cid:15)(cid:11), (cid:3)(cid:4)(cid:5)(cid:6)(cid:7) находится информация о языке визуального программиро- вания, который называется Blueprints. Чтобы начинающим было проще погрузиться в эту тему, мы собрали в этой главе материалы по основам алгоритмизации и про- граммирования, а также сделали краткий экскурс в объектно ориентированную па- радигму разработки, подкрепленный примерами диаграмм UML. *(cid:28)* ,’-(cid:25)(cid:19)(cid:29)(cid:30)(cid:28) /-(cid:28) *(cid:30)(cid:8)(cid:17)(cid:28)? • 7 "(cid:4)(cid:5)(cid:6)(cid:5) (cid:16)(cid:17)(cid:15)(cid:5)(cid:17) повествует о парадигме проектирования интерфейсов, делающей упор на пользовательский опыт, и кратко рассказывает о паттернах поведения и взаимо- действия, важности их применения в процессе создания интерфейсов игр. Кроме того, глава познакомит вас с UMG —  инструментом проектирования пользователь- ских интерфейсов движка UE. (cid:22) .(cid:7)(cid:14)(cid:15)(cid:11), (cid:3)(cid:4)(cid:5)(cid:6)(cid:7) центральной темой является искусственный интеллект (ИИ). Здесь обсуждаются общие вопросы применения ИИ в играх и особенности его реализации посредством встроенных средств движка UE. (cid:22) (cid:14)(cid:7)(cid:12)(cid:21)(cid:23)(cid:11), (cid:3)(cid:4)(cid:5)(cid:6)(cid:7) вы познакомитесь с понятием анимации и особенностями ее ис- пользования в игровой разработке, узнаете о секвенсоре (Sequencer) и о том, как ре- ализованы анимации в UE. (cid:22)(cid:11)(cid:14)(cid:21)(cid:23)(cid:5)(cid:17) (cid:3)(cid:4)(cid:5)(cid:6)(cid:5) представляет собой небольшое введение в нюансы перехода на C++ проекты в UE. В заключение изложена информация о перспективных направлениях развития движка. (cid:22)(cid:22)*(cid:30)*(cid:26)&* &(cid:3)(cid:13)(cid:11)(cid:6)(cid:5)(cid:17) (cid:9)(cid:8)(cid:12)(cid:28)(cid:14)(cid:15)(cid:13)(cid:9)(cid:17)

See more

The list of books you might like