Низкополигональная машинка и небольшая игра в гоночном жанре

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

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

BlenderArt выпуск #8

автор: Sandra Gilbert (aka dreamsgate)
перевод: GoG


Содержание

Intro

Низкополигональные машинки могуть быть довольно забавными как для создания, так и для игры с ними. Вы можете делать их простыми или смешными, насколько позволяет фантазия. Я расскажу, как сделать простую лоу-поли машинку, и затем мы создадим геймлет (геймлет(gamelet) - небольшая, не совсем полноценная игра), чтобы можно было поиграть с нашей машинкой. Я использовал Блендер 2.43RC1 во время написания этого урока, но я уверен, он будет совместим с официальным релизом 2.43. Он также должен быть совместим с 2.42, т.к. мы не собираемся использовать много нововведений в игровом движке. Этот урок ориентирован на пользователей среднего уровня, хотя даже новички способны выполнить его без особых трудностей.


Что ж, давайте начнём.


Низкополигональная машинка

Как и многие другие модели, эту модель начнём делать с простой плоскости. Сначала смоделируем первую половину машины, а потом зеркально отразим вторую.

  • 1.Находясь в виде сбоку, добавим фото машинки в профиль: View>Background Image>Load (Загрузите нужное изображение)
  • 2.Добавьте плоскость: Пробел>Add>Mash>Plane, и удалите все вершины, кроме одной.
 рис.1
Увеличить
рис.1
  • 3.Мы пытаемся сделать настолько мало граней, насколько это возможно, поэтому добавлйте только необходимые вершины. Выделите оставшуюся вершину и кликайте левой кнопкой мыши с зажатой клавишей Ctrl, очерчивая при этом корпус машинки. Затем соедините получившиеся рёбра в грани, выделив 4 вершины и нажав F. см. рис.1
 рис.2
Увеличить
рис.2
  • 4.В виде сверху выберите все вершины и экструдируйте их. см. рис. 2
 рис.3
Увеличить
рис.3
  • 5.Выделите внешние вершины и нажмите Smooth несколько раз. см. рис.3
  • 6.Добавьте модификатор Mirror. Нажимайте переключатели X,Y,Z поочереди, пока не получите отражения в правильной оси, а также удостоверьтесь, что опорная точка (маленький кружок/точка в центре модели) расположена на центральной линии. И нажмите Do clipping, чтобы получить чистое соединение между двумя частями.
 рис.4
Увеличить
рис.4

Ну вот, низкополигональная спортивная машинка. Давайте добавим колёса. Не нужно их детализировать, т.к. они не будут видны в нашей игре. Поэтому я просто использовал масштабированный цилиндр для кажного колеса и объединил их с корпусом. см. рис.4

 рис.5
Увеличить
рис.5

Продублируйте ваше колесо (Shift + D) и поместите колёса на их места. Выберите колёса и корпус и нажмите Ctrl+J, чтобы объединить их в один меш. см. рис.5. Я не применял (не нажимал Apply) модификатор Mirror, потому что хочу использовать рисование по вершинам (vertex paint) и хочу, чтобы обе стороны выглядели одинаково.

Красим машинку

Этот пункт вы можете пропустить, раскрасив вашу машинку UV текстурой или простым рисованием по вершинам (vertex paint). Ваш выбор. Для этого урока я решил использовать рисование по вершинам, чтобы снизить требования к памяти. Помните, что нужно быть в Potato mode (Alt+Z), чтобы видеть рисование по вершинам.

  • 1.Нажмите V для перехода в Vertex Paint и F для отображения граней. Ваша машина станет полностью чёрной. Это нормально, мы исправим это.
 рис.6
Увеличить
рис.6
  • 2.Выберите все грани машины (но не колёса) и в панели Paint, выберите ваш цвет для покраски. Я выбрал красный. Нажмите Set Vert Color чтобы применить цвет. см. рис.6
  • 3.Я создам тени и блики при помощи рисования по вершинам, т.к. если вы нажмёте P, чтобы посмотреть, как машинка выглядит в игровом движке, то увидите, что она как бы не имеет формы и выглядит довольно уродливо.
 рис.7
Увеличить
рис.7
  • 4.Измените размер кисти примерно до 10-12 и установите прозрачность (Opacity) на 0.200. Выберите цвет темнее цвета корпуса машинки. Начните раскрашивать ребра для придания эффекта объёма. Я начал с этого. Пока не очень красиво, но это начало. см. рис.7
right рис.8
Увеличить
right рис.8

Ещё я добавил немного синего цвета на чёрные шины и покрасил диски колеса в светло серый цвет. Можете нарисовать машинке окна, раскрасив их в очень светлый голубой цвет. см. рис.8



Что ж, на этом наша машинка закончена. Теперь можете применить модификатор Mirror (кнопка Apply на панели модификаторов), чтобы сделать машинку одним мешем.


Ездим по пересечённой местности

Сейчас создадим трэк, по которому будет ездить наша машинка.

  • 1.Перейдите на слой 2
  • 2.В виде сверху: Пробел>Add>Mesh>Grid (значение по умолчанию 32х32 вполне устроит)
 рис.9
Увеличить
рис.9
  • 3.В режиме редактирования переключитесь на выбор граней. см. рис.9
 рис.10
Увеличить
рис.10
  • 4.В виде сбоку экструдируйте ваш трэк чуть вниз. см. рис.10
  • 5.Переключитесь обратно в объектный режим (Tab), потом в UV/Face режим (F) и рисование по вершинам (V).
 рис.11
Увеличить
рис.11
  • 6.Выберите коричневый цвет для покраски и нажмите Set Vert Color, нажмите Tab, чтоб вернуться в режим редактирования и инвертируйте выделение вершин, используя Select Swap на панели Mesh tools 1. Опять вернитесь в режим UV/Face (Tab), установите зелёный цвет покраски и нажмите Set Vert Color. см. рис.11
 Fig 12.
Увеличить
Fig 12.

Теперь у нас есть трэк, но он скучноват. Я добавлю несколько холмиков и возвышенностей, используя пропорциональное редактирование (O). У нас есть выбор между несколькими типами трансформации (falloff). Я оставляю выбор за вами. Можете менять их для достижения различных эффектов (в новых версия блендера для этой цели можно использовать скульптинг (Sculpt Mode) - прим. пер.). см. рис.12


1.Я выбирал место для будущих холмов в режиме UV/Face для большей лёгкости (так я мог определять их место относительно трэка. Заметьте, цвета вершин не показываются в режиме редактирования - Edit Mode)

 Fig 13.
Увеличить
Fig 13.

2.Tab для перехода в режим редактирования, используя пропорциональное редактирование (О) в виде сбоку, переместите вершины (G). Они выглядят немного квадратно для холмов, поэтому нажмите несколько раз кнопку Smooth, и передвиньте вершины опять немного вверх. см. рис.13

 Fig 14.
Увеличить
Fig 14.

3.Используя ту же технику, создайте впадины, перемещая вершины вниз. И не бойтесь выбирать части трэка и опускать их или поднимать. Ещё можете использовать Select>Random в меню. Вот что я получил после "игры" с этими настройками (см. рис.14). Ландшафт может быть немного грубым в геймлете, проблема может быть решена применением модификатора Subsurf.

Создание геймлета

Хорошо, теперь у нас есть машинка, окружение, по которому она будет ездить. Время соединить всё вместе и играть:)


Маленький совет: давайте контроллерам имена, имеющие смысл. Пока для нашей маленькой игры это не так критично, но во время создания большой игры это становится необходимостью.

 рис.15.
Увеличить
рис.15.
  • 1.Переключите всё на 1 слой для того, чтобы увидеть машинку. Вам нужно будет изменить машинку в размерах до размера трэка. Потом примените поворот и деформацию (Ctrl+A). Хорошо бы сделать то же самое с остальными объектами. см. рис.15
  • 2.Сделайте машинку "родителем" камеры, чтобы видеть куда она едет в игре (Первой выберите камеру, потом машинку и нажмите Ctrl+P)
  • 3.Сейчас мы используем игровую логику для настройки контроллеров машинки. Будем использовать только 4 контроллера, соответствующие стрелкам на клавиатуре. С помощью них машинка будет двигаться вперёд, влево, вправо и назад.
  • 4.Выделите машинку, откройте окно с игровой логикой (F4).
  • 5.Нажмите кнопку Actor, откроются новые опции и кнопки.
  • 6.Нажмите Dynamic
  • 7.Оставшиеся настройки можете оставить сейчас по умолчанию.
  • 8.Нажмите Bounds и выберите Box как тип ограничения (bounding)
  • 9.Посмотрите теперь на цифровое поле Radius. Установите его значение так, чтобы розовый пунктирный круг был размер с машинку. Не делайте его больше или меньше. Возможно, придётся включить режим отображения wireframe, чтобы лучше увидеть его.
 рис.16.
Увеличить
рис.16.

Я покажу вам, как настроить первый контроллер, а потом вы сможете настроить остальные, изучив рис.16 или включённый .blend файл.

  • 1.Вы видите 3 столбика с настройками справа (sensors, controllers, actuators).
  • 2.Нажмите Add в первом из них (sensor)
  • 3.Выберите из выпадающего списка Keyboard вместо Always.
  • 4.Нажмите на поле Key, появится надпись Press a Key. Нажмите стрелку вверх на клавиатуре.
  • 5.Нажмите Add на второй колонке (Controller)
  • 6.Нажмите Add на третьей колонке (Actuator)
  • 7.В средней колонке поля dLoc напишите 0.25
  • 8.Нажмите на маленький шарик справа от колонки Sensor и перетащите его на колонку Controller, потом шарик колонки Controller на Actuator.


Теперь у вас есть элементы игровой логики, соединённые в первый контроллер. Как результат, машинка в игровом движке будет двигаться вперёд (по оси Y), когда вы будете нажимать стрелку вверх. Нажмите P, чтобы поиграть в ваш геймлет.

Вот как вы можете улучшить свою игру:

  • 1.Добавьте звук
  • 2.Двигатель "ревёт" когда вы нажимаете на газ
  • 3.Колёса поворачиваются при поворотах
  • 4.Пусть машинка "брякает" при ударе.
  • 5.Добавьте движущиеся объекты (коровы, свинки, например:))
  • 6.Добавьте трамплины/препятствия с водными ловушками. Или без.
  • 7.Добавьте падающие объекты, чтоб машинка от них уворачивалась/объезжала.
  • 8.Добавить здания/скрытые мосты
  • 9.Создать небольшие озёра в некоторых впадинах
  • 10.Добавить несколько низкополигональных деревьев
  • 11.Окружите трэк или саму сетку (превратив их в остров)
  • 12.Добавить небо


Вы можете найти хорошие советы по улучшению игры в 7-м номере журнала - Creating a Realistic Environment for BGE■ by John Allie (plantperson).


Другие ресурсы об игровом движке:


<<< BlenderArt-ru

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