Уроки по Blender Game EngineАктиватор Edit Object (редактирование объекта) позволяет изменять свойства конкретного объекта, а также изменять «меш-содержимое» 3D-сцены в режиме игры. Add Object – добавить объектИспользование типа Add Object активатора Edit Object дает возможность в режиме игры добавлять на сцену новый меш-объект. На самом деле объект должен быть не новым, а “спрятанным” (обычно на другом слое). Новый объект добавляется в то место, где находится объект, к которому добавлен активатор Edit Object -> Add Object. Добавляемый объект (его имя) прописывается в качестве значения свойства OB. Допустим, у нас есть плоскость, на которую планируется в процессе игры добавлять различные предметы при нажатии на различные клавиши, для указания места добавления используется специальная метка-точка (на рис. - кранным цветом), которую можно передвигать по плоскости в четырех направлениях. ![]() На самом деле двигается пустышка (Empty), которая является родителем по отношению к красной метке (Ctrl+P – связь родитель-потомок). Именно для объекта Empty также добавлены активаторы Edit Object. Конечно, можно привязать добавляемые объекты и к красной метке, однако появятся проблемы с их размером и др. ![]() Здесь происходит добавление объектов с именами white и black при нажатии клавиш W и B соответственно. Первые четыре блока сенсоров, контроллеров и активаторов отвечают за движение Empty. У активатора Edit Object -> Add Object есть дополнительные настройки. Добавленные объекты будут исчезать через установленный промежуток времени, если Time не будет нулевым. Измеряется данное свойство не в секундах, а кадрах (обычно в секунде 25-30 кадров). linV и angV позволяют придать объекту некоторое ускорение в момент появления. Движение может быть вдоль оси или вокруг оси (поворот). Работает только с физическими объектами. End Object – удалить объектОбъект может быть удален в режиме игры. Часто это используется в комбинации с каким-либо другим активатором. Например, исчезновение объекта при столкновении с другим объектом. Replace Mesh – замена меш-объектаЭтот тип активатора Edit Object представляет собой интересную возможность Blender Game Engine (однако, еще не до конца реализованную разработчиками). Например, можно создавать различные спецэффекты. Допустим, объект падает и при касании земли, последняя проминается (на самом деле будет происходить замена меша). ![]() Track to – слежениеПри добавлении этого типа активатора, объект будет поворачиваться по осям, «следя» за указанным в качестве OB объектом, при этом оставаясь на одном и том же месте. Например, камера может следить за каким-нибудь передвигающимся объектом на сцене, если сцена небольшая. Или интересные эффекты могут получаться, если при движении одного объекта, другой (с активатором Edit Object -> Track to), оставаясь на месте, будет поворачиваться. Dynamics - динамикаЭтот тип активатора Edit Object позволяет изменять физические свойства объекта. Однако объект должен изначально быть установлен как физический. Подтипы Suspend и Restore Dynamics, Disable и Enable Rigid Body включают и отключают соответственно влияние физики на объекты. Подтип Set Мass позволяет в режиме игры изменять массу объекта. Например, у какого-нибудь Dynamic-объекта можно отключить его физические свойства, связав сенсор Always с активатором Edit Object -> Dynamics -> Suspend Dynamics. А в процессе игры включать физические свойства (Restore Dynamics), если случиться определенное событие. Практическая работаС помощью Blender Game Engine создайте небольшую игру по следующему описанию. На одном краю плоскости, расположены небольшие кубики-мишени, являющиеся статическими объектами. На другом крае плоскости расположен объект-пушка. Добавить Empty и сделать ее родителем по отношению к пушке. Пустышка (вместе с пушкой) может двигаться в двух плоскостях: вдоль своего края и вверх-вниз. Сенсоры – стрелки на клавиатуре. Из пушки (на самом деле – пустышки) вылетают пули в направлении мишеней. Для этого на другой слой поместить объект-пулю (физический объект). Привязать его к пушке при помощи активатора Edit Object -> Add Object. Придать ускорение в направлении мишеней (linV). Пульки должны исчезать примерно через 100-120 кадров (Time). Мишени должны исчезать при касании их объектом-пулей (End Object). |
|||



