Главная страница
Образовательный портал Как узнать результаты егэ Стихи про летний лагерь 3агадки для детей
qrcode

BlenderBasics 2.6 издание №4 rus. James ChronisterJames ChronisterBlender Basics Blender Basics


Скачать 14.72 Mb.
НазваниеJames ChronisterJames ChronisterBlender Basics Blender Basics
АнкорBlenderBasics 2.6 издание №4 rus.pdf
Дата06.10.2017
Размер14.72 Mb.
Формат файлаpdf
Имя файлаBlenderBasics_2_6_izdanie_4_rus.pdf
оригинальный pdf просмотр
ТипДокументы
#26965
страница17 из 20
КаталогОбразовательный портал Как узнать результаты егэ Стихи про летний лагерь 3агадки для детей
Образовательный портал Как узнать результаты егэ Стихи про летний лагерь 3агадки для детей
1   ...   12   13   14   15   16   17   18   19   20
Содержание главы
ОГЛАВЛЕНИЕ
357

Глава 21: Основы использования Игрового Движка
Содержание главы

Настройки физического движка

Раздел Physics

Раздел Scene

Раздел Render

Типы физических объектов Dynamic и Rigid Body

Материалы для Игрового Движка

Использование игровой физики в анимации

Использование логических блоков

Создание сцены

Настройка объекта - актера

Работа с логическими блоками

Использование анимации в Играх

Практика: Создание интерактивной сцены
ОГЛАВЛЕНИЕ
358

Как создать 3D-игру с помощью Blender? Как можно использовать физический движок Blender для создания анимации? Вы пытались создать реалистичный эффект падения домино в Blender используя лишь традиционные ключи анимации? Это будет очень трудной задачей.
Используя возможности инструментов реального времени в Blender вы получите гораздо более качественный результат за меньшее время.
В одном из самых кассовых фильмов прошлого года "2012" для создания реалистичных падающих и разрушающихся зданий, летящего мусора использовался физический движок
Bullet
. И именно
Bullet используется в Blender для создания эффектов и расчетов взаимодействия объектов в реальном времени.
Игровой движок Blender использует язык программирования
Python
Можете ли вы создавать отличные игры без знания
Python
? Определенно "Да", но если вы захотите достичь более профессионального уровня, знание
Python будет необходимо. В Интернет есть большое количество хорошей документации для изучения
Python
ОГЛАВЛЕНИЕ
Содержание главы
359

Настройки физического движка
Давайте для примера создадим реалистичную анимацию падения шара с помощью физического движка. Первое что для этого нужно будет сделать - создать сцену. Для этого примера я создал простую сцену с UV-Сферой в 4 юнитах над
Плоскостью. Помните, что в этой сцене будет гравитация и взаимодействие между объектами. Поэтому объекты должны располагаться как в реальной жизни, плоско из вида спереди, относительно глобальных осей координат.
Теперь мы можем можем включить анимацию реального времени. Когда я первый раз посмотрел на Blender 2.6 я не мог понять как и где сделать объект действующим лицом анимации (
actor
), так сильно изменился интерфейс! Вот что вам нужно будет для этого сделать:
Для включения Игрового Движка Blender обратите внимание на панель в верхней части окна Blender и найдите выпадающее меню с выбором
Движка Рендера
По умолчанию здесь будет значение "
Blender
Render
", измените его на "
Blender
Game
".
После этого изменится набор параметров во многих раздела Окна
Свойств, дав доступ к параметрам настройки игрового движка.
Нас будут интересовать параметры в 3-х из них:
Содержание главы
ОГЛАВЛЕНИЕ
360

Раздел
Physics
В разделе
Physics
вы управляете Объектами-Актерами (
Actors
) вашей анимации реального времени. По умолчанию все объекты Статичны ("
Static
"), что означает что они не взаимодействуют с параметрами физического движка.
Они могут выполнять действия, назначаемые им с помощью логических блоков, но ничего более. Два других типа - "
Dinamic
" и "
Rigid
Body
" мы рассмотрим чуть позже. С помощью опции "
Invisible
" вы можете сделать какие то из объектов невидимыми.
Два других важных параметра в этом разделе это "
Radius
", который определяет размер области взаимодействия вокруг объекта-актера, и "
Collision
Bounds
", который позволяет задать форму области взаимодействия, отличную от шара. Все это мы более подробно рассмотрим чуть позже.
Раздел
Scene
Наиболее важным параметром в этом разделе является "
Gravity
". По умолчанию этот параметр имеет значение соответствующее гравитации на земле.
Но что если вы создаете сцену в космосе где гравитация не имеет значения?
Тогда вам нужно будет установить этот параметр в значение 0.000 либо близкое к нему. Возможно вы захотите создать игру, где объекты будут притягиваться к чему то по оси
X
, эти параметры так же нужно будет настроить здесь.
Содержание главы
ОГЛАВЛЕНИЕ
361

Раздел
Render
Как и при выполнении рендера изображения, именно здесь вы включаете игровой движок. Вы можете нажать на кнопку "
Start
" или использовать клавишу "
P
".
Конечным результатом создания игры, обычно, является создание
standalone-
приложения
(приложения, не зависящего от Blender). Это потребует сохранить сцену, как независимое приложение, способное запускать само себя. Здесь вы можете настроить параметры запуска такого приложения: размер окна игры, глубину цвета, скорость игры в кадрах в секунду и эффекты при переходе в полноэкранный режим.
Поскольку в играх очень активно используются звуковые эффекты здесь присутствуют параметры воспроизведения звуков во время игры.
Теперь самое время назначить физические параметры для сферы. Но сначала давайте добавим в сцену Конус. Конус выступит в роли дефлектора, чтобы падение шара было более сложным и интересным.
Переключитесь в режим сплошного
затенения и выберите UV-Сферу. Слегка поверните ваш вид, чтобы вы могли видеть,
Содержание главы
ОГЛАВЛЕНИЕ
362
что будет происходить при назначении физических параметров объектам. Мы хотим увидеть как шар будет падать и ударяться об объекты.
Для этого перейдем в раздел
Physics
в Окне Свойств и сделаем некоторые настройки.
Измените тип физических расчетов для UV-Сферы на "
Dynamic
". Если вы переключитесь в каркасный
(
wireframe
) режим отображения объектов и уменьшите размер сферы, то увидите небольшой пунктирный круг.
Этот круг представляет собой активный размер объекта- актера и взаимодействия будут просчитываться в соответствии с этим размером. Вам нужно будет изменить параметр "
Radius
" для соответствия активной физической области размерам UV-Cферы. Если окружность будет больше Сферы, при запуске игрового движка Сфера зависнет над поверхностью и никогда ее не коснется.

Игровой движок ожидает, что размер объекта-актера (его радиус) будет равен единице, чего в действительности практически никогда не происходит.
Если вы уменьшите радиус объекта-актера и активной области, взаимодействия по прежнему могут работать неправильно.
Использование команды
Ctrl -"A"
и сброс параметров
Scale
и
Rotation
обычно решают эту проблему.
Содержание главы
ОГЛАВЛЕНИЕ
363

Теперь давайте проверим созданную нами физическую систему.
Переключите режим отображения объектов обратно в Сплошной (
Solid
).
Наведите курсор мыши на окно 3D-вида и нажмите клавишу "
P
".
Blender переключится в режим работы игрового движка. Шар должен начать падать и удариться о конус. Но взаимодействие будет не очень реалистичным. Если вы разместили Сферу точно над Конусом, то ваш шар, вероятно, будет отскакивать от его вершины! Если такое происходит, слега переместите Конус и запустите игровой движок еще раз.
Теперь Шар ударяется о Конус и скользит вниз по его грани. Но при этом Шар не вращается, как это происходит в реальности.
Для выхода из режима работы игрового движка нажмите клавишу "
Esc
".
Типы физических объектов
Dynamic
и
Rigid Body
Объект-актер типа
Dynamic
участвует в сцене как физический объект, может падать и отскакивать, реагирует на действие сил но не ведет себя как настоящее твердое тело (
rigid body
). Такого типа объекты хорошо подходят для игр, где вам нужно ехать или идти по лабиринту.
Объекты же с типом
Rigid
Body
будут вести себя как настоящие твердые предметы в реальном мире.
Они будут вращаться и отклоняться при взаимодействии с другими объектами. Такие объекты пригодятся при создании игр, но более полезны при создании анимации разрушающейся кирпичной стены и отскакивающих объектов.
Содержание главы
ОГЛАВЛЕНИЕ
364

Давайте изменим тип физического объекта для UV-Сферы на "
Rigid
Body
" и проверим получившийся результат, нажав клавишу "
P
". Теперь шар должен упасть и покатиться по плоскости, после чего свалиться в "ничто". Нажмите клавишу "
Esc
" для выхода из режима работы игрового движка.
Попробуйте поэкспериментировать с таким параметром как
Mass
(Масса).
Как и в реальном мире, при столкновении двух объектов разной массы, один будет испытывать на себе более мощный эффект чем другой.
Не смотря на то, что мы изменили физический тип сферы на "
Rigid
Body
" у нас по прежнему присутствует Радиус активной области объекта и расчет поведения объекта производится в соответствии со значением параметра
Radius
Если вы удалите Сферу и вместо нее добавите Куб (назначив ему тип
Rigid
Body
), он будет падать и катиться в точности как Шар.
Для исправления такого поведения вам потребуется активировать панель "
Collision Bounds
" и выбрать тип границы. Тип "
Box
" отлично подойдет для
кубического объекта, в то время как "
Convex
Hull
" и "
Triangle
Mesh
" подойдут для более сложных форм.
Для определения лучшего типа для вашего объекта необходимо экспериментировать.
Содержание главы
ОГЛАВЛЕНИЕ
365

При просмотре вашей физической модели в действии вы можете заметить некоторые недочеты в поведении и взаимодействии объектов. Например, шар может слегка пробуксовывать либо наоборот проскальзывать. Он может слишком сильно отскакивать и слишком много вращаться в воздухе, либо наоборот, слишком мало. У нас есть два места где мы можем регулировать параметры, влияющие на такое поведение.
Первое - это раздел
Physics
. Здесь на панели
Physics вы найдете
блок
Damping
. Слайдер "
Translation
" изменяет степень проскальзывания в направлении движения (подобно скольжению на льду), в то время как
слайдер "
Rotation
" изменяет сопротивление вращению.
Эти два параметра мы рассмотрим более подробно при разговоре о создании игры.
Вторым местом, где расположены параметры, влияющие на поведение объектов в игровом движке, является раздел
Materials
. Добавьте материал для Сферы и найдите панель
Physics
с настройками физических параметров.
Если вы хотите сделать что-то "прыгучим", увеличьте значение слайдера "
Elasticity
", параметр "
Friction
" будет управлять степенью трения либо степенью проскальзывания объекта. Здесь вы так же можете применить силы и степень затухания. Для правильной работы этих параметров материалы следует накладывать на оба взаимодействующих объекта (например,
Эластичность следует настраивать как на Сфере так и на Плоскости).
Содержание главы
ОГЛАВЛЕНИЕ
366

Материалы для Игрового Движка
Некоторые вещи, работающие при рендере, не будут работать в игровом движке, но некоторые работают в обоих случаях. Например, стандартная текстура-изображение будет работать и в игровом движке, но многие параметры ее настройки работать не будут. В последних версиях Blender над текстурами для игрового движка была проведена большая работа и мы с вами рассмотрим некоторые из нововведений чуть позже, в разделе об UV-развертках.
Пока мы будем использовать стандартные цвета материала из панели
Diffuse
. Для того, что бы увидеть как ваши объекты будут выглядеть во время игры, переключите режим отображения объектов с
"
Solid
" на "
Textured
".
Либо нажмите клавишу "
P
" и вы увидите как будут выглядеть объекты после сохранения игры. Следующая часть рассказывает об использовании игрового движка для получения анимаций. В рамках такого способа использования игрового движка вы можете работать с материалами как и раньше, конечная обработка изображения будет проводиться стандартным рендером.
Содержание главы
ОГЛАВЛЕНИЕ
367

Использование игровой физики в анимации
У нас есть шар, падающий на конус и катящийся по плоскости. Все отлично работает при нажатии клавиши "
P
". Но что, если вы хотите использовать такое поведение объектов в анимационном видео? Если вы сейчас нажмете
Alt -"A"
на экране ничего не будет происходить. Все потому, что взаимодействия и поведения объектов не были записаны в кривые анимации ... пока не были!
Запись игровой физики в кривые анимации очень простой процесс.
Для записи разверните сверху меню "
Game
" и выберите опцию "
Record
Animation
".
Это включит функцию записи поведения объектов во время работы игрового движка. Теперь нажмите клавишу "
P
", дождитесь пока в сцене произойдет все что вам нужно, затем, нажмите клавишу
Esc
для выхода.
Зайдите еще раз в меню "
Game
" и выключите опцию "
Record
Animation
".
Поведение объектов было записано и теперь нам нужно работать с ними как с обычной анимацией. Для этого переключите режим рендера с "
Game
Engine
" на "
Blender
Render
" (так же на верхней панели в выпадающем меню).
Содержание главы
ОГЛАВЛЕНИЕ
368

Давайте проверим записанную анимацию. Переключите режим организации рабочего пространства с "
Default
" на "
Animation
".
Вы должны видеть кривые анимации в окне
Редактора Кривых. Нажмите
Alt -"A"
для просмотра записанной анимации.
Теперь вы можете работать с вашей сценой как с любой другой анимацией, включая настройки материалов и наложение текстур.

Всегда отключайте опцию "
Record
Animation
" после окончания записи поведения объектов в игровом движке.
Если вы случайно забудете про нее и оставите включенной, при повторном нажатии клавиши "
P
" все ранее записанные кривые анимации будут переписаны заново!
Единственной проблемой такого способа создания анимаций объектов может стать скорость их движения.
Обычно игровой движок просчитывает движения объектов с большой частотой кадров (
FPS
), и при воспроизведении на скорости 25 или 30 кадров в секунду движения кажутся очень медленными.
Есть несколько способов исправить этот недочет:
Содержание главы
ОГЛАВЛЕНИЕ
369

Способ 1-й: Пересчитать тайминг в разделе
Render
.
В Окне Свойств перейдите в раздел
Render и на панели
Dimensions
найдите параметры "
Old
" и "
New
". Если вам нужно чтобы видео воспроизводилось в два раза быстрее, установите параметр "
New
" в значение
50 (имеется ввиду 50%) и назначте последний кадр анимации в два раза ближе к началу. Если же вам нужно замедлить анимацию, скажем в два раза, используйте для параметра "
New
" значение 200 и установите параметр конечного кадра анимации в два раза дальше от начала.
Способ 2-й: Масштабировать ключи анимации в окне
Диаграммы Ключей
.
Другой метод - выделить все ключи анимации в окне
Диаграммы Ключей (
Dope
Sheet
) имасштабировать их по оси
X
(клавиша "
S
" и "
X
" - затем двигайте мышь вправо).
Содержание главы
ОГЛАВЛЕНИЕ
370

Использование логических блоков
Мы с вами поговорили об использовании физического движка для создания анимации. И вот пришло время поговорить о создании Анимации Реального Времени, как например виртуальная прогулка по зданию и да, об играх.
Создание сцены
Создайте новую сцену, добавьте в сцену Плоскость. Расположите ее так, чтобы Куб располагался прямо на ней. Нажмите клавишу "
N
" и откройте
Панель Трансформаций, измените масштаб Куба по оси
X
до значения 0.200.
Мы используем этот объект как кусок стены. Выделите Плоскость и там же, в
Панели Трансформации, измените масштаб по осям
X и
Y
до значения 10.000. Это будет наш пол.
Теперь добавьте в сцену UV-Сферу и перейдите в Режим Редактирования.
Выделите только одну вершину из вида сверху, как показано на иллюстрации слева, и с помощью клавишу "
G
" вытяните ее вперед. Этот "Нос" будет определять направление "вперед" когда мы сделаем Сферу объектом-актером и будем управлять ее движением с помощью клавиш.
Содержание главы
ОГЛАВЛЕНИЕ
371

Убедитесь, что Сфера находится немного над Плоскостью и не касается ее.
Плотное расположение объектов может привести к коллизии при запуске игрового движка и объекты будут вести себя не так, как вы ожидаете.
Мы создали с вами основу сцены, добавили материалы каждому объекту и задали цвет на панели
Diffuse
для каждого из них. Сейчас у вас должно быть что то, напоминающее сцену на иллюстрации справа.
1   ...   12   13   14   15   16   17   18   19   20

перейти в каталог файлов

Образовательный портал Как узнать результаты егэ Стихи про летний лагерь 3агадки для детей

Образовательный портал Как узнать результаты егэ Стихи про летний лагерь 3агадки для детей