Blender GameKit 2/Introduction to 3D and game engines

Материал из Blender3D.

Перейти к: навигация, поиск

Содержание

Введение в 3D и Игровой Движок

Автор: Michael Kauppi

Цель этой главы

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

Общее введение в 3D

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

Оси XY

Вы можете думать о 2D как о плоском мире. Представьте, что вы положили лист чистой бумаги на стол и смотрите на него сверху.

Если бы этот лист бумаги представлял 2D мир, как бы вы описали положение объекта? Вам нужно определить некую точку, от которой будут отсчитываться все расстояния. Изображение:Оси X и Y

Обычно это делается рисованием двух линий: одной горизонтальной и одной вертикальной (иллюстрация 3-1). Горизонтальная линия называется "Ось-X", вертикальная - "Ось-Y". Место пересечения этих линий и будет той самой точкой, от которой будут отсчитываться расстояния. Обычно эту точку называют "началом координат" (origin).

Изображение:Положительное и отрицательное направления осей


Представьте себе ряд меток вдоль по этим осям, как на обычной линейке. Что бы описать положение чего-либо, вы измеряете расстояние по оси X и оси Y. Расстояния по осям X и Y ниже и левее начала координат имеют отрицательные значения, выше и правее - положительные (Иллюстрация 3-3).

Например, если вы хотите точно определить, где находится точка на иллюстрации 3-2, вам нужно отсчитать 4 юнита по оси X (это будет называться "координатой по X") и 5 юнитов по оси Y (координата по Y).

Теперь, с помощью начала координат и расстояний вдоль осей X и Y мы можем описать 2D геометрию.

Точки

Иллюстрация 3-3. Определение позиции точки в 2D пространстве.

Точка на иллюстрации 3-3 - самый простой объект, который мы можем описать в 2D пространстве. Он называется "точка". Для описания точки достаточно одной координаты по X и одной по Y.

Линии

Иллюстрация 3-4. Линия в 2D пространстве.

Следующий простой объект, который мы можем описать в 2D - это линия. Для описания линии вам достаточно описать две точки. (иллюстрация 3-4).

Полигоны

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

С этими знаниями самое время расширить 2D до 3D.

3D, третье измерение

Как подразумевает название, 3D имеет дополнительное измерение, но принципы, которые мы рассматривали для 2D пространства работают так же.

Ось Z

Иллюстрация 3-5. Введение в использование оси Z

Так же, как и в 2D, нам нужна точка отсчета, от которой мы будем определять положения объектов в 3D пространстве. Мы получим ее, добавив еще одну ось перпендикулярно к осям X и Y через начало координат. Эта новая ось, обычно называется "ось Z", и значения вдоль по оси вверх - положительные, вниз - отрицательные (иллюстрация 3-5). Используя эту новую ось, мы можем описывать объекты, подобные объектам в окружающем нас реальном мире.

Вершины

Иллюстрация 3-6. Описание точек в 3D-пространстве.

Для описания точки в 3D-пространстве нам понадобится уже 3 координаты: координаты по осям X, Y и Z (Иллюстрация 3-6)

Линии

Иллюстрация 3-7. Линии не Confined с 2D

Как и в 2D, мы можем описать линию координатами двух точек. Но теперь, наша линия не лежит в плоскости а может находиться к ней под любым углом (Иллюстрация 3-7).

Полигоны

Иллюстрация 3-8. Полигоны не ограничиваются 2D

Соединяя линии, мы можем получить полигоны, как и в 2D. Наши полигоны, как и линии, больше не принадлежат 2D миру (иллюстрация 3-8). Поэтому, плоские 2D формы приобретают объем. Например, квадрат становится кубом, окружность становится шаром, а треугольник превращается в пирамиду (иллюстрация 3-9).

Иллюстрация 3-9. Некоторые 2D формы и их 3D аналоги (counterparts)

Теперь, со знанием основ 3D, давайте рассмотрим, как они используются в компьютерной 3D графике.

Компьютерная 3D графика

На данном этапе основные концепции 3D графики у вас уже должны быть в голове. Если это не так - вернитесь и прочитайте предыдущую секцию еще раз. Понимание этих концепций будет иметь большое значение при освоении этого руководства. Дальше мы рассмотрим, как концепции 3D пространства используются в компьютерной 3D графике, также называемой CGI (computer graphic images).

Терминология

В области CGI используются слегка другие термины для описания тех же объектов. Таблица 3-1 показывает, как эти термины соотносятся с тем, о чем мы говорили выше.

Термины 3D Термины CGI
Точка Вершина (Vertex)
Линия Ребро (Edge)
Полигон Полигон

Таблица 3-1. Терминология CGI.


Вооружившись новой терминологией, мы готовы поговорить о полигонах в CGI

Треугольники и четырехугольники

Несмотря на то, что полигон в теории может иметь неограниченное количество углов, использование полигонов с большим количеством углов требует слишком большого количества расчетов. Именно поэтому на практике используют лишь треугольные и четырехугольные полигоны. Они позволяют получить практически любую форму, при этом не слишком нагружая компьютер. Но как сделать нужную форму из треугольников и прямоугольников?

Mesh (меш)

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

Иллюстрация 3-10. Совмещение полигонов в более сложную форму

Например, из шести квадратов можно сформировать куб, а четыре треугольника и квадрат дадут возможность получить пирамиду (иллюстрация 3-10). Увеличивая количество полигонов и управляя их положением, размером и углом поворота, мы можем формировать гораздо более сложные объекты (иллюстрация 3-11). Как вы можете видеть, чем сложнее объект, тем больше берет на себя mesh-представление. (As you can see, the more complex an object, the more it takes on a mesh-like appearance.) Объект на иллюстрации 3-11 представлен в режиме отображения "wire-mesh". Вы часто будете слышать термин "mesh", используемый для описания любой комбинации CGI полигонов.

Иллюстрация 3-11. Арка, сделанная из четырехугольных блоков (Arch made of quad based blocks)

Примитивы

Как мы видели выше, используя полигоны, мы можем создавать различные формы. Но создавать базовые формы (сферы, конусы, цилиндры), используя отдельные полигоны, было бы слишком расточительно. Поэтому такие 3D программы, как Blender, имеют набор заранее запрограммированых форм, называемых "примитивами". Примитивы удобны при моделировании и могут быть быстро добавлены в 3D сцену. Примитивы Blender включают в себя: плоскости, кубы, сферы, конусы, цилиндры и трубы. Также, в Blender есть и другие примитивы (и не все из них основаны на меше). Вы узнаете о них по мере накопления опыта работы.

Грани

Иллюстрация 3-12. Полигон с гранью (слева) и без грани (справа)

Полигон может иметь сформированную грань или не иметь ее. Вы можете представлять себе полигон без грани как фигуру, состоящую из проволоки, а меш с гранью - как кусок искусственной кожи, растянутой на этой проволочной форме (иллюстрация 3-12). Когда вы говорите Blender отрисовать вашу сцену (этот процесс называется "рендеринг"), то полигоны с гранью будут выглядеть цельными и заполненными, тогда как полигоны без грани будут просто "дырками" (иллюстрация 3-13).

Иллюстрация 3-13. Полигоны с не сформированной гранью выглядят как дырки в объекте.

Материалы

Иллюстрация 3-14. Сферы с различными материалами

Посмотрите на объекты вокруг вас. У каждого из них свои характеристики. Некоторые из них блестящие, некоторые матовые (metter). Другие непрозрачные (opaque), третьи прозрачные. Часть из них выглядит твердыми, другая часть мягкими. Для воссоздания таких характеристик в 3D мире мы используем "материалы". Наложенный на объект материал определяет, как Blender будет рендерить этот объект. Какого цвета будет объект. Как сильно он будет блестеть, насколько контрастным будет блик и т.д. (иллюстрация 3-14).

Текстуры

Еще раз посмотрите на вещи, окружающие вас. Кроме свойств материала, у объектов вокруг есть фактура. Некоторые объекты гладкие, некоторые шероховатые. В 3D это создается с помощью текстур. Но текстуры могут влиять не только на фактурность объекта, но и на его цвет, либо накладывать образцы расцветки объекта. Т.к. мы не может дотронуться до объекта, созданного в 3D CGI мире, мы больше концентрируемся на его внешнем виде.

Карты изображений

Иллюстрация 3-15. Карта земли, обернутая вокруг сферы

Наиболее часто используемый метод наложения текстур - использование карт изображений. Это 2D-изображения, которые мы "оборачиваем" вокруг объекта (смотри иллюстрацию 3-15). Карты изображений дают нам возможность представить мелкие детали на модели (объекте), моделирование которых увеличило бы количество полигонов и потребовало дополнительного времени. Использование карт изображений позволяет сохранять количество полигонов в объекте достаточно низким, что делает рендеринг значительно быстрее. Это особенно важно при рендеринге в реальном времени, который используется в игровом движке.

UV развертка

Иллюстрация 3-16. Плохо наложенная текстура земли

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

UV и XY координаты

Для продолжения обсуждения этой темы, нам нужно выяснить, что же такое "UV координаты". Как было сказано в "Обзоре принципов 3D", вы можете описать точку (вершину), задав ее X, Y и Z координаты. Если вы хотите наложить 2D объект на 3D объект, необходимо координаты XYZ перевести в координаты 2D пространства. Трансформированные таким образом координаты обычно называют "UV координаты". Вместо использования автоматически рассчитанных UV-координат в Blender вы можете задать их вручную. Это значит, что для каждой вершины хранятся не только пространственные XYZ координаты, но и значения координаты U и V.

Иллюстрация 3-17. Плохо спозиционированная текстура головы

Так как же работает UV-развертка? Посмотрите на голову персонажа на иллюстрации 3-17. Каждый угол лица является вершиной, и каждая вершина имеет XYZ и пару U и V координат, как было описано выше. Используя редактор UV в Blender, мы можем развернуть меш так же, как мы это делаем с глобусом, для получения плоской карты. Над развернутым изображением текстуры мы увидим те же самые вершины, что и в окне 3D-вида.

Теперь, перемещая вершины развернутого меша в окне UV-редактора, мы будем изменять U и V координаты этих вершин (но при этом они не будут менять своего положения в окне 3D вида!). Таким образом мы можем указать Blender, как именно располагать текстуру при наложении на 3D объект (иллюстрация 3-18).

Иллюстрация 3-18. Финальное положение текстуры

Причина, по которой процесс называется UV-редактированием, а не UVW-редактированием кроется в том, что мы делаем настройки в 2D (UV) пространстве, а Blender сам уже просчитывает координату W при "оборачивании" текстуры на 3D объект. Отсутствие необходимости учитывать 3-е измерение, в данном случае, значительно облегчает нам процесс работы.

Навигация в 3D-пространстве

Чтобы что то делать в 3D, нам нужно видеть, что именно мы делаем. Эта задача решается с помощью "видов". В этой секции будут описываться различные виды, доступные в Blender ("стандартные", "интерактивные" и вид "из камеры"), и два режима просмотра сцены. Здесь мы не будем говорить о том, как происходит работа с видами в Blender. Об этом вы узнаете в секции 4.10. В ней же будут описаны принципы работы с освещением. Освещение не являются видом, но оно необходимо при рендеринге 3D сцены, если вы хотите увидеть на изображении хоть что то. Также, освещение может менять настроение сцены.

Стандартные виды

Иллюстрация 3-19. Шесть основных видов в Blender

В Blender существуют шесть основных стандартных видов. Каждый вид позволяет "смотреть на сцену" вдоль определенной оси (иллюстрация 3-19). Эти виды обычно используются при моделировании объектов, давая хорошее ощущение ориентации в пространстве. Также, они помогают "вернуться", если вы потеряли ориентацию при свободном вращении сцены (интерактивном виде).

Интерактивный вид (свободное вращение)

Иллюстрация 3-20. Догадайтесь о настоящей форме объекта!

Стандартные виды крайне полезны при моделировании, но иногда они не дают представления о всей форме 3D объекта (иллюстрация 3-20). Именно здесь Интерактивный Вид в Blender становится просто незаменим. Интерактивный вид позволяет вращать вашу 3D сцену в любом направлении в режиме реального времени, позволяя рассмотреть ваш объект с любой стороны под любым углом. Это позволяет лучше понять, как ваша сцена и объекты буду выглядеть на финальном изображении.

Иллюстрация 3-21. Объект из иллюстрации 3-20 в перспективном виде.

Камеры

Иллюстрация 3-22. Сцена с иллюстрации 3-14 с отметкой места расположения камеры.

Ни стандартный, ни интерактивный вид обычно не используются, когда приходит время сделать рендеринг сцены (как и при анимации и при real-time рендеринге в игровом движке). Вместо этого для рендеринга вы используете вид из камеры. Вы можете представлять себе процесс рендеринга как процесс съемки фильма. Вы режиссер и можете ходить везде вокруг (стандартные и интерактивный виды) пока не убедитесь, что все именно так, как вы хотите. Но когда приходит время делать съемку, вам нужна камера. Камера снимет именно то, что увидит аудитория (иллюстрация 3-22).

Режимы видов

Иллюстрация 3-23. Ортогональный и перспективный режимы

В Blender существует два режима отображения пространства для всех видов: "ортогональный" и "перспективный". Ортогональный режим отображает все объекты без перспективы (без изменения размеров с расстоянием от точки обзора), в то время как перспективный режим отображения отображает объекты с перспективой (уменьшением размеров с удалением от точки обзора) (иллюстрация 3-23). Ортогональный режим удобен при создании моделей. Он не создает искажений, что позволяет манипулировать объектами более точно. Перспективный режим даст вам возможность получить представление о форме 3D объекта без необходимости вращать сцену (вращение может происходить медленно, если в вашей сцене очень много объектов).

Освещение

Если вы уже готовы сделать рендер вашей сцены или запустить игровой движок, вам понадобиться еще две вещи: камера и освещение. Если вы попытаетесь отрендерить без камеры, Blender выдаст вам сообщение с ошибкой. Но если вы сделаете рендер без источников света, то все, что увидите - черный прямоугольник. Это наиболее распространенная ошибка начинающих пользователей Blender. Если вы пытаетесь сделать рендер вашей сцены и получаете лишь черное изображение - убедитесь что у вас в сцене есть хотя бы одна лампа. В случае интерактивной 3D-графики бывают сцены без источников света, но обычно они выглядят плоско.

Иллюстрация 3-24. Сцена, отрендеренная с различным освещением

Освещение несколько более широкое понятие, чем просто возможность видеть объекты сцены. Как и в реальном мире, свет может создавать атмосферу и настроение сцены. Например, использование темно синего света помогает создать "холодную" атмосферу, в то время как ярко оранжевый свет может создать более "теплый" эффект (иллюстрация 3-24). Источники света могут быть использованы для создания эффектов окружающего свечения (ambient Occlusion), вспышек выстрелов (muzzle flashes), либо других, где участвует освещение.

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

Трансформации

Иллюстрация 3-25. Локальные оси объекта

Как мы говорили ранее, положение объекта в 3D-мире описывается началом координат и системой координат XYZ для измерений. Координаты, рассчитанные в такой системе, называются глобальными координатами. В дополнение к этому, центр объекта также может служить началом координат, но уже для данного объекта, и объект может иметь свои собственные оси XYZ (иллюстрация 3-25). Такой центр называется локальным началом координат, а оси - локальными осями координат. А вся система в целом называется локальной системой координат. Почему это так важно?

Игра, в которой ничто не перемещается и не меняется, найдет мало поклонников. Объекты в вашей игре должны будут перемещаться, и это первое, где начинает работать концепция трансформации. Три наиболее общие способа трансформации - это перемещение, вращение и масштабирование.

Тип трансформации Описание
Перемещение Объект перемещается из точки A в точку B
Вращение Объект вращается вокруг определенной оси или точки
Масштабирование Объект увеличивается, либо уменьшается в размере

Таблица 3-2. Типы трансформации

Когда вы создаете игру, вам следует помнить, что все трансформации относительны. Когда объект перемещается из точки A в точку B в глобальной системе координат, совсем не обязательно, что с его точки зрения его локальная система координат также перемещается. Персонаж, стоящий в движущемся поезде, вполне может быть уверен, что он никуда не движется. Несмотря на скорость поезда в 100 км/ч, персонаж может ощущать себя стоящим на месте. Его локальное начало координат не перемещается, как и он сам.

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

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

В большинстве пакетов 3D моделирования вы можете работать с этими координатами, используя принцип "иерархии". Вы можете назначить один объект "родителем" второго, который, в свою очередь, станет потомком к первому. Теперь все изменения, примененные к родительскому объекту, будут влиять и на его потомков. Теперь вам нужно лишь определить движение объекта-родителя, и все его потомки будут двигаться таким же образом. Если взять нашу солнечную систему за пример иерархии, то мы все "потомки" планеты Земля, которая в свою очередь, "потомок" Солнца.

И последний момент, на который стоит обратить внимание. Трансформации применимы не только к объектам формы. Материалы, текстуры и даже источники света могут быть перемещены, повернуты или смасштабированы. В действительности, все что есть в вашем 3D-мире - все является объектом и может быть трансформировано этими способами.

Теперь, когда вы освоили основы 3D CGI, самое время поговорить об играх и об аспектах хороших игр.

Игровой движок и аспекты хорошей игры

Что такое Игровой Движок?

Игровой движок - это программа, симулирующая часть реального мира. С помощью игрового движка вы можете в реальном времени взаимодействовать с 3D миром, управляя объектами, которые взаимодействуют с другими объектами. Если вы когда-либо играли в видео игры на компьютере, на игровой консоли или на игровом автомате, то вы уже использовали игровой движок. Игровой движок - это сердце игры, и состоит он из нескольких частей. Одна часть отображает 3D мир и объекты в нем на экране, рисует и перерисовывает сцену когда в ней что то меняется. Другая часть отвечает за принятие решений ("игровая логика"). Например, если в игре была создана открывающаяся дверь, эта часть игрового движка будет отвечать за то, когда это событие должно произойти. Еще одной частью движка является "симулятор физики". Эта часть отвечает за гравитацию, инерцию, импульс (momentum) и т.д. Две другие части отвечают за поведение объектов во время столкновения и движение до и после него.

Игровой движок старается делать все это настолько быстро, насколько это возможно, для создания ощущения плавной симуляции.

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

Это упрощенный пример. Игровые движки, которые вам доводилось использовать, гораздо сложнее, и для их создания потребовалась целая команда программистов и значительный период времени. По крайней мере, так должно было быть, пока не появился Игровой Движок Blender :)

Игровой Движок Blender -- создание игр в стиле "нажми и потяни"

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

После того, как вы создали 3D-мир и объекты, вам потребуется воспользоваться всего лишь несколькими выпадающими меню, простыми сочетаниями клавиш и несколькими кликами мыши для настройки поведения вашего мира и объектов в нем. Для профессионалов это возможность быстро создавать прототипы игр, для непрофессионалов - первый шанс создать свою собственную игру без необходимости тратить годы на изучение программирования или привлечения команды разработчиков. Для тех, кто обладает опытом программирования, Blender использует скриптовый язык Python, с помощью которого программисты могут расширить возможности игрового движка.

Эта простота использования, на самом деле, скрывает действительную инновационную суть игрового движка Blender.

"Настоящие" и "псевдо" игровые движки

Blender является "настоящим" 3D-игровым движком. До недавнего времени игровая логика (система принятия решений) не реализовывалась на уровне объектов. Это значит, что "высший разум" в игре должен был контролировать все объекты сразу, перемещать их, когда это нужно, и следить за состоянием каждого из них (например, жив или мертв). Преимуществом "настоящего" игрового движка является наличие у каждого объекта своей собственной сущности. Каждый объект самостоятелен и сам сообщает о своем состоянии игровому движку.

Например, когда вы играете в игру, где двигаетесь в лабиринте с потайными дверями, раньше "Высший Разум" должен был решить, находитесь ли вы достаточно близко от двери и открыть ее. В игровом движке Blender дверь имеет свой собственный сенсор и способна определить, достаточно ли близко объект от нее, и самостоятельно открыться.

Другим примером будет "стрелялка". Ружье имеет собственный набор логических операций, которые определяют, нажат ли спусковой крючок. При нажатии создается новый объект - "пуля" - с определенной начальной скоростью. Пуля, которая теперь является независимым объектом, выстреливается из дула и летит сквозь среду, испытывая на всем пути сопротивление воздуха и силу тяжести. Сама пуля имеет сенсор и логику поведения. Она самостоятельно определяет, попала ли она в стену или поразила цель. Во время удара логика пули и логика пораженного ей объекта определят, что произойдет дальше.

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

Преимущество "настоящего" игрового движка Blender - в лучшей симуляции реального мира. Он позволяет ввести степень случайности (функция Random), присущую окружающему нас миру. Он также распределяет процесс принятия решений по объектам, и один центральный "Высший Разум", контролирующий все, становится просто не нужен.

Несмотря на то, что Blender предоставляет вам технологию создания отличных игр, он не сможет создать для вас хорошую игру автоматически. Для создания по-настоящему хорошей игры, вам нужно понять три основных аспекта создания игр.

Хорошие игры

Если вы посмотрите на хорошие игры чуть пристальнее, вы увидите, что все они содержат три основных аспекта в различных пропорциях. Они известны как теория "Игрушка, Погружение (Immersive), цель" создания игр.

Игрушка (Toy)

Аспект Игрушки относится к получению удовольствия от самого процесса игры. Вам не нужно много думать, вы просто берете мышь или джойстик и сразу начать играть, как вы это делали со своими игрушками в детстве. Вам не нужно было читать инструкции, что бы поиграть с вашим игрушечным автомобилем, или тратить время на разработку сложной стратегии действий. Другими словами, игры с большой долей "фактора игрушки" очень интуитивны. Вспомните вашу любимую аркадную игру на игровой приставке. Скорее всего, вам нужен лишь джойстик и две-три кнопки или световой пистолет.

Это не означает, что такие игры не требуют от вас умений. Но вы можете получить удовольствие сразу от самого процесса игры.

Погружение

Аспект Погружения - степень, до которой игра заставляет вас забыть, что вы играете в игру. Иногда его называют "приостановкой недоверия" ("suspension of disbelif"). Авиасимуляторы и автогонки - хороший пример использования этого аспекта. Реализм - один из наиболее важных факторов в этих играх. Именно он стал причиной достижения такого высокого уровня симуляции реального мира. Такие игры, как "Mechwarrior" и "WarBirds", являются отличным примером игр с эффектом погружения, достигающимся реалистичным окружением, анимацией и звуком. У обеих этих игр низкий уровень аспекта "игрушки", требуется некоторое время для изучения процесса управления, и практически каждая клавиша на клавиатуре используется для определенной функции.

Старомодные однокнопочные джойстики сменили HOTAS устройства (Hand On Throttle And Stick - одна рука на дросселе и на джойстике), состоящие из джойстика с количеством кнопок от 6 до 10 для одной руки, рукоятки дросселя с подобным количеством кнопок для другой, и даже с педалями для ног. Такая система, в сочетании с хорошо сделанной игрой, создает потрясающий эффект погружения. Эти игры часто имеют достаточно высокий уровень "цели".

Аспект "Цель"

Аспект "цели" - это достижение определенного уровня мастерства, который требует от вас игра для дальнейшего "продвижения" по ней. Часто это включает в себя стратегию и планирование. "Age of Empires" и "SimCity" - примеры игр с очень выраженным аспектом "цели". Игры с ориентацией на достижение некоторого уровня мастерства обычно имеют очень низкий уровень аспекта "игрушки". "SimCity", например, сопровождается достаточно увесистым мануалом, разъясняющим все моменты создания успешно "растущего" города. Но это не является правилом. "Quake" - также "игра на достижение некоторого уровня мастерства", но при этом имеет хороший уровень аспектов "игрушки" и "погружения".

Баланс

При создании игр вам придется удерживать баланс между аспектами "игрушки", "погружения" и аспектом "цели". Если вы сможете создать игру с высоким уровнем каждого из аспектов - считайте, что в ваших руках находится хит сезона!

Завершение

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

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

Личные инструменты