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

4 Работа с графикой

33 Основные сведения о графических ресурсах

33 Процесс создания геометрической модели сцены

33 Использование в Unity двухмерных изображений

33 Импорт собственных трехмерных моделей

33 Моделирование эффектов частиц

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

Все, что составляет визуальное содержимое игры, называется графическими ресурсами (art assets). Но что именно скрывается за этим термином?

4.1. Основные сведения о графических ресурсах

Графическим ресурсом называется отдельная единица визуальной информации (обычно — файл), используемая игрой. Это всеобъемлющее собирательное название для всего визуального содержимого; к графическим ресурсам относятся файлы изображений, трехмерные модели и т. п. На самом деле, это всего лишь частный случай ресурса, который, как вы знаете, представляет собой любой используемый игрой файл (например, сценарий). Все они в Unity находятся в основной папке Assets. В табл. 4.1 перечислены и описаны пять основных видов графических ресурсов, применяемых при создании игр.

 

4.1. Основные сведения о графических ресурсах      89

 

 

Таблица 4.1. Типы игровых ресурсов

 

 

Тип

Определение типа

 

 

Двухмерное

Плоские изображения. В реальном мире им соответствуют картины

изображение

и фотографии

 

 

Трехмерная

Виртуальные трехмерные объекты (почти синоним для «сеточных

модель

объектов»). В реальном мире им соответствуют скульптуры

 

 

Материал

Пакет информации, определяющий свойства поверхности любого объекта,

 

к которому присоединен материал. К таким свойствам относят цвет, блеск

 

и даже небольшие шероховатости

 

 

Анимация

Пакет информации, определяющий движение связанного с ним объекта.

 

Существуют как заблаговременно созданные детализированные

 

последовательности перемещений, так и код, вычисляющий положения

 

объектов «на лету»

 

 

Система частиц

Механизм создания большого количества небольших движущихся объектов

 

и управления ими. Позволяет создавать различные визуальные эффекты,

 

такие как огонь, дым и водяные брызги

 

 

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

ОПРЕДЕЛЕНИЕ  Модель (model) — это трехмерный виртуальный объект. В главе 1 вы столкнулись с термином «сеточный объект»; трехмерная модель — это практически синоним. Оба термина часто используются в одном и том же значении, но термин «сеточный объект» относится исключительно к геометрии трехмерных объектов (соединенные друг с другом линии и фигуры), в то время как термин «модель» имеет более общий смысл и часто подразумевает и другие атрибуты объекта.

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

ОПРЕДЕЛЕНИЕ  Материалом (material) называется пакет информации, определяющий свойства поверхности любого трехмерного объекта, к которому он присоединяется. К таким свойствам относятся, к примеру, цвет, блеск и даже небольшая шероховатость.

Если продолжить аналогию с искусством, материал можно представить как вещество (глина, бронза, мрамор и т. п.), из которого создается скульптура. Подобным

90      Глава 4. Работа с графикой

же образом анимация представляет собой присоединяемый к видимому объекту абстрактный слой информации.

ОПРЕДЕЛЕНИЕ  Анимацией (animation) называется пакет информации, определяющий движение связанного с ним объекта. Так как эти движения можно задать независимо от объекта, их можно использовать, сочетая и комбинируя с различными объектами.

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

Чтобы понять, как связаны друг с другом анимация и трехмерные модели, представьте себе кукольный театр: трехмерная модель будет куклой, аниматор — кукольником, заставляющим ее двигаться, а анимация — записью движений куклы. Определенные таким способом движения записываются заранее и обычно происходят в небольшом масштабе, не меняя общего положения объекта. Это отличается от крупномасштабных перемещений, которые мы программировали в предыдущих главах.

Последний графический ресурс, упоминавшийся в табл. 4.1, — это система частиц.

ОПРЕДЕЛЕНИЕ  Системой частиц (particle system) называется механизм создания большого количества движущихся объектов и управления ими. Обычно эти объекты имеют маленький размер — именно поэтому они называются частицами, хотя это не является обязательным условием.

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

В основном создание графики для игры выполняется во внешних программах, никак не связанных с Unity. В Unity можно генерировать только материалы и системы частиц. Список внешних программ вы найдете в приложении Б; для создания трехмерных моделей и анимации применяются самые разные графические редакторы. Полученные во внешней программе трехмерные модели затем сохраняются как графические ресурсы, то есть импортируются в Unity. Я пользуюсь программой Blender, о которой рассказывается в приложении В. Ее можно скачать с сайта www.blender.org. Мой выбор обусловлен тем, что эта программа с открытым исходным кодом, бесплатно доступная всем желающим.

ПРИМЕЧАНИЕ  Проект, который можно скачать для этой главы, включает в себя папку с именем scratch. Хотя эта папка помещена в проект Unity, она не является его частью; я поместил в эту папку дополнительные внешние файлы.

Работая над проектом этой главы, вы познакомитесь с примерами большинства типов графических ресурсов (анимация пока относится к слишком сложным темам,