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

4.2. Создание геометрической модели сцены      91

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

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

ПРИМЕЧАНИЕ  Проекты из предыдущей главы для выполнения заданий вам не потребуются. Воспользуйтесь сценариями движения из главы 2, чтобы получить возможность перемещаться по сцене; при необходимости можно взять модель игрока и сценарии из скачанного с сайта проекта. К концу этой главы вы создадите движущиеся объекты, напоминающие полученные в предыдущих главах.

4.2. Создание геометрической модели сцены

Разговор о моделировании сцен мы начнем с рассмотрения процесса создания геометрической модели сцены (whiteboxing). Обычно это первый шаг моделирования уровня с помощью компьютера (следующий за разработкой этого уровня на бумаге). Как следует из английского термина, объекты сцены создаются из набора примитивов, то есть белых ящиков (white boxes). В списке различных ресурсов пустые декорации соответствуют базовому виду трехмерной модели и являются основой для отображения двухмерных картинок. Вспомните сцену, которую мы создали из примитивов в главе 2. Это и есть геометрическая модель (просто на тот момент вы еще не знали этого термина). В некоторых разделах вы найдете отсылки к вещам, которые мы делали в начале главы 2, но на этот раз я буду касаться их совсем коротко, попутно сократив обсуждение новой терминологии.

ПРИМЕЧАНИЕ  В английском языке также используется термин grayboxing (gray boxes — серые ящики). Он также означает геометрическую модель сцены, но я предпочитаю слово whiteboxing, потому что узнал его раньше. Реальный цвет примитивов может различаться, точно так же, как светокопии, называемые «синьками» (blueprints), далеко не всегда имели синий цвет.

4.2.1. Назначение геометрической модели

Составление сцены из примитивов практикуется по двум причинам. Во-первых, это позволяет быстро получить «набросок», который со временем будет постепенно совершенствоваться. Эта деятельность близко связана с проектированием игровых уровней.

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

ОПРЕДЕЛЕНИЕ  Проектирование уровней (level design) — это дисциплина, касающаяся планирования и создания в игре сцен (или уровней). Проектировщик уровней — это тот, кто занимается проектированием уровней.

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

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

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

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

4.2.2. Рисуем план уровня

Созданию игрового уровня на компьютере предшествует его проектирование на бумаге. Мы не будем подробно обсуждать тему проектирования уровней; достаточно сделанного в главе 2 примечания по поводу проектирования игр. Проектирование уровней (представляющее собой разновидность проектирования игр) — это обширная область знаний, достойная отдельной книги. Мы же нарисуем базовый план уровня, чтобы обозначить цель, к которой нужно стремиться.

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

4.2. Создание геометрической модели сцены      93

расположение комнат в этом упражнении не имеет значения. Важно только наличие у вас нарисованного плана, что позволит перейти к следующему этапу.

С а

На а а

 

 

 

 

 

 

Рис. 4.1. План игрового уровня: четыре комнаты и центральный коридор

4.2.3. Расставляем примитивы в соответствии с планом

Построение геометрической модели сцены в соответствии с имеющимся планом включает в себя позиционирование и масштабирование множества параллелепипедов, которые будут играть роль стен. Как описано в разделе 2.2.1, выберите в меню GameObject команду 3D Object, а затем команду Cube, чтобы получить куб для дальнейших преобразований.

ПРИМЕЧАНИЕ  При желании вместо кубов вы можете воспользоваться объектом QuadsBox, скачанным вместе с проектом. Он представляет собой куб, созданный из шести частей, что дает дополнительную гибкость при назначении материала. Выбор в данном случае зависит только от вашего желания; лично я не стал пользоваться объектом QuadsBox, так как вся геометрия со временем все равно заменяется графикой.

Первым объектом сцены станет пол; на панели Inspector поменяйте имя примитива и его положение по координате Y на –0.5, как показано на рис. 4.2. Это делается для компенсации высоты объекта. Затем растяните куб по осям X и Z.

И а

П а

 

( а

Ма а а

а

X Z

)

 

Рис. 4.2. Параметры куба на панели Inspector после перемещения и масштабирования