Сегодня я расскажу о Blender Game Engine (BGE) – игровом движке Блендер, который создан на базе знаменитого физического процессора Bullet. С помощью BGE можно создать реалистичные сцены с участием объектов, выполненных из различных материалов, таких как, дерево, метал, стекло, ткань, волосы, кожа и т.д. Кроме того, Блендер позволяет имитировать такие явления как, взрывы, дым, частицы, реалистичное освещение, тени и прочее. Еще одной важной особенностью BGE является то, что эго можно запустить из самого Блендера. То есть, создав модели в Блендере и придав им визуальные, физические и игровые свойства мы сразу же можем наблюдать их взаимодействие на экране Блендера. Это очень удобно при моделировании игрового процесса, а так же при создании анимации.
А сейчас мы испытаем BDE, и посмотрим его в действии. Но прежде, чем приступить ознакомимся с настройками Блендера, а точнее, с теми настройками, которые понадобятся для реализации игрового процесса.
Откроем Блендер. Мы видим интерфейс с множеством окон, кнопок и надписей.
Если у вас все надписи выполнены на английском, то выберите в настройках русский язык так, как для удобства и наилучшего понимания Блендера, мы будем изучать его на русском. Как русифицировать Блендер смотрим здесь.
Итак, с настройками языка разобрались, идем дальше. Настроим Блендер для работы с BGE. Конечно, можно выбрать стандартную конфигурацию Game Logic (в меню «Выбор разметки экрана»), но это не всегда удобно. Поэтому, конфигурацию мы создадим сами. Итак, сначала, переключите рендер в режим игрового движка (просто, выберите «Игр. движок Blender», как показано на рисунке).
Затем, откройте, внизу, окно Редактора логики (зачем, объясню позже).
Выглядит он, как показано на рисунке.
А сейчас приступим к испытанию игрового движка. Для этого, сразу выберем режим затенения текстурой (Alt + Z). Этот режим нужен для нормального рендеринга сцены в игровом движке. Теперь удалим куб (клавиша X или Del) и добавим плоскость (Shift + A).
С помощью масштабирования (S) увеличим её к достаточно большим размерам (это будет поверхность для перемещения объектов). Теперь, добавим сферу (так, как мы добавляли плоскость (Shift + A)) и переместим её, с помощью G (либо с помощью маркеров) на несколько единиц вверх по оси Z (после нажатия G нажмите клавишу Z (это ограничит перемещение строго по оси Z)). Получится должно, примерно, следующее.
Теперь, выберите «Физика» в «Панели свойств»
Обратите внимание на Тип физики, здесь мы видим значение «Неподвижно». Это значит, что объект просто будет «висеть» в пространстве. Тоже самое мы будем наблюдать, если выберем плоскость.
Теперь пришло время запустить движок и посмотреть, что же произойдет. Для этого, удерживая курсор над 3D-окном, нажмите «P». После запуска мы видим, что ничего не происходит и все тела остались на своих местах. Теперь выйдите из BGE (Esc).
А сейчас мы заставим сферу перемещаться в пространстве. Для этого выберите сферу правым кликом и смените «Тип физики» на «Динамически». В разделе «Атрибуты» кроме «Радиуса» появились такие параметры, как «Масса» и «Форм-фактор». Обратите внимание на массу, которая равна 1. Как у любого физического объекта реального мира у нашей виртуальной сферы масса будет всегда больше нуля. Попробуйте установить её в ноль и у вас получится минимальное значение 0.01.
Теперь запустите игровой движок с помощью клавиши P и вы увидите как сфера упала на плоскость. Чтобы вернутся в обычный режим, нажмите Esc.
А сейчас мы научимся перемещать объект с помощью клавиш. Для этого вернемся в панель «Физика» и изменим «Тип физики» сферы на «Твердое тело». В данном режиме сфера может, вращаться и перекатываться, то есть станет максимально похожей на твердое тело округлой формы.
Перейдем в «Редактор логики». Если вы еще не открыли его, то откройте сейчас. Для удобства расширьте окно редактора до максимальных размеров, с помощью Ctr + стрелка вниз или Ctr + стрелка вверх (чтобы вернуться в прежний режим, повторите комбинацию). В редакторе логики мы видим органы управления, с помощью которых можно добавить, «Сенсоры», «Контроллеры» и «Активаторы» для нашей сферы.
Для увеличения или уменьшения панели поверните колесико мыши или воспользуйтесь клавишами «+», «-«, на цифровой клавиатуре. Для управления сферой нам нужно добавить, сенсор, контролер и активатор. Как они работают: сенсор передает сигнал контроллеру, контроллер его обрабатывает и передает активатору, активатор выполняет действие. В нашем случае, сенсор будет работать от нажатия клавиши и передавать сигнал контроллеру, контроллер передаст сигнал активатору, активатор в свою очередь придаст импульс сфере, которая начнет перемещаться вдоль плоскости. Добавим один сенсор (тип сенсора «Клавиатура»), один контроллер (тип «И») и один активатор (тип «Движение). Свяжите сенсор с контроллером, а контроллер с активатором (как показано на рисунке (просто перетащите курсор мыши с точки 1 в точку 2, удерживая левую кнопку)).
Теперь, настроим сенсор, контроллер и активатор. Назначим клавишу сенсору, по нажатию, которой он будет срабатывать. Для этого щелкните мышью в поле «Ключ» и назначьте клавишу «W» (по её нажатию сфера будет перемещаться вперед). Контроллер не нуждается в настройках, поэтому, сразу, перейдем к активатору и установим значение «Сила» по оси Y в 10, затем выключим Определение силы в локальных координатах, щелчком по кнопке «L» (сразу, напротив значения силы), как показано на рисунке.
Верните окно к первоначальным размерам (Ctr + стрелка вниз), вернитесь в 3D - окно и увеличьте плоскость, примерно, в 10 раз, чтобы сфере было куда перемещаться, затем, выберите сферу. Поверните вид 3D окна так, чтобы положительная ось Y смотрела вперед (в направлении от вас). Запустите движок (P). Теперь, во время нажатия клавиши W сфера будет катиться вперед. Выйдите из игрового режима (Esc). Добавьте сенсоры, контроллеры и активаторы для перемещения сферы, назад, вправо и влево (см. рисунок). Не забудьте выключить «Определение движения в локальных координатах».
Теперь добавьте различные объекты с любыми физическими характеристиками и раскрасьте их с помощью материалов. Поэкспериментируйте и поиграйте с ними. Попробуйте изменить, массу, радиус, форму столкновений, и посмотрите, как они будут взаимодействовать.
|