Искусство создания сценариев в Unity. Практические советы и приемы создания игр профессионального уровня на C# в Unity
Покупка
Тематика:
Программирование на C и C++
Издательство:
ДМК Пресс
Автор:
Торн Алан
Перевод:
Рагимов Р. Н.
Год издания: 2023
Кол-во страниц: 362
Дополнительно
Вид издания:
Практическое пособие
Уровень образования:
ВО - Бакалавриат
ISBN: 978-5-89818-343-1
Артикул: 816362.01.99
Это простое и доступное руководство, в котором вы найдете полезные советы и современные приемы программирования игр на C# в Unity. Десять исчерпывающих глав книги содержат практические и наглядные примеры творческого подхода к программированию на C# и созданию коммерчески успешных игр профессионального уровня. Вы научитесь наделять игровых персонажей впечатляющим искусственным интеллектом, настраивать камеры для создания эффектов постобработки и управлять сценой, опираясь на понимание компонентной архитектуры. Кроме того, вы познакомитесь с классами .NET, позволяющими повысить надежность программ, увидите, как обрабатывать наборы данных, такие как файлы CSV, и как создавать сложные запросы к данным. Прочтя эту книгу до конца, вы станете сильным разработчиком Unity, вооруженным множеством инструментов и приемов
быстрой и эффективной разработки коммерческих игр. Издание предназначено для студентов, преподавателей и специалистов, знакомым с Unity, а также с основами программирования. Неважно, как давно вы знакомы с Unity, в этой книге вы найдете важную и полезную информацию, которая поможет вам эффективно наладить процесс создания игр.
- Полная коллекция по информатике и вычислительной технике
- ДМК Пресс. Информационные системы и технологии
- ДМК Пресс. ИТ-технологии для обучающихся
- Интермедиатор. Информационные системы и технологии (сводная)
- Интермедиатор. ИТ-технологии для обучающихся (сводная)
- Программирование
- Программирование на C и C++
- Разработка игр
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 09.03.01: Информатика и вычислительная техника
- 09.03.02: Информационные системы и технологии
- 09.03.04: Программная инженерия
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Алан Торн Искусство создания сценариев в 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.