Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Искусство создания сценариев в Unity. Практические советы и приемы создания игр профессионального уровня на C# в Unity

Покупка
Артикул: 816362.01.99
Доступ онлайн
639 ₽
В корзину
Это простое и доступное руководство, в котором вы найдете полезные советы и современные приемы программирования игр на C# в Unity. Десять исчерпывающих глав книги содержат практические и наглядные примеры творческого подхода к программированию на C# и созданию коммерчески успешных игр профессионального уровня. Вы научитесь наделять игровых персонажей впечатляющим искусственным интеллектом, настраивать камеры для создания эффектов постобработки и управлять сценой, опираясь на понимание компонентной архитектуры. Кроме того, вы познакомитесь с классами .NET, позволяющими повысить надежность программ, увидите, как обрабатывать наборы данных, такие как файлы CSV, и как создавать сложные запросы к данным. Прочтя эту книгу до конца, вы станете сильным разработчиком Unity, вооруженным множеством инструментов и приемов быстрой и эффективной разработки коммерческих игр. Издание предназначено для студентов, преподавателей и специалистов, знакомым с Unity, а также с основами программирования. Неважно, как давно вы знакомы с Unity, в этой книге вы найдете важную и полезную информацию, которая поможет вам эффективно наладить процесс создания игр.
Торн, А. Искусство создания сценариев в Unity. Практические советы и приемы создания игр профессионального уровня на C# в Unity : практическое руководство / А. Торн ; пер. с англ. Р. Н. Рагимова. - 2-е изд - Москва : ДМК Пресс, 2023. - 362 с. - ISBN 978-5-89818-343-1. - Текст : электронный. - URL: https://znanium.com/catalog/product/2102630 (дата обращения: 22.11.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов
Алан Торн

Искусство создания сценариев 
в Unity

Mastering Unity 
Scripting

Alan Thorn

Learn advanced C# tips and techniques to make 
professional-grade games with Unity

BIRMINGHAM – MUMBAI

Практические советы и приемы создания игр 
профессионального уровня на C# в Unity

Искусство создания 
сценариев в Unity

Москва, 2023

Алан Торн

2-е издание, электронное

УДК 004.4’2Unity3D
ББК 32.972
Т60

Т60
Торн, Алан.
Искусство создания сценариев в Unity. Практические советы и приемы создания 
игр профессионального уровня на C# в Unity / А. Торн ; пер. с англ. Р. Н. Рагимова. — 2-е изд., эл. — 1 файл pdf : 362 с. — Москва : ДМК Пресс, 2023. — Систем. требования: Adobe Reader XI либо Adobe Digital Editions 4.5 ; экран 10". — Текст : электронный.

ISBN 978-5-89818-343-1

Это простое и доступное руководство, в котором вы найдете полезные советы и современные приемы программирования игр на C# в Unity. Десять исчерпывающих глав книги содержат 
практические и наглядные примеры творческого подхода к программированию на C# и созданию коммерчески успешных игр профессионального уровня.
Вы научитесь наделять игровых персонажей впечатляющим искусственным интеллектом, 
настраивать камеры для создания эффектов постобработки и управлять сценой, опираясь на 
понимание компонентной архитектуры. Кроме того, вы познакомитесь с классами .NET, позволяющими повысить надежность программ, увидите, как обрабатывать наборы данных, такие 
как файлы CSV, и как создавать сложные запросы к данным. Прочтя эту книгу до конца, вы 
станете сильным разработчиком Unity, вооруженным множеством инструментов и приемов 
быстрой и эффективной разработки коммерческих игр.
Издание предназначено для студентов, преподавателей и специалистов, знакомым с Unity, 
а также с основами программирования. Неважно, как давно вы знакомы с Unity, в этой книге 
вы найдете важную и полезную информацию, которая поможет вам эффективно наладить процесс создания игр.

УДК 004.4’2Unity3D 
ББК 32.972

Электронное издание на основе печатного издания: Искусство создания сценариев в Unity. Практические 
советы и приемы создания игр профессионального уровня на C# в Unity / А. Торн ; пер. с англ. Р. Н. Рагимова. — Москва : ДМК Пресс, 2016. — 362 с. — ISBN 978-5-97060-381-9. — Текст : непосредственный.

Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы 
то ни было средствами без письменного разрешения владельцев авторских прав.
Материал, изложенный в данной книге, многократно проверен. Но поскольку вероятность технических ошибок все равно существует, издательство не может гарантировать абсолютную точность и правильность приводимых сведений. В связи с 
этим издательство не несет ответственности за возможные ошибки, связанные с использованием книги.

В соответствии со ст. 1299 и 1301 ГК РФ при устранении ограничений, установленных техническими средствами защиты авторских 
прав, правообладатель вправе требовать от нарушителя возмещения убытков или выплаты компенсации.

ISBN 978-5-89818-343-1
© 2015 Packt Publishing
© Оформление, перевод, ДМК Пресс, 2016

Содержание

Об авторе ................................................................10
О технических рецензентах ....................................... 11
Предисловие ...........................................................13

Глава 1. Основы C# в Unity ..........................................19

Почему C#?  ..........................................................................................................20
Создание файлов сценариев  ...........................................................................21
Подключение сценариев ...................................................................................24
Переменные ..........................................................................................................26
Условные операторы  .........................................................................................28
Оператор if  ....................................................................................................28
Оператор switch ...........................................................................................31
Массивы  ................................................................................................................34
Циклы .....................................................................................................................37
Цикл foreach  .................................................................................................38
Цикл for  ..........................................................................................................39
Цикл while  .....................................................................................................40
Бесконечные циклы  ...................................................................................42
Функции.................................................................................................................42
События  .................................................................................................................45
Классы и объектно­ориентированное программирование  ..................46
Классы и наследование  ....................................................................................49
Классы и полиморфизм  ...................................................................................51
Свойства в C#  .....................................................................................................55
Комментарии  .......................................................................................................57
Видимость переменных  ...................................................................................60
Оператор ?  ............................................................................................................62
Методы SendMessage и BroadcastMessage  ................................................62
Итоги  ......................................................................................................................65

Глава 2. Отладка .......................................................66

Ошибки компиляции и консоль  ...................................................................67
Отладка с помощью Debug.log – определяемые программистом 
сообщения  .............................................................................................................70
Переопределение метода ToString  ...............................................................73

 Содержание

Визуальная отладка  ...........................................................................................76
Регистрация ошибок ..........................................................................................80
Отладка с помощью редактора  ......................................................................85
Профилирование  ................................................................................................87
Отладка с помощью MonoDevelop – начало .............................................92
Отладка с помощью MonoDevelop – окно Watch  ...................................97
Отладка с помощью MonoDevelop – продолжение и пошаговый 
режим  .................................................................................................................. 101
Отладка с помощью MonoDevelop – стек вызовов  ............................. 103
Отладка с помощью MonoDevelop – окно Immediate ......................... 105
Отладка с помощью MonoDevelop – точки останова с условием  ... 107
Отладка с помощью MonoDevelop – точки трассировки  ................. 108
Итоги  ................................................................................................................... 111

Глава 3. Синглтоны, статические члены,  
игровые объекты и миры ..........................................112

Игровые объекты ............................................................................................. 112
Взаимодействия компонентов ..................................................................... 114
Функция GetComponent  ....................................................................... 116
Получение нескольких компонентов ................................................ 117
Компоненты и сообщения  .................................................................... 118
Игровые объекты и игровой мир  ............................................................... 120
Поиск игровых объектов ........................................................................ 120
Сравнение объектов ................................................................................. 122
Получение ближайшего объекта  ........................................................ 123
Поиск любого объекта определенного типа  ................................... 124
Проверка препятствий между игровыми объектами ................... 124
Доступ к иерархии объектов  ................................................................ 126
Игровой мир, время и обновление  ............................................................ 128
Правило № 1 – важность событий обновления кадров  ............. 130
Правило № 2 – движение должно основываться на времени  .... 130
Неуничтожаемые объекты  ........................................................................... 132
Синглтоны и статические переменные  ................................................... 134
Итоги  ................................................................................................................... 138

Глава 4. Событийное программирование ....................139

События  .............................................................................................................. 140
Управление событиями .................................................................................. 144
Основы управления событиями с помощью интерфейсов  ....... 145
Создание класса EventManager  .......................................................... 148

Содержание  7

Директивы #region и #endregion для свертывания кода 
в MonoDevelop  ................................................................................................. 153
Использование EventManager  ............................................................ 154
Альтернативный способ, основанный на делегировании  .......... 155
События класса MonoBehaviour  ........................................................ 159
События мыши и сенсорной панели  ................................................. 160
Фокус приложения и пауза  .................................................................. 164
Итоги  ................................................................................................................... 167

Глава 5. Камеры и отображение сцены .......................168

Визуальное представление камеры ........................................................... 168
Быть на виду  ..................................................................................................... 171
Определение видимости объекта  ....................................................... 172
Подробнее о видимости .......................................................................... 174
Проверка поля зрения – отображаемые компоненты  ................ 174
Проверка поля зрения – точки  ........................................................... 176
Проверка поля зрения – заслонение  ................................................ 176
Видимость для камеры – впереди или позади ............................... 178
Ортографические камеры ............................................................................. 179
Вывод изображения с камеры и постобработка  ................................... 183
Дрожание камеры  ........................................................................................... 189
Камеры и анимация  ........................................................................................ 192
Сопровождающие камеры  .................................................................... 193
Управление движением камеры  ................................................................. 195
Траектория камеры – iTween  ............................................................... 197
Итоги  ................................................................................................................... 201

Глава 6. Работа с фреймворком Mono ........................202

Списки и коллекции ....................................................................................... 203
Класс List  .................................................................................................... 204
Класс Dictionary  ....................................................................................... 207
Класс Stack  ................................................................................................. 208
Интерфейсы IEnumerable и IEnumerator  ............................................... 210
Перебор врагов с помощью интерфейса IEnumerator  ................ 211
Строки и регулярные выражения .............................................................. 216
Null, пустые строки и пробелы  ............................................................ 216
Сравнение строк  ...................................................................................... 217
Форматирование строк .......................................................................... 219
Цикл по символам строке  ..................................................................... 219
Создание строк  ......................................................................................... 220

 Содержание

Поиск в строках  ........................................................................................ 220
Регулярные выражения  ......................................................................... 220
Произвольное количество аргументов  .................................................... 222
Язык интегрированных запросов  .............................................................. 223
Linq и регулярные выражения  ................................................................... 226
Работа с текстовыми ресурсами .................................................................. 227
Текстовые ресурсы – статическая загрузка  .................................... 227
Текстовые ресурсы – загрузка из локальных файлов  ................. 228
Текстовые ресурсы – загрузка из INI­файлов  ............................... 230
Текстовые ресурсы – загрузка из CSV­файлов ............................. 231
Текстовые ресурсы – загрузка из Интернета  ................................. 232
Итоги  ................................................................................................................... 232

Глава 7. Искусственный интеллект ............................233

Искусственный интеллект в играх  ........................................................... 234
Начало проекта  ................................................................................................ 235
Внедрение навигационного меша  .............................................................. 237
Создание агента искусственного интеллекта ......................................... 242
Конечные автоматы в Mecanim  .................................................................. 244
Конечный автомат состояний в C# – начало  ........................................ 251
Создание состояния Idle  ............................................................................... 252
Создание состояния Patrol ........................................................................... 256
Создание состояния Chase  ........................................................................... 260
Создание состояния Attack  ......................................................................... 262
Создание состояния бегства SeekHealth  ................................................. 263
Итоги  ................................................................................................................... 266

Глава 8. Настройка редактора Unity ...........................268

Пакетное переименование ............................................................................ 268
Атрибуты C# и рефлексия  ........................................................................... 274
Смешивание цветов  ........................................................................................ 278
Отображение свойств  .................................................................................... 283
Локализация  ..................................................................................................... 289
Итоги  ................................................................................................................... 296

Глава 9. Работа с текстурами, моделями  
и двухмерными изображениями................................298

Скайбокс  ............................................................................................................ 299
Процедурные меши ......................................................................................... 305

Содержание  9

Анимация UV­координат – прокручивание текстур  ......................... 311
Рисование на текстуре  ................................................................................... 313
Шаг 1 – создание шейдера смешивания текстур ........................... 315
Шаг 2 – создание сценария рисования текстуры .......................... 319
Шаг 3 – настройка текстуры рисования  .......................................... 326
Итоги  ................................................................................................................... 328

Глава 10. Управление исходными текстами  
и другие подсказки .................................................331

Git – управление исходными текстами .................................................... 331
Шаг № 1 – загрузка  ................................................................................. 333
Шаг № 2 – добавление проекта в репозиторий ............................. 334
Шаг № 3 – настройка Unity для управления исходными  
текстами  ...................................................................................................... 336
Шаг № 4 – создание репозитория ...................................................... 337
Шаг № 5 – игнорируемые файлы ....................................................... 338
Шаг № 6 – первая фиксация изменений  ......................................... 339
Шаг № 7 – изменение файлов  ............................................................. 341
Шаг № 8 – получение файлов из хранилища  ................................ 343
Шаг № 9 – просмотр репозитория  .................................................... 345
Папка ресурсов и внешние файлы  ............................................................ 347
Пакеты ресурсов и внешние файлы  ......................................................... 349
Хранимые данные и сохранение игры  ..................................................... 352
Итоги  ................................................................................................................... 356

Предметный указатель ............................................357

Об авторе

Алан Торн (Alan Thorn), разработчик игр, независимый программист 
и писатель, с более чем 13­летним опытом работы, живущий в Лондоне. В 2010 году основал компанию Wax Lyrical Games и является 
создателем игры «Baron Wittard: Nemesis of Ragnarok», удостоенной 
многочисленных наград. Автор 10 видеокурсов и 11 книг по разработке игр, в том числе «Unity 4 Fundamentals: Get Started at Making 
Games with Unity» (Focal Press), «UDK Game Development» и «Pro 
Unity Game Development with C#» (Apress). Кроме того, как приглашенный лектор читает курс «Game Design & Development Masters 
Program» в Национальной школе кино и телевидения.
Участвовал как независимый разработчик в более чем 500 проектах по созданию игр, симуляторов, игровых киосков, «серьезных» 
игр, программ дополненной реальности для игровых студий, музеев 
и тематических парков по всему миру. В настоящее время работает 
над приключенческой игрой «Mega Bad Code» для настольных компьютеров и мобильных устройств. Алан обожает графику. Увлекается философией, йогой и пешими загородными прогулками. Его адрес 
электронной почты: directx_user_interfaces@hotmail.com.

Доступ онлайн
639 ₽
В корзину