Новости

31 мая 2011

Фотографии

Появились новые фотографии.

31 мая 2011

Фотографии 2

Добавились ещё фотографии.

01 июня 2011

Актуаторы

Visibility - Показывает или скрывает объект. Game - Перезапускает или останавливает игру. Может также загрузить нову…

01 июня 2011

Контроллеры

AND - вызывает связанный актуатор, если сработали все связанные с ним сенсоры. OR - вызывает связанный актуатор, …

01 июня 2011

Краткий обзор всех типов сенсоров Блендера.

Краткий обзор всех типов сенсоров Блендера.Сенсоры Joystick - реагирует на сигналы от джойстика (Влево/вправо, вв…

01 июня 2011

Ссылки

Добавились новые ссылки на скачивание игр.

Краткий обзор всех типов сенсоров Блендера.

Сенсоры

  • Joystick - реагирует на сигналы от джойстика (Влево/вправо, вверх/вниз, кнопки).
  • Message - срабатывает, когда приходит сообщение. Вы можете послать сообщения другим объектам, используя актуатор Message.
  • Ray - срабатывает, когда объект находится около заданной оси координат. Вы можете дополнительно проверить, материал объекта или значение Property.
  • Random - срабатывает случайным образом. Частота срабатываний регулируется параметром Seed (или используйте генератор случайных чисел в Python).
  • Property - срабатывает, когда значение свойства находится между заданными минимумом и максимумом, или равно заданной величине.
  • Radar - срабатывает, когда объект появляется заданной области (задается расстоянием и углом).
  • Near - срабатывает, когда объект появляется на заданном расстоянии от объекта с сенсором.
  • Collision - срабатывает, когда объект вступает во взаимодействие (сталкивается) с другим объектом. Вы можете задать материал или свойство, которые должен иметь объект.
  • Touch - срабатывает, когда объект касается объекта с сенсором.
  • Mouse - срабатывает, когда происходит заданное событие мыши, например клик кнопкой мыши, перемещение мыши и т.д.
  • Keyboard - срабатывает, когда нажата заданная клавиша.
  • Always – срабатывает непрерывно.
Материалы стены перемещены в Гостевую книгу

Контроллеры

  • AND - вызывает связанный актуатор, если сработали все связанные с ним сенсоры.
  • OR - вызывает связанный актуатор, если сработал хотя бы один связанный с ним сенсор.
  • Expression – Вычисляет выражение.
  • Python - вызывает скрипт на языке Python.
Материалы стены перемещены в Гостевую книгу

Актуаторы

  • Visibility - Показывает или скрывает объект.
  • Game - Перезапускает или останавливает игру. Может также загрузить новую сцену.
  • CD – Позволяет управлять музыкальными треками на компакт-диске.
  • Message - Посылает сообщение во все объекты сцены, или в заданный объект. Это сообщение принимает сенсор Message.
  • Random – Устанавливает случайное значение в свойстве объекта.
  • Scene - Позволяет управлять сценой - загрузка, игра, пауза и т.д. Этот актуатор очень полезен для показа различных сцен, таких как заставка или меню. Когда пользователь хочет начать игру, сенсор клавиатуры (например нажатие клавиши [Пробел], чтобы начать игру) можно привязать к актуатору Scene, который загрузит сцену игры. Также этот актуатор позволяет вам указывать, как камера будет смотреть на сцену.
  • Edit object - дает контроль за добавлением, редактированием и удалением объектов в сцене во время игры. Может быть использован, например, чтобы выпустить пулю из оружия. Умеет также отслеживать объекты.
  • Property - Установка значений свойств объектов.
  • Sound - Позволяет управлять звуком. Доступны только те звуковые треки, которые были загружены в Блендер.
  • Camera - Позволяет камере отслеживать объект. Камера может быть помещена позади объекта (а также по осям X или Y) и закреплена на заданном расстоянии (минимум и максимум) от объекта, и на заданной высоте.
  • IPO - Позволяет управлять анимацией объекта в игре.
  • Constraint - Ограничивает возможные положения объекта.
  • Motion - Позволяет управлять движением объекта. Управление может быть как прямое (dLoc и dRot), так и с помощью физики (Force и Torque)
Материалы стены перемещены в Гостевую книгу

Изучаем Blender Game.

Создание физической модели в GE

В панели логики вы можете найти кнопку Actor.

Нажмите эту кнопку, и вам станет доступен ряд настроек для выделенного объекта.

Включите кнопку Dynamic. Это скажет GE, что выбранная модель - физический объект. Так же появится ряд дополнительных настроек для объекта.

Укажите следующие настройки:

  • Rigid Body. Объект будет правильно вращаться с помощью физического движка GE. Если эта опция не будет включена, объект сможет лишь перемещаться, но не сможет вращаться.
  • No sleeping. Объект никогда не будет деактивироваться ("засыпать”).
Blender
Blender
Blender
Blender

Теперь нажмите [P], чтобы войти в GE. Вы увидите, что, даже при том, что мы не добавляли никаких логических блоков, сфера начинает двигаться. Это происходит потому, что сила тяжести действует на сферу, и она начинает падать. Это иллюстрирует одну из особенностей взаимодействия в пределах физического мира сцены. Нажмите [Esc], чтобы вернуться в Блендер.

Blender

Нам нужно добавить в сцену что-то, на что сфера может упасть.

Добавьте в сцену поверхность (Add > Mesh > Plane).

Нажмите [Tab], чтобы сменить режим Edit на Object.

Нажмите [Alt+R], чтобы очистить параметры поворота объекта.

Поместите поверхность под сферой, и нажмите [P]. Вы увидите, что теперь сфера падает на поверхность и останавливается.

Теперь нам надо увеличить поверхность так, чтобы у нас было больше места для того, чтобы перемещать сферу по поверхности.

Смените тип 3D курсора с режима перемещения в режим масштабирования ([Ctrl+Alt+S]).

Увеличьте поверхность так, чтобы она стала приблизительно в десять раз больше по осям X и Y.

Рисунки справа иллюстрируют процесс добавления, перемещения и масштабирования поверхности.

Перемещение физического объекта в GE

Теперь мы применим физические силы к сфере, заставив ее перемещаться по сцене.

ВНИМАНИЕ. Убедитесь, что сфера выделена. Если вы только что создали поверхность, она все еще будет выделенной. Чтобы снова выделить сферу, вам надо щелкнуть по ней правой кнопкой мыши.

Добавьте сфере новые сенсор, контроллер и актуатор в панели логики, и соедините их.

В актуаторе Motion нам надо установить значения параметра Force, чтобы перемещать объект по сцене.

Установите значение Y (2-я колонка) параметра Force в 1.

Blender

Теперь нажмите [P]. Вы можете видеть, что сфера падает на поверхность и начинать катиться.

После того, как она пройдет некоторое расстояние, она начнет катиться в обратную сторону. Это происходит потому, что мы применили к сфере силу, вдоль локальной оси Y сферы. Поскольку сфера может вращаться, ось Y также вращается, как показано на рисунке ниже. Нажмите [Esc], чтобы вернуться в Блендер.

Blender
Blender

Чтобы поправить это, мы изменим направление действия силы с локальной оси на глобальную. Чтобы сделать это, отключите кнопку L справа от параметра Force. Нажмите [P] снова, и вы увидите, что сфера непрерывно катится в нужном направлении.

Вы, возможно, не заметили, как работает физический движок. Как только мы применяем силу к сфере, она начнет катиться. Это вращение вызвано взаимодействием между сферой и поверхностью.

Кроме того, как только сфера достигнет края поверхности, она будет информирована движком об этом факте, и продолжит падать.

Это всего лишь некоторые примеры использования физики в GE.

Нажмите [Esc], чтобы вернуться в Блендер.

Управление сферой с помощью клавиш курсора

Blender

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

Измените тип сенсора на Keyboard, и назначьте ему клавишу [Вверх].

Теперь добавьте новые сенсоры, контроллеры и актуаторы, соедините их между собой, и настройте следующим образом:

  • сенсор клавиши [Вниз] управляет актуатором Motion со значением -1 в поле Y (2-й) параметра Force (с отключенной кнопкой L).
  • сенсор клавиши [Влево] управляет актуатором Motion со значением -1 в поле X (1-й) параметра Force (с отключенной кнопкой L).
  • сенсор клавиши [Вправо] управляет актуатором Motion со значением 1 в поле X (1-й) параметра Force (с отключенной кнопкой L).

Когда вы снова нажмете [P], вы сможете управлять сферой и перемещать ее по поверхности. Нажмите [Esc], чтобы вернуться в Блендер.

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

Можете поэкспериментировать со значениями в актуаторах от 1 до 2, и от -1 до-2.

 

Blender

Добавление препятствий в сцену

Добавьте в сцену куб (Add > Mesh > Cube). Нажмите [Tab], чтобы выйти режима Edit. Нажмите [Alt+R], чтобы очистить параметры поворота объекта, и поместите куб куда-нибудь, на поверхность.

Повторите этот шаг, добавив на поверхность еще несколько различных объектов.

Теперь, нажмите [P]. Вы увидите, как сфера сталкивается и отскакивает от объектов, которые вы добавили. Это еще один пример использования физики в GE.

Нажмите [Esc], чтобы вернуться в Блендер. Вы можете попробовать добавить в сцену еще поверхностей для создания горок и трамплинов.

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

Создание нескольких физических объектов

Выделите куб, который вы добавили в сцену. В панели логики, установите те же параметры физики, которые вы устанавливали для сферы (только не включайте No sleeping, чтобы позволить объекту "заснуть”; когда объект это освобождает ресурсы для вычислений в физическом движке)

Теперь, нажмите [P], чтобы запустить игру, и подкатите сферу к кубу. Вы увидите, что куб начал двигаться от удара сферой.

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

В настоящее время система физики Блендера предполагает, что у вновь добавленного объекта по умолчанию будет сферическая модель взаимодействия. Нажмите [Esc], чтобы вернуться в Блендер.

Blender

Найдите кнопку Bounds ниже секции Actor. Нажмите эту кнопку, и в дополнительном списке можно будет выбрать различные модели взаимодействий. По умолчанию это - Box.

В случае куба модель будет замечательно работать. Однако, если у Вас будет более сложная форма объекта, то вам, возможно, поможет модель "Convex Hull Polytope”.

Выберите какой-нибудь, другой объект из тех, которые вы добавили в сцену, и повторите те же шаги, только выбрав модель взаимодействия "Convex Hull Polytope”.

Нажмите [P], и покатайте сферу к разным объектам, заставляя из двигаться. Нажмите [Esc], чтобы вернуться в Блендер.

 


Переименование объектов

Когда вы добавляете новый объект, Блендер назначает этому объекту название по умолчанию (например. Cube, или Cube.001, если Cube уже существует).

Хорошей практикой является переименование объектов согласно их роли в сцене. Это сделает вашу сцену более понятной как вам, так и другим людям, изучающим вашу сцену. Чтобы переименовать объект, вы можете выбрать панель Object, и изменить название в поле OB вкладки Object and Links.

Вы можете также переименовать объект в панели Editing, во вкладке Link and Materials.

Blender
Blender

Завершение урока по основам GE

Поздравляем! Вы завершили урок по основам использования Blender Game Engine! У вас теперь есть основные навыки использования GE. Но вам еще нужно набраться опыта по следующим темам:

  • Соединение сенсоров, контроллеров и актуаторов в панели логики.
  • Использование актуатора Motion для прямого перемещения объектов.
  • Использование актуатора Motion для перемещения объектов с помощью физики.
  • Управление объектами игры с помощью клавиатуры.
  • Создание простой 3D-игры.
  • Создание в GE новых объектов с физикой.

С навыками, которые вы получили, вы сможете усложнить эту простую сцену, когда узнаете больше о моделировании в Блендере.

На данном этапе, вы, возможно, захотите построить заключительную сцену заново, чтобы проверить, насколько далеко вы сможете пройти, не читая урока. Если вы сможете восстановить все по памяти, значит вы находитесь на пути к становлению продвинутым пользователем Blender GE!

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


Создание более сложных уровней игры и взаимодействий

Создание прыжка сферы

Blender

Сейчас мы заставим нашу сферу подпрыгнуть, когда мы нажмем клавишу [Пробел].

Добавьте новый сенсор, контроллер и актуатор к сфере и соедините их. Измените тип сенсора на Keyboard, и назначьте ему клавишу [Пробел].

В секции Force актуатора Motion, установите значение Z (2-я колонка) в 250. Отключите кнопку L, чтобы усилие применялось относительно глобальной системы координат, а не локальной системы координат объекта.

Это придаст сфере небольшой толчок, что будет выглядеть, как будто сфера подпрыгивает.

Нажмите [P], и в игре нажмите клавишу [Пробел]. Вы заметите, что сфера подпрыгнет прямо в воздухе. А если вы будете постоянно держать клавишу [Пробел] нажатой, то сфера будет постоянно подниматься вверх.

 

Blender

Мы должны создать дополнительное ограничение - сфера может подпрыгнуть только тогда, когда она касается поверхности. Чтобы сделать это, мы будем использовать сенсор типа Touch. Добавьте еще один сенсор к сфере, и измените его тип на Touch. Теперь соедините этот сенсор с тем же контроллером, с которым связан сенсор клавиши [Пробел].

Контроллер пошлет сигнал в связанный с ним актуатор только тогда, когда к нему поступят сигналы от двух сенсоров одновременно, т.е. будет нажата клавиша [Пробел] и сфера будет касаться другого объекта, например, поверхности.

 

Рестарт игры по событию

Когда сфера коснется определенного объекта, мы заставим GE перезапустить игру.

  • Добавьте новый объект в сцену (мы будем использовать цилиндр), и разместите его где-нибудь, недалеко от сферы (но не касаясь ее). Удостоверьтесь, что новый объект выделен.
Blender
  • Откройте панель логики, добавьте объекту сенсор, контроллер и актуатор и соедините их вместе.
  • Измените тип актуатора на Scene. Действие по умолчанию актуатора Scene - Restart.

Теперь, нажмите [P], чтобы запустить игру. Будет похоже, что ничто не происходит. Это потому, что сенсор Always постоянно вызывает актуатор Scene, а тот, в свою очередь, рестартует игру.

Нажмите [Esc], чтобы выйти из игры.

Blender
Blender
  • Измените тип сенсора на Keyboard, и назначьте ему клавишу [R].
  • Нажмите [P], и вы снова сможете двигать сферу.

Нажатие же клавиши [R] перезапустит игру.

Нажмите [Esc], чтобы выйти из игры.

Теперь измените тип сенсора на Touch.

Запустите игру. Теперь игра будет перезапускаться, когда вы будете касаться цилиндра сферой.

Нажмите [Esc], чтобы выйти из игры.

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

Сбор предметов в игре

Мы добавим в сцену объекты, которые игрок сможет собрать, когда подходит к ним.

  • Добавьте на сцену сферу и поместите ее на некотором расстоянии от главной сферы.
  • Добавьте этой сфере сенсор, контроллер и актуатор, и соедините их.
  • Измените тип сенсора на Near
  • Измените тип актуатора на Edit Object.
  • В настройках актуатора измените Add Object на End Object.
Blender
  • Включите кнопки Actor и Ghost. Параметр Ghost означает, что никакие другие объекты не смогут взаимодействовать с данным объектом.

Запустите игру. Теперь, когда вы будете двигаться около этой сферы, она исчезнет.

Нажмите [Esc], чтобы вернуться в Блендер.

Подсчет собранных объектов

Когда мы подбираем объект, нам нужно как-то это запомнить, чтобы показать общее количество собранных объектов.

Для этого будем использовать актуатор Message, который посылает сигнал другому объекту сцены, у которого есть сенсор Message. Этот сенсор будет реагировать на сообщение от актуатора, и увеличивать количество собранных объектов.

  • Добавьте еще один актуатор к сфере, которую мы будем подбирать, и измените его тип на Message.
  • Соедините этот актуатор с существующим контроллером.
Blender
  • Измените поле Subject актуатора на что-нибудь, понятное, например "pickup". Важно запомнить это название, поскольку оно потребуется для настройки сенсора Message.

Когда сенсор Near сработает, будут вызваны сразу оба актуатора, и актуатором Message будет послано сообщение всем объектам в сцене.

Для хранения информации о количестве собранных объектов мы будет использовать другой объект. Для этой цели можно использовать объект Empty. Он будет присутствовать на сцене, но, поскольку у него нет никакой геометрии, его не будет видно в GE.

  • Добавьте объект Empty на сцену (Add > Empty).
  • Когда этот объект выделен, нажмите на кнопку Add Property в панели логики.
  • Измените название добавленного свойства (Property) объекта на items, и смените его тип с Float на Int (целое число). Тут мы будем хранить количество собранных объектов.
  • Наконец, нажмите кнопку D справа от нового свойства. Это позволит вам его видеть значение в процессе игры. Чтобы видеть все значения свойств в процессе игры, выберите опцию Show Debug Properties в меню Game.
Blender

Blender
Blender

Нажмите [P], чтобы запустить игру. Вы увидите текст в углу экрана, который показывает значение свойства items (в настоящее это 0).

Нажмите [Esc], чтобы вернуться в Блендер.

  • Добавьте объекту Empty сенсор, контроллер и актуатор, и соедините их.
  • Измените тип сенсора на Message, и наберите в поле Subject "pickup" (то самое название, которое вы указали в поле Subject актуатора Message собираемого объекта).
  • Измените тип актуатора на Property, и смените в его настройках Assign на Add.
Blender
  • Измените поле Prop на "items" (название свойства, которое нужно увеличивать), и установите Value в 1.

Теперь, нажмите [P], чтобы запустить игру, и подберите объект - вы увидите, что когда вы его подберете, значение items увеличится.

Нажмите [Esc], чтобы вернуться в Блендер.

Вы можете использовать величину items для внесения некоторых изменений в игру, таких как перезапуск или переход на новую сцену, когда будет собрано определенное количество объектов.


Добавление цвета в игру с помощью Материалов

До сих пор все добавленные в сцену объекты имели серый цвет. Чтобы изменить вид сцены, мы добавим цвета моделям в сцене, создавая новые материалы для их.

  • Откройте панель Materials, нажав на иконку с серой сферой, или нажав клавишу [F5].
  • Выделите нашу основную сферу в 3D-окне правой кнопкой мыши (RMB).
  • Нажмите на кнопку Add New. Это добавит сфере новый материал. Появится большое количество настроек для материала. Нам сейчас надо только изменить цвет материала.
  • Нажмите по полю, обозначенному, как Col, которое задает основной цвет материала.
  • Появится диалог выбора цвета. Выберите в нем красный цвет, и уведите курсор мыши с окна диалога. Сфера на сцене станет красной.
Blender
Blender
Blender

Повторите эти шаги для других объектов в сцене, назначив им различные цвета.

Blender


Создание автономной версии игры

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

В меню Блендера, выберите File > Save Runtime.

В диалоге Save введите имя исполняемого файла для игры (например ball_game). Это создаст файл ball_game.exe.

Blender
Blender

 

Желаем удачи на игровом попреще.

Материалы стены перемещены в Гостевую книгу
© Sir-Attila

Обратная связь

Имя отправителя *:
E-mail отправителя *:
Тема письма:
Текст сообщения *:
Код безопасности *:

Бесплатный хостинг uCoz