Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Unity_в_действии_Джозеф_Хокинг_Рус.pdf
Скачиваний:
82
Добавлен:
21.06.2022
Размер:
26.33 Mб
Скачать

О книге

Эта книга посвящена программированию игр с помощью Unity. Ее можно считать введением в Unity для опытных программистов. Цель книги крайне проста: научить людей, имеющих опыт программирования, но ни разу не сталкивавшихся с Unity, разрабатывать игры с помощью этого инструмента.

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

В этой книге более строго, чем в большинстве других изданий (особенно предназначенных для начинающих), изложен материал, касающийся программирования. Unity зачастую представляют как набор компонентов, не требующих программирования, что в корне неверно, так как не дает людям знаний, без которых невозможно производство коммерчески успешных продуктов. Если вы пока не имеете навыков программирования, советую сначала их приобрести и только после этого приступать к чтению.

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

Что касается прочих аспектов разработки игр, излишне широкий охват различных художественных дисциплин привел бы к сокращению объема представленного в книге конкретного материала по Unity и в значительной степени относился бы к внешним по отношению к Unity программам (например, программам создания анимации). Поэтому обсуждение художественных дисциплин сводится к тем аспектам, которые имеют непосредственное отношение к Unity или должны быть известны всем разработчикам игр. (Впрочем, одно из приложений посвящено моделированию собственных нестандартных объектов.)

16    О книге

Перспективы

Глава 1 знакомит вас с Unity — межплатформенной средой разработки игр. Вы освоите базовую систему компонентов, лежащую в основе Unity, а также научитесь писать и выполнять базовые сценарии.

Вглаве 2 мы перейдем к написанию программы, демонстрирующей движение в трехмерном пространстве, попутно рассмотрев такие темы, как ввод с помощью мыши и клавиатуры. Детально объясняется определение положения объектов в трехмерном пространстве и операции их поворота.

Вглаве 3 мы превратим демонстрационную программу в шутер от первого лица, познакомив вас с методом испускания луча и основами искусственного интеллекта. Испускание луча (мы создаем в сцене линию и смотрим, с чем она пересечется) требуется во всех вариантах игр.

Глава 4 посвящена импорту и созданию игровых ресурсов. Это единственная глава в книге, в которой код не играет центральной роли, так как каждому проекту требуются (базовые) модели и текстуры.

Глава 5 научит вас создавать в Unity двухмерные игры. Хотя изначально этот инструмент предназначался исключительно для создания трехмерной графики, сейчас в нем прекрасно поддерживается двухмерная графика.

Глава 6 знакомит с новейшей GUI-функциональностью в Unity. Пользовательский интерфейс требуется всем играм, а последние версии Unity могут похвастаться улучшенной системой создания пользовательского интерфейса.

В главе 7 мы создадим еще одну программу, демонстрирующую движение в трехмерном пространстве, однако на этот раз с точки зрения стороннего наблюдателя. Реализация элементов управления третьим лицом даст вам представление о ключевых математических операциях в трехмерном пространстве, кроме того, вы научитесь работать с анимированными персонажами.

Глава 8 покажет способы реализации интерактивных устройств и элементов в игре. У игрока будет ряд способов применения этих устройств, в том числе прямым касанием, прикосновением к пусковым устройствам внутри игры или нажатием кнопки контроллера.

Глава 9 учит взаимодействию со Всемирной паутиной. Вы узнаете, как отправить и получить данные с помощью стандартных технологий, таких как HTTP-запросы на получение с сервера XML-данных.

Вглаве 10 вы научитесь добавлять в игры звук. В Unity замечательно поддерживаются как короткие звуковые эффекты, так и долгие музыкальные фонограммы; оба варианта звукового сопровождения критически важны почти для всех видеоигр.

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

Глава 12 демонстрирует процесс создания итогового приложения с его последующим развертыванием на различных платформах, таких как настольные компьютеры,

Автор в Интернете      17

Интернет и мобильные устройства. Unity обладает поразительной независимостью от конкретной платформы, позволяя создавать любые варианты игр!

Затем идут три приложения с дополнительной информацией о навигации по сцене, внешних инструментах и пакете Blender.

Условные обозначения, требования и доступные для скачивания данные

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

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

ВНИМАНИЕ  В Unity-проектах сохраняется информация о том, в какой версии программы они были созданы, и при попытке открыть их в другой версии выводят предупреждение. Если, открыв относящиеся к этой книге материалы, скачанные из Сети, вы увидите такое предупреждение, просто щелкните на кнопке Continue.

Встречающиеся в книге фрагменты кода в общем случае демонстрируют добавления и изменения, вносимые в существующие файлы; если это не первое появление файла с кодом, не следует заменять файл соответствующим листингом. Можно просто скачать рабочий проект целиком, но обучение пойдет намного быстрее, если вы будете набирать все листинги вручную, используя примеры из проекта только для сравнения. Весь код доступен для скачивания на сайте издателя по адресу www.manning.com/ UnityinAction.

Автор в Интернете

На странице www.manning.com/UnityinAction вы найдете информацию о том, как попасть на форум после регистрации, на какую помощь вы можете рассчитывать, а также о правилах поведения на форуме.

Издательство Manning взяло на себя обязательство по предоставлению места, где читатели могут конструктивно пообщаться как друг с другом, так и с автором книги. Но оно не может гарантировать присутствия на форуме автора, участие которого в обсуждениях является добровольным (и неоплачиваемым). Мы надеемся, что вы будете задавать автору по-настоящему трудные вопросы, чтобы его интерес к общению не угас!

18    О книге

Как форум, так и архивы предшествующих обсуждений будут доступны на сайте издательства до тех пор, пока книга находится в продаже.

Об авторе

Джозеф Хокинг живет в Чикаго и занимается разработкой программного обеспечения для интерактивных сред. Он работает в фирме Synapse Games, создавая интер- нет-игры и игры для мобильных устройств, такие как недавно вышедшая игра-стра- тегия Tyrant Unleashed. Кроме того, он преподает предмет разработки игр в колледже Колумбия в Чикаго. Его сайт www.newarteest.com.

Ч а с т ь I ПЕРВЫЕ ШАГИ

Итак, пришло время познакомиться с Unity. Ничего страшного, если вы не имеете представления о том, что это за инструмент! Я начну с его подробного описания, рассказывая в числе прочего об основах программирования игр с помощью Unity. Затем вы получите инструкцию по разработке простой игры. Первый проект познакомит вас с набором приемов, попутно дав представление об общем ходе процесса.

Приступим к главе 1!