game engine (bge). - blenderblender3d.org.ua/forum/tutorial/iwe/upload/blender game... ·...

48
Лаборатория юного линуксоида Linux для начинающих. Свободное программное обеспечение и информатика Галерея изображений Презентации Блог Программа ДО Уголок СПО О сайте Контакты Другие сайты Уроки Введение в GNU/Linux Работа в графических средах (KDE, Gnome) Командная оболочка (bash) Практические работы по OpenOffice Основы программирования (Python) Алгоритмы на Python Объектно-ориентированное программирование (Python) Программирование графического интерфейса (Tkinter) 2D анимация (Synfig) 3D моделирование (Blender) Blender Game Engine Введение Сенсоры, контроллеры и активаторы Сила и физические объекты Взаимодействие объектов Сенсор Mouse Управление камерой Главная Уроки по Blender Game Engine ( игровому движку программы Blender) Опубликовано plustilino в Втр, 01/12/2010 - 01:49. Changed Чт, 05/13/2010 - 16:10 Десять уроков для начинающих по игровому движку Blender (Blender Game Engine, он же BGE, он же gameBlender). Затрагиваются элементы физики движения и игровой логики. В курсе предусмотрены практические задания. Введение в Blender Game Engine (BGE). Урок 1 Сенсоры, контроллеры и активаторы. Урок 2 Сила (force) и физические объекты в Blender Game Engine. Урок 3 Взаимодействие объектов в Blender Game Engine. Урок 4 Сенсор Mouse. Урок 5 Управление камерой в Blender Game Engine. Урок 6 Переходы между сценами при работе с игровым движком Blender. Урок 7 Активатор Edit Object. Урок 8 Влияние параметра Grav на поведение объектов в Blender Game Engine. Урок 9 Новая картинка Новые записи в блогах Проблемы при работе в OpenOffice.org Writer Работа в Simply Linux Учебный проект "Сортиров щик файлов на Python" Учебные компьютер и ПО. Должны ли они быть "современными" Simply Linux. Действ ительно simply? Операционная система GNU/Linux. Ты где? подробнее PDFmyURL.com

Upload: others

Post on 08-Jul-2020

19 views

Category:

Documents


0 download

TRANSCRIPT

Лаборатория юного линуксоидаLinux для начинающих. Свободное программное обеспечение и информатика

Галерея изображений Презентации Блог Программа ДО Уголок СПО О сайте Контакты Другие сайты

Уроки

Введение в GNU/Linux

Работа в графических средах(KDE, Gnome)

Командная оболочка (bash)

Практические работы поOpenOffice

Основы программирования(Python)

Алгоритмы на Python

Объектно-ориентированноепрограммирование (Python)

Программированиеграфического интерфейса(Tkinter)

2D анимация (Synfig)

3D моделирование (Blender)

Blender Game Engine

Введение

Сенсоры, контроллерыи активаторы

Сила и физическиеобъекты

Взаимодействиеобъектов

Сенсор Mouse

Управление камерой

Главная

Уроки по Blender Game Engine (игровому движкупрограммы Blender)Опубликовано plustilino в Втр, 01/12/2010 - 01:49. Changed Чт, 05/13/2010 - 16:10

Десять уроков для начинающих по игровому движку Blender(Blender Game Engine, он же BGE, он же gameBlender).Затрагиваются элементы физики движения и игровой логики. Вкурсе предусмотрены практические задания.

Введение в Blender Game Engine (BGE). Урок 1

Сенсоры, контроллеры и активаторы. Урок 2

Сила (force) и физические объекты в Blender Game Engine.Урок 3

Взаимодействие объектов в Blender Game Engine. Урок 4

Сенсор Mouse. Урок 5

Управление камерой в Blender Game Engine. Урок 6

Переходы между сценами при работе с игровым движкомBlender. Урок 7

Активатор Edit Object. Урок 8

Влияние параметра Grav на поведение объектов в BlenderGame Engine. Урок 9

Новая картинка

Новые записи в блогах

Проблемы при работе вOpenOffice.org Writer

Работа в Simply Linux

Учебный проект "Сортировщикфайлов на Python"

Учебные компьютер и ПО.Должны ли они быть"современными"

Simply Linux. Действительноsimply?

Операционная системаGNU/Linux. Ты где?

подробнее

PDFmyURL.com

Введение в BlenderGame Engine (BGE).

Урок 1 ›

Переходы междусценами

Активатор Edit Object

Гравитация в игровомрежиме

Материалы и текстуры

Переводы

Введение в Linux

Предисловие

1. Что такое Linux?

2. Быстрый старт

3. О файлах и файловыхсистемах

4. Процессы

Dia Tutorial

длинные платья и сарафаны

Материалы и текстуры в Blender Game Engine: работа сUV/Image Editor. Урок 10

Страница для печати Добавить комментарий

Лаборатория юного линуксоида, 2009-2010

PDFmyURL.com

Лаборатория юного линуксоидаLinux для начинающих. Свободное программное обеспечение и информатика

Галерея изображений Презентации Блог Программа ДО Уголок СПО О сайте Контакты Другие сайты

Уроки

Введение в GNU/Linux

Работа в графических средах(KDE, Gnome)

Командная оболочка (bash)

Практические работы поOpenOffice

Основы программирования(Python)

Алгоритмы на Python

Объектно-ориентированноепрограммирование (Python)

Программированиеграфического интерфейса(Tkinter)

2D анимация (Synfig)

3D моделирование (Blender)

Blender Game Engine

Введение

Сенсоры, контроллерыи активаторы

Сила и физическиеобъекты

Взаимодействиеобъектов

Сенсор Mouse

Управление камерой

Переходы междусценами

Активатор Edit Object

Гравитация в игровомрежиме

Материалы и текстуры

Переводы

Введение в Linux

Главная » Уроки по Blender Game Engine (игровому движку программы Blender)

Введение в Blender Game Engine (BGE). Урок 1Опубликовано plustilino в Втр, 01/12/2010 - 02:05. Changed Пт, 01/22/2010 - 13:44

1. Что такое BGEУникальной особенностью Blender является встроенный в него так называемый "игровой движок" (англ. gameengine). Это программный компонент, который позволяет создавать небольшие игры, не выходя из средытрехмерного моделирования Blender.

Game engine:

1. придает объектам "физические" свойства; объекты начинают вести себя так, как в реальном мире: падаютпод действием силы тяжести, сталкиваются и т.д. (возможно следует отметить, что в этом смысле движокеще "сыроват");

2. позволяет наблюдать поведение объектов в реальном времени и воздействовать на них;3. записывает происходящее в режиме игры в анимацию;4. позволяет визуально настраивать (программировать) поведение и взаимодействие объектов;5. а также встраивать скрипты на языке программирования Python.

Режим игры – это режим действия игрового движка. Он запускается при нажатии клавиши P на клавиатуре. Выходиз него – клавиша Esc. Лучше перед запуском игры переключиться в режим отображения текстур (Alt+Z).

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

Для настройки поведения объектов для режима игры предназначена панель кнопок Logic (F4). На этом уроке мырассмотрим ее левую часть – настойки объекта.

2. Типы объектовВ реальном мире объекты сделаны из различных материалов и, естественно, обладают различными свойствами.Игровой движок (BGE), конечно, не позволяет симулировать такое разнообразие, но кое-что может. К тому же, BGEпозволяет манипулировать и "нефизическими объектами", т.е. теми для которых как бы нет влияющегоокружающего мира (в реальном мире таких объектов не существует).

Тип выбранного объекта (например, куба) задается с помощью меню Object Type.

Новая картинка

Новые записи в блогах

Проблемы при работе вOpenOffice.org Writer

Работа в Simply Linux

Учебный проект "Сортировщикфайлов на Python"

Учебные компьютер и ПО.Должны ли они быть"современными"

Simply Linux. Действительноsimply?

Операционная системаGNU/Linux. Ты где?

подробнее

База строительных товаров: трубыППУ.

PDFmyURL.com

Предисловие

1. Что такое Linux?

2. Быстрый старт

3. О файлах и файловыхсистемах

4. Процессы

Dia Tutorial

Вскрытие и ремонт сейфов: сменазамков .

Occluder (occlude – закрывать, преграждать). В определенных условиях увеличивает производительность путемисключения объектов, расположенных за объектом-«окклюдером». Уместно использовать в сложных сценах.

No collision (collision - столкновение). Отключает у объекта возможность столкновения с другими объектами. Т.е.если dynamic-объект встретит на своем пути no_collision-объект, то пройдет сквозь него, как будто его нет.Рекомендуется использовать для объектов, которые никогда ни с чем не столкнуться: выбор этого типа объектаувеличивает производительность игры.

Sensor (датчик). Предназначен для более сложного управления столкновениями.

Static (статический, неподвижный). Такой тип объекта может участвовать во взаимодействиях с физическимиобъектами (играть роль препятствий), хотя на него не влияют никакие виртуальные физические силы. В режимеигры он может быть перемещен за счет изменения своего положения, но не под влиянием сил. Два static-объектапри пересечении их путей не сталкиваются, а проходят сквозь друг друга.

Dynamic (динамический). Объект, на который "действуют" законы физики: сила тяжести, масса, воздействиевнешних сил, ускорение и др.

Rigid body (твердое тело). Более реально ведущий себя по сравнению с Dynamic "физический" объект.

Soft body (мягкое тело). "Физический" объект, который ведет себя подобно резиновому мячу или мягкой игрушке,т.е деформируется (изменяет свою форму) при столкновениях с другими объектами.

Опыт 1. Типы объектовДля того, чтобы сразу протестировать как ведут себя некоторые типы объектов в режиме игры, расположимнесколько сфер над плоскостью и нажмем P. Вот что мы увидим по прошествии нескольких секунд:

PDFmyURL.com

Видно, что с объектов типа Static ничего не произошло, Dynamic, Rigid Body и Soft Body упали под действиемвиртуальной силы тяжести. Причем Soft Body упал и слегка «размазался», как и положено мягкому телу, но почему-то меш-объект остался прежнего размера (это недоработка Blender или как-нибудь настраивается отдельно?Примечание: если при создании сферы сразу указать небольшой размер, то она будет мелкой при создании из неемягкого тела).

Опыт 2. Dynamic и Rigid bodyЧтобы заметить разницу между Rigid body и Dynamic, развернем плоскость на 50 по оси Y или X. Теперь можнонаблюдать, что при падении Rigid Body продолжает свое движение как естественный объект (также ведет себя иSoft Body), а Dynamic остается спокойно лежать на плоскости. Конечно, если наклон плоскости сделать больше, товниз покатится и динамический объект.

3. НастройкиВ предыдущем опыте можно заметить, что при смене типа объектов меняются кнопки настоек ниже. Здесьосновная часть настроек свойств объекта. Рассмотрим некоторые.

PDFmyURL.com

Общие:Actor (актер). Для версии 2.49 осталось непонятным, на что влияет данных параметр.Ghost (призрак). Объект будет проходить сквозь другие объекты при столкновении с ними, при этом никак на нихне влияя.Invisible (невидимый). Объект становится невидимым, но присутствует на сцене. Объект-невидимка можетвзаимодействовать с другими объектами.Mass (масса). Виртуальная масса объекта. Настройка данного параметра имеет большое значение для"физических" объектов при воздействии на них той или иной силы. Чем больше масса, тем больше нужно приложитьсилы для ее перемещения.

Rigid body:Radius (радиус). Влияет на площадь взаимодействия с объектом. Радиус виден как розовая пунктирнаяокружность в 3D окне. Если не виден, то увеличьте значение. Фактически границы окружности и определяютразмер взаимодействующей области (объекта).No sleeping (не спящий). При включении-отключении данной опции в версии 2.49 изменений в поведении объектапри применении к нему силы замечено не было.Остальные настройки пока опустим, т.к. они достаточно специфичны и требуют начальных знаний физики.

Soft body:Shape Match (shape – форма, match – выравнивать, противостоять и др.). Если кнопка будет выключена, то объектне сохранит свою форму, а сложится как тряпка (при достаточном количестве вершин).Bending Const (bending – сгибание, constraints – ограничения). Если отключить данную кнопку, то объект пристолкновении будет сильнее изменять свою форму.kMT. Влияет на упругость объекта, связана с Shape Match. Увеличив данное значение, например, у сферы, выполучите объект поведением похожий на мяч.

4. Практическая работа

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

PDFmyURL.com

‹ Уроки по Blender Game Engine (игровомудвижку программы Blender)

Вверх Сенсоры, контроллеры и активаторы.Урок 2 ›

объектом Rigid body. Запустив режим игры, отметьте, как упали кубики.2. У среднего куба увеличьте Radius до значения 1.5. Снова запустите игру и отметьте изменения.3. Включите для среднего куба кнопку Invisible и снова запустите режим игры. Участвует ли невидимый куб во

взаимодействии объектов?4. Удалите со сцены все три куба. Добавьте сферу с 16-тью сегментами и кольцами (уменьшение частей меш-

объектов влияет на производительность),расположив ее над плоскостью. Сделайте ее объектом Soft body и продублируйте по оси X четыре раза (всепять объектов должны быть над плоскостью,увеличьте плоскость при необходимости). Желательно развернуть камеру таким образом, чтобы она"смотрела" прямо на ось X.

5. Для первого объекта Soft body оставьте значения настроек по умолчанию. У второго – увеличьте значениеkMT почти до единицы.У третьего – отключите Shape Match, у четвертого – Bending Const, а у пятого – обе кнопки.

6. Запустите режим игры. Отметьте изменения каждой из сфер. Если разница между первой и четвертойсферой? В чем она заключается?

Страница для печати Добавить комментарий

Лаборатория юного линуксоида, 2009-2010

PDFmyURL.com

Лаборатория юного линуксоидаLinux для начинающих. Свободное программное обеспечение и информатика

Галерея изображений Презентации Блог Программа ДО Уголок СПО О сайте Контакты Другие сайты

Уроки

Введение в GNU/Linux

Работа в графических средах(KDE, Gnome)

Командная оболочка (bash)

Практические работы поOpenOffice

Основы программирования(Python)

Алгоритмы на Python

Объектно-ориентированноепрограммирование (Python)

Программированиеграфического интерфейса(Tkinter)

2D анимация (Synfig)

3D моделирование (Blender)

Blender Game Engine

Введение

Сенсоры, контроллерыи активаторы

Сила и физическиеобъекты

Взаимодействиеобъектов

Сенсор Mouse

Управление камерой

Переходы междусценами

Активатор Edit Object

Гравитация в игровомрежиме

Материалы и текстуры

Переводы

Введение в Linux

Предисловие

Главная » Уроки по Blender Game Engine (игровому движку программы Blender)

Сенсоры, контроллеры и активаторы. Урок 2Опубликовано plustilino в Чт, 01/14/2010 - 16:24. Changed Втр, 01/26/2010 - 12:43

Уроки по Blender Game EngineПанель Logic (F4) можно условно разбить на четыре части настроек: свойства объекта (рассмотренные на прошлом уроке), сенсоры,контроллеры и активаторы. Сенсоры объекта позволяют ему воспринимать различные внешние «раздражители», такие как нажатиеклавиши, движение мыши, касание другого объекта и др. Контроллеры в основном предназначены для связывания определеннымобразом сенсоров и активаторов. Активаторы могут выполнять различные действия над данным объектом или другими. Некоторыенастройки активаторов могут различаться у разных типов объектов.Для того чтобы добавить очередной сенсор, контроллер и активатор нужно нажать на кнопку ADD. Связь между ними обозначаетсялиниями, которые создаются, если зажав ЛК мыши потянуть ей от одного узелка к другому (линию можно удалить, если навести мышь инажать клавишу Del). У объекта может быть множество групп сенсоров, контроллеров и активаторов.

На этом уроке будет описано, как управлять объектом Static с помощью клавиатуры. Роль объекта сыграет стрелка, поворачивающаяся подвум осям и двигающаяся указателем вперед.

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

Новая картинка

Новые записи в блогах

Проблемы при работе вOpenOffice.org Writer

Работа в Simply Linux

Учебный проект "Сортировщикфайлов на Python"

Учебные компьютер и ПО.Должны ли они быть"современными"

Simply Linux. Действительноsimply?

Операционная системаGNU/Linux. Ты где?

подробнее

PDFmyURL.com

1. Что такое Linux?

2. Быстрый старт

3. О файлах и файловыхсистемах

4. Процессы

Dia Tutorial

Такую стрелку можно получить множеством способов. Ниже описан один из них:

1. Вид сверху.2. Добавить плоскость.3. Перейти в режим редактирования. Удалить нижнюю правую вершину. Выделить три оставшиеся, нажать F (получиться треугольная

плоскость). Далее, не снимая выделения, повернуть плоскость по оси Z на 450, таким образом, чтобы будущий указатель «смотрел»вверх (вдоль оси Y).

4. Не выходя из режима редактирования, добавить еще одну плоскость ниже. Сжать ее по оси X, переместить под указатель; – это ножкастрелки.

5. Вид из камеры.6. Выбрать режим выделения граней и выдавить (экструдировать), тем самым придав стрелке объем.7. Выйти из режима редактирования.

2. Движение впередЗаставим нашу стрелку двигаться указателем вперед при нажатии на клавишу Пробел.Выделив стрелку (которая должна быть static-объектом), добавьте сенсор, контроллер и активатор и соедините их между собой.

По умолчанию в качестве сенсора выступает Always (всегда). Такой сенсор будет действовать постоянно. Нам это не подходит. Ввыпадающем списке выбираем Keyboard (клавиатура). Нажимаем в поле Key мышью, затем нажимаем клавишу Пробел (Space).

PDFmyURL.com

Теперь настроим активатор. Активаторы бывают разные (это на будущее). По умолчанию стоит Motion (движение). В нижней части есть двестроки: Loc (location – положение) и Rot (rotation – вращение). В каждой строке по три поля: в них задаются величины изменений по оси X, Yили Z при воздействии.

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

3. ПоворотыДля того, чтобы стрелка при движении могла оказаться в любой точке трехмерного пространства достаточно настроить ее поворот толькопо двум осям: X (повороты вверх и вниз) и Z (налево и направо). Поворачиваться стрелка будет при нажатии на стрелки на клавиатуре.Требуется добавить еще четыре группы сенсоров, контроллеров и активаторов.

PDFmyURL.com

Теперь, запустив режим игры, можно передвинуть стрелку в любое место 3D-окна, предварительно повернув ее с помощью стрелок наклавиатуре.

4. Локальные и глобальные осиВ конце строк настроек Loc и Rot есть переключатели L. По умолчанию эти кнопки нажаты и обозначают локальную привязку осей. Этоозначает, что оси X, Y и Z как бы находятся внутри объекта и при его повороте поворачиваются вместе с ним. Поэтому-то у нас стрелка всевремя двигается указателем вперед, как ее не поверни.Если выключить кнопку L напротив Loc в блоке, отвечающем за движение по оси Y, то стрелка будет двигаться только в одном направлении(по глобальной оси Y) не зависимо от поворота своего указателя. Глобальные оси в 3D-окне обозначаются красной (X), зеленой (Y) и синей(Z) линиями.

5. Практическая работа

1. Создайте модель стрелки и задайте ей возможность движения и поворота с помощью Blender Game Engine так, как описано в уроке.2. Исследуйте влияние на движение стрелки включенной и отключенной Local Transformation (кнопка L).3. Добавьте на сцену плоскость и пару других меш-объектов, расположив их над плоскостью. Исключая плоскость и стрелку, задайте

PDFmyURL.com

‹ Введение в Blender Game Engine (BGE). Урок 1 Вверх Сила (force) и физические объекты в BlenderGame Engine. Урок 3 ›

для объектов тип Rigid body. Запустите режим игры и попробуйте столкнуть объекты с плоскости с помощью стрелки.

Страница для печати Добавить комментарий

Лаборатория юного линуксоида, 2009-2010

PDFmyURL.com

Лаборатория юного линуксоидаLinux для начинающих. Свободное программное обеспечение и информатика

Галерея изображений Презентации Блог Программа ДО Уголок СПО О сайте Контакты Другие сайты

Уроки

Введение в GNU/Linux

Работа в графических средах(KDE, Gnome)

Командная оболочка (bash)

Практические работы поOpenOffice

Основы программирования(Python)

Алгоритмы на Python

Объектно-ориентированноепрограммирование (Python)

Программированиеграфического интерфейса(Tkinter)

2D анимация (Synfig)

3D моделирование (Blender)

Blender Game Engine

Введение

Сенсоры, контроллерыи активаторы

Сила и физическиеобъекты

Взаимодействиеобъектов

Сенсор Mouse

Управление камерой

Переходы междусценами

Активатор Edit Object

Гравитация в игровомрежиме

Материалы и текстуры

Переводы

Главная » Уроки по Blender Game Engine (игровому движку программы Blender)

Сила (force) и физические объекты в Blender Game Engine. Урок 3Опубликовано plustilino в Втр, 01/19/2010 - 16:27. Changed Чт, 01/28/2010 - 15:34

1. Физика в BlenderКогда к объекту в Blender применяется тип Dynamic, Rigid или Soft body, то в режиме игры их поведениестановится похожим на поведение реальных объектов в области притяжения Земли (эти настройки можноизменить: например, эмулировать невесомость). В реальном мире плотные объекты не висят в воздухе, ападают на поверхности; при столкновении объекты могут отскакивать; для перемещения объекта с большеймассой требуется приложить больше силы и т.д.

2. Активатор MotionДля физических объектов у активатора Motion появляются дополнительные строки настроек (помимо Loc иRot, которые также есть у статических объектов и отвечают за перемещение и поворот объекта).

Force (сила) . Воздействие на объект с заданной силой и направлением. В отличие от Loc, объект неперемещается самостоятельно, а на него как бы действует сторонняя сила.Torque (вращающий момент) . Сила действует таким образом, что заставляет объект вращаться, а неперемещаться.

3.ForceРазместим на сцене плоскость и куб на ней. Добавив сенсор, контроллер и активатор и связав их между собой,

Новая картинка

Новые записи в блогах

Проблемы при работе вOpenOffice.org Writer

Работа в Simply Linux

Учебный проект "Сортировщикфайлов на Python"

Учебные компьютер и ПО.Должны ли они быть"современными"

Simply Linux. Действительноsimply?

Операционная системаGNU/Linux. Ты где?

подробнее

PDFmyURL.com

Введение в Linux

Предисловие

1. Что такое Linux?

2. Быстрый старт

3. О файлах и файловыхсистемах

4. Процессы

Dia Tutorial

Разместим на сцене плоскость и куб на ней. Добавив сенсор, контроллер и активатор и связав их между собой,увеличим значение Force по оси Х или Y.

В режиме игры объект будет двигаться, как и при влиянии Loc, однако он будет двигаться с ускорением, т.к.сила действует постоянно и постепенно разгоняет объект. После прекращения воздействия, объектостанавливается не сразу, а постепенно (в отличие от Loc).

4. Local transformation и Rigid bodyНа объекты Rigid body сильное влияние оказывает привязка осей (X, Y, Z) к самому объекту или к 3D-миру.Если не выключить кнопку L, то объект не будет двигаться по направлениям пространства, а будетпокачиваться на одном месте. Это связано с тем, что ось объекта при его повороте меняет свое направление, итогда сила действует с другой стороны с точки зрения 3D-мира.

5. Влияние массы объектаОбратите внимание на значение в строке Force. Заметные влияния на объект здесь возникают при изменениизначения на единицы, а не на дробные значения как в случае Loc. Применение одной и той же силы к объектамразной массы оказывает различное влияние на них. Так если объект Dynamic с установленной виртуальноймассой в 2 единицы попытаться сдвинуть с помощью 2 «виртуальных ньютонов», то ничего не получится.Объект же массой в 0.5 единиц будет передвигаться. Примечание: объекты Rigid body и Soft body ведут себянемного по-другому.

PDFmyURL.com

6. Ось ZДля того, чтобы придать объекту движение с помощью Force по осям X и Y достаточно значения сопоставимогос массой объекта или немного больше ее. Однако движение по оси Z в положительном направлении (вверх)требует применения силы большего значения. Вспомним, что находясь в поле Земли объекты притягиваются к

ней с ускорением свободного падения равным примерно 9.8 м/с 2. Чтобы преодолеть силу притяжения Земли иподбросить объект вверх, требуется сообщить ему большее ускорение, чем 9.8. Примечание: значение Force пооси Z не обязательно должно быть больше 9.8; объекты массой меньше единицы поднимаются вверх и применьших значениях силы.

7. Роль центра объекта при движенииУ любого меш-объекта в Blender есть центральная точка (в BGE она играет роль центра тяжести объекта).Объект всегда вращается вокруг нее и именно на нее действует сила. Для того, чтобы увидеть как от сменыцентра тяжести изменяется поведение объекта можно проделать следующий опыт. Расположим на сцене дваодинаковых сплюснутых цилиндра. Оба – Dynamic, при нажатии на клавишу Space (пробел) на них воздействуетTorque (вращающий момент по оси Z) в 2-3 единицы. Центральная точка одного из цилиндров смещена к егогранице.

PDFmyURL.com

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

8. Практическая работа

1. Расположите на сцене три объекта Dynamic или Rigid body (для Rigid обязательно отключите L),установите им различную между собой массу на панели Logic. Добавьте сенсор, контроллер и активаторкаждому объекту. В качестве сенсора установите Keyboard (в качестве Key пусть будет клавиша Пробел).Для всех объектов примените одинаковую силу по оси X или Y. Найдите такое значение силы, при которойобъект, обладающий большей массой, почти не перемещается при воздействии силы, остальные –двигаются. Оцените взаимосвязь массы и силы.

2. Расположите два Dynamic-шара. Одному из них задайте постоянную силу воздействия вниз. Падает ли онбыстрее, чем другой шар? Расположите шар виртуальной массой в 5 единиц на плоскости. Найдитезначение минимальной силы способной при постоянном воздействии оторвать шар от плоскости.

3. Добавьте на сцену два вытянутых по оси Z Rigid-цилиндра. Сместите одному центральную точку кверхней части, а другому – к нижней. Задав силу воздействия по оси X или Y, оцените поведениеобъектов. Примечание: для цилиндров измените границу с Box на Convex Hull (выпуклая оболочка); дляэтого предварительно следует нажать кнопку Bounds (границы).

PDFmyURL.com

‹ Сенсоры, контроллеры и активаторы.Урок 2

Вверх Взаимодействие объектов в BlenderGame Engine. Урок 4 ›

Страница для печати Добавить комментарий

Лаборатория юного линуксоида, 2009-2010

PDFmyURL.com

Лаборатория юного линуксоидаLinux для начинающих. Свободное программное обеспечение и информатика

Галерея изображений Презентации Блог Программа ДО Уголок СПО О сайте Контакты Другие сайты

Уроки

Введение в GNU/Linux

Работа в графических средах(KDE, Gnome)

Командная оболочка (bash)

Практические работы поOpenOffice

Основы программирования(Python)

Алгоритмы на Python

Объектно-ориентированноепрограммирование (Python)

Программированиеграфического интерфейса(Tkinter)

2D анимация (Synfig)

3D моделирование (Blender)

Blender Game Engine

Введение

Сенсоры, контроллерыи активаторы

Сила и физическиеобъекты

Взаимодействиеобъектов

Сенсор Mouse

Управление камерой

Переходы междусценами

Активатор Edit Object

Гравитация в игровомрежиме

Материалы и текстуры

Переводы

Введение в Linux

Главная » Уроки по Blender Game Engine (игровому движку программы Blender)

Взаимодействие объектов в Blender Game Engine. Урок 4Опубликовано plustilino в Пт, 01/22/2010 - 13:42. Changed Втр, 02/02/2010 - 12:15

Игровой движок Blender’а позволяет виртуальным объектам вести себя подобно объектам реального мира.Следовательно, результат взаимодействия объектов Dynamic, Rigid и Soft body в Blender Game Engine должензависеть от настроек их массы, а также сил, влияющих на них. Рассмотрим это на примере.У нас будет стена из кирпичей и шар, разбивающий ее. По отношению к шару можно будет прикладыватьразную силу. В зависимости от приложенной силы шар может разрушать стену или нет.

Стена состоит из кирпичей, каждый из которых представляет собой измененный куб типа Rigid body. Привзаимодействии объектов важно настроить свойство Bounds (границы). В данном случае лучше использоватьтип Convex hull (выпуклая оболочка).

Новая картинка

Новые записи в блогах

Проблемы при работе вOpenOffice.org Writer

Работа в Simply Linux

Учебный проект "Сортировщикфайлов на Python"

Учебные компьютер и ПО.Должны ли они быть"современными"

Simply Linux. Действительноsimply?

Операционная системаGNU/Linux. Ты где?

подробнее

Бур ручной за 1250 руб: мотобуры.

PDFmyURL.com

Введение в Linux

Предисловие

1. Что такое Linux?

2. Быстрый старт

3. О файлах и файловыхсистемах

4. Процессы

Dia Tutorial

Шапка С помощью дублирования (Shift + D) создаем стену из кирпичей. Здесь важно плотно подогнать один к другому.В режиме игры стена должна оставаться целой, а не разваливаться. Последнее может случиться, еслинеправильно настроены границы объектов или кирпичи неправильно расположены относительно друг друга.

Добавляем на сцену сферу, устанавливаем для нее также тип Rigid body и располагаем на некоторомрасстоянии от стены. При нажатии на клавишу с цифрой 1 на клавиатуре шар должен двигаться в направлениистены в результате приложения к нему силы. Следует выключить кнопку L.

Сила при нажатии на клавишу с единицей постоянно воздействует на шар. Чем дольше мы жмем, тем большесила воздействия. На самом деле трудно определить, сколько силы было передано шару. Так может оказаться,что при воздействии меньшей силы, но на протяжении большего времени, шару суммарно было сообщенобольше воздействия, чем при моментальном воздействии большей силы. Чтобы избежать недоразумений, в

PDFmyURL.com

Blender Game Engine можно сделать так, что шару будет сообщаться сила только тогда, когда он находится вопределенном месте или в течение строго определенного временного интервала.Наша сфера будет испытывать воздействие силы лишь тогда, когда касается красной маленькой плоскости. Дляэтого нужно добавить к сфере сенсор Touch (касание) и связать его с уже существующим контроллером. В полеMA следует прописать материал, при касании которого будет срабатывать сенсор Touch. Имя материала можнонайти на панели кнопок Shading (F5).

Два сенсора связаны с одним контроллером типа AND. Это означает, что активатор сработает лишь в томслучае, если сигнал будет поступать от обоих сенсоров. В данном случае, должна быть зажата клавиша сединицей и объект должен касаться материала start. Если зажата единица, но нет касания start (или, наоборот,есть касание, но нет сигнала с клавиатуры), то активатор не будет запускаться.Шар должен находиться над красной плоскостью. В режиме игры к шару будет прикладываться сила лишь вмомент его нахождения на плоскости, а не на протяжении всего пути (при зажатой клавише 1). В дальнейшем этопозволит трезво оценить, как влияет размер приложенной к шару силы на его способность разрушать стену.Добавим также еще два комплекта сенсоров, контроллеров и активаторов. Настроим их также как и первый, заисключением величины прикладываемой силы и клавиш-сенсоров. Может быть один сенсор Touch, связанный снесколькими контроллерами. Также неплохо было бы добавить возможность перезагрузки без выхода из режимаигры: активатор Scene –> Restart.

PDFmyURL.com

Требуется установить такие величины силы, чтобы в первом случае стена почти не разрушалась, а во втором –разрушалась меньше, чем в третьем.На примере этой модели видно, что скорость шара (и как следствие его разрушающая способность) зависит отвеличин приложенной к нему силы. Эта зависимость есть в реальном мире, к которому мы привыкли, онаэмулируется и в Blender Game Engine.

Практическая работа

1. Создайте модель, описанную в уроке.2. Определите с помощью BGE, как влияет расстояние между шаром и стеной на разрушение последней. С

чем это связано?3. Создайте модель известной физической закономерности: рычаг уравновешен, когда произведение массы

на длину одного плеча равно произведению массы на длину другого плеча. В модели должна быть

PDFmyURL.com

‹ Сила (force) и физические объекты вBlender Game Engine. Урок 3

Вверх Сенсор Mouse. Урок 5 ›

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

Страница для печати Добавить комментарий

Лаборатория юного линуксоида, 2009-2010

PDFmyURL.com

Лаборатория юного линуксоидаLinux для начинающих. Свободное программное обеспечение и информатика

Галерея изображений Презентации Блог Программа ДО Уголок СПО О сайте Контакты Другие сайты

Уроки

Введение в GNU/Linux

Работа в графических средах(KDE, Gnome)

Командная оболочка (bash)

Практические работы поOpenOffice

Основы программирования(Python)

Алгоритмы на Python

Объектно-ориентированноепрограммирование (Python)

Программированиеграфического интерфейса(Tkinter)

2D анимация (Synfig)

3D моделирование (Blender)

Blender Game Engine

Введение

Сенсоры, контроллерыи активаторы

Сила и физическиеобъекты

Взаимодействиеобъектов

Сенсор Mouse

Управление камерой

Переходы междусценами

Активатор Edit Object

Гравитация в игровомрежиме

Материалы и текстуры

Переводы

Введение в Linux

Главная » Уроки по Blender Game Engine (игровому движку программы Blender)

Сенсор Mouse. Урок 5Опубликовано plustilino в Втр, 01/26/2010 - 12:42. Changed Чт, 02/04/2010 - 17:23

Уроки по Blender Game Engine

Отображение курсора мыши в режиме игрыСреди множества сенсоров в BGE есть и сенсор Mouse (мышь), улавливающий различные манипуляции мыши(щелчки кнопками мыши, движение, прокручивание колеса и др.). Однако, при запуске режима игры (P) мы не видимкурсор мыши. Чтобы отобразить курсор нужно прописать небольшой скрипт. Для этого разделите 3D-окно на двечасти, одну из них поменяйте на окно Text Editor. Далее раскройте меню Text и выберите пункт New. По умолчаниюпервый скрипт будет называться Text.001, лучше ему дать более осмысленное имя (например, mouse). Затем вокне следует ввести следующие строки:

import Rasterizer Rasterizer.showMouse(1)

В первой строке импортируется модуль, а во второй – вызывается функция showMouse, позволяющая отобразитькурсор мыши в режиме игры.

Новая картинка

Новые записи в блогах

Проблемы при работе вOpenOffice.org Writer

Работа в Simply Linux

Учебный проект "Сортировщикфайлов на Python"

Учебные компьютер и ПО.Должны ли они быть"современными"

Simply Linux. Действительноsimply?

Операционная системаGNU/Linux. Ты где?

подробнее

PDFmyURL.com

Введение в Linux

Предисловие

1. Что такое Linux?

2. Быстрый старт

3. О файлах и файловыхсистемах

4. Процессы

Dia Tutorial

Однако, это еще не все. Нужно привязать данный скрипт к какому-либо объекту на сцене (допустим камере). Длятого, чтобы курсор отображался всегда, следует добавить активатор Always и связанный с ним контроллер Python,где в качестве Script указывается имя того скрипта, который был создан ранее (в нашем случае, это mouse).Активатор в данном случае не требуется. После этого в режиме игры курсор будет виден.

Управление 3D-объектами с помощью мыши в Blender Game Engine

PDFmyURL.com

Пусть на сцене будет плоскость и Rigid-сфера на ней. Сфера будет управляться с помощью мыши следующимобразом:

1. Если сфера находится на плоскости (а не в «воздухе»), то щелчок левой кнопкой мыши по ней должен«сообщать» силу, приводящую ее в движение вверх.

2. Прокрутка колеса мыши вверх и вниз должна «сообщать» сфере вращающий момент (Torque) по оси Z почасовой и против часовой стрелки.

Разберем, как это сделать. Добавив сенсор Mouse->Left button и связав его с активатором Motion, мы заставимсферу лететь вверх при нажатии левой кнопкой мыши в любом месте 3D-окна (в режиме игры). Тут две проблемы: во-первых, сфера взлетает от щелчка в любом месте экрана, а во-вторых, она летит даже тогда, когда уже находится нена плоскости. Проблемы решаются с помощью добавления еще двух сенсоров к уже существующим контроллеру иактиватору. Один должен быть Mouse -> Mouse over, второй – Touch.За прокрутку колеса отвечают сенсоры Mouse -> Wheel up (вверх) и Mouse -> Wheel down (вниз). Каждому следуетдобавить свой контроллер и активатор.

PDFmyURL.com

‹ Взаимодействие объектов в BlenderGame Engine. Урок 4

Вверх Управление камерой в Blender GameEngine. Урок 6 ›

Практическая работа

1. Расположите на сцене три любых объекта на плоскости. Установите для них тип Rigid body. При щелчке левойкнопкой мыши по каждому отдельному объекту он должен отскакивать в какую-нибудь сторону, а при щелчкеправой кнопкой мыши в любом месте 3D-окна все объекты должны взлетать вверх.

2. На новой сцене расположите сферу (Rigid body) и плоскость под ней. Пусть любое движение мыши (Movement)заставляет объект крутиться по оси X или Y, а щелчок левой кнопкой мыши «сообщает» силу движения впередв выбранном направлении. Отметьте, есть ли разница в скорости между двумя случаями: 1) сначала сферакрутится, а затем получает толчок вперед, 2) сфера сразу толкается вперед.

Страница для печати Добавить комментарий

Лаборатория юного линуксоида, 2009-2010

PDFmyURL.com

Лаборатория юного линуксоидаLinux для начинающих. Свободное программное обеспечение и информатика

Галерея изображений Презентации Блог Программа ДО Уголок СПО О сайте Контакты Другие сайты

Уроки

Введение в GNU/Linux

Работа в графических средах(KDE, Gnome)

Командная оболочка (bash)

Практические работы поOpenOffice

Основы программирования(Python)

Алгоритмы на Python

Объектно-ориентированноепрограммирование (Python)

Программированиеграфического интерфейса(Tkinter)

2D анимация (Synfig)

3D моделирование (Blender)

Blender Game Engine

Введение

Сенсоры, контроллерыи активаторы

Сила и физическиеобъекты

Взаимодействиеобъектов

Сенсор Mouse

Управление камерой

Переходы междусценами

Активатор Edit Object

Гравитация в игровомрежиме

Материалы и текстуры

Главная » Уроки по Blender Game Engine (игровому движку программы Blender)

Управление камерой в Blender Game Engine. Урок 6Опубликовано plustilino в Чт, 01/28/2010 - 15:32. Changed Пнд, 02/08/2010 - 17:20

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

1. Связь родитель-потомок (Ctrl+P)

Данная связь широко используется в Blender для того, чтобы изменения объекта-«родителя» сразуприводили к изменениям объектов-«детей» (но не наоборот). Если «предок» меняет свое положение,размер, поворот, то следом за ним эти свойства изменяются и у «потомка». Для примера описанного

Новая картинка

Новые записи в блогах

Проблемы при работе вOpenOffice.org Writer

Работа в Simply Linux

Учебный проект "Сортировщикфайлов на Python"

Учебные компьютер и ПО.Должны ли они быть"современными"

Simply Linux. Действительноsimply?

Операционная системаGNU/Linux. Ты где?

подробнее

интернет магазин мебели для дома

PDFmyURL.com

Переводы

Введение в Linux

Предисловие

1. Что такое Linux?

2. Быстрый старт

3. О файлах и файловыхсистемах

4. Процессы

Dia Tutorial

Частные бесплатные объявления -фанера.

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

Связь устанавливается так:

1. Сначала выделяется потомок (в данном случае, камера).2. Затем (с зажатой клавишей Shift) выделяется предок (в данном случае, шар).3. Для установки связи родитель-потомок следует нажать комбинацию клавиш Ctrl+P (если в

дальнейшем потребуется снять связь, то следует выделить оба предмета и нажать Alt+P).

Однако запустив режим игры можно столкнуться с проблемой: шар не только двигается, но иповорачивается. Следом за ним будет вертеться и камера, вид из камеры при этом будетварьировать от странного до еще более странного. Чтобы камера не вертелась, ее можно привязатьне к целому объекту, а к его любой вершине. Вершина – это точка. Точки не вертятся. Тогдапоследовательность действий будет такой:

1. Выделить камеру.2. Выделить шар-родитель (с зажатым Shift).3. Переключиться в режим редактирования.4. Выделить любую вершину шара.5. Нажать Ctrl+P. Выбрать Make vertex parent (сделать вершину родителем).6. Выйти из режима редактирования.

2. Активатор Camera

Есть еще один способ постоянно следить за выбранным объектом: использовать активатор Camera.Сделать это можно следующим образом. Для камеры добавить связанные между собой сенсорAlways, контроллер и активатор Camera. В поле OB активатора прописать имя того объекта, закоторым планируется следить.

Изначально настройки Height (высота камеры над объектом), Min и Max (минимальное имаксимальное расстояния от камеры до объекта) равны нулю. Однако лучше их изменить. Еслитребуется, чтобы камера смотрела на объект больше сбоку, чем сверху, то Height не должна иметьбольшое значение.

Активатор Camera обеспечивает более плавное слежение за объектом, чем связь родитель-потомок. PDFmyURL.com

При резких движениях объекта камера двигается более мягко; если объект неподвижен, камера всеравно продолжает немного двигаться и поворачиваться (по оси X или Y). Недостатком этого способаслежения является то, что если объект вертится, то камера иногда прокручивается так, чтоуправлять объектом становится неудобно.

3. Слежение за разными объектами

Бывает, что на 3D-сцене сначала необходимо следить за одним объектом, а затем за другим. Чтобыреализовать такую возможность, можно создать для камеры не одну группу сенсоров, контроллерови активаторов Camera. Каждый активатор может приводиться в действие нажатием клавиши илищелчком мыши. Тогда в режиме игры можно будет переключать вид с одного объекта на другой.

4. Обзор сцены из разных камер

Когда требуется не следить за конкретным объектом, а просто обозревать сцену с разных точекзрения, то возможно уместней установить несколько камер и предусмотреть возможностьпереключаться между ними в режиме игры. Для установки камеры используется активатор Scene ->Set Camera.

PDFmyURL.com

‹ Сенсор Mouse. Урок 5 Вверх Переходы между сценами приработе с игровым движком Blender.

Урок 7 ›

Практическая работа

1. Используя возможности игрового движка Blender, создайте сцену, в которой объект можетперемещаться по плоскостям, расположенным вертикально по отношению друг к другу.

2. Установите слежение за объектом с помощью связи родитель-потомок. Сохраните файл.3. Установите слежение за объектом с помощью активатора Camera. Сохраните файл под другим

именем.4. Откройте оба файла и сравните движение камеры за объектом.5. Создайте 3D-сцену с несколькими объектами. Задайте возможность в режиме игры

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

таким образом, чтобы одна плоскость была хорошо видна в одной камере, при этом втораявиднелась вдалеке. Во второй камере должна быть хорошо видна другая плоскость, а первая –где-то вдалеке. Организуйте возможность переключения между камерами с помощью щелчкалевой кнопкой мыши по плоскости вдалеке.

Страница для печати Добавить комментарий

PDFmyURL.com

Лаборатория юного линуксоидаLinux для начинающих. Свободное программное обеспечение и информатика

Галерея изображений Презентации Блог Программа ДО Уголок СПО О сайте Контакты Другие сайты

Уроки

Введение в GNU/Linux

Работа в графических средах(KDE, Gnome)

Командная оболочка (bash)

Практические работы поOpenOffice

Основы программирования(Python)

Алгоритмы на Python

Объектно-ориентированноепрограммирование (Python)

Программированиеграфического интерфейса(Tkinter)

2D анимация (Synfig)

3D моделирование (Blender)

Blender Game Engine

Введение

Сенсоры, контроллерыи активаторы

Сила и физическиеобъекты

Взаимодействиеобъектов

Сенсор Mouse

Управление камерой

Переходы междусценами

Активатор Edit Object

Гравитация в игровомрежиме

Материалы и текстуры

Главная » Уроки по Blender Game Engine (игровому движку программы Blender)

Переходы между сценами при работе с игровым движком Blender. Урок 7Опубликовано plustilino в Втр, 02/02/2010 - 12:10. Changed Втр, 02/09/2010 - 17:37

Уроки по Blender Game EngineОбычно игры, создаваемые в Blender, состоят из нескольких сцен.

Blender Game Engine включает возможность настройки перехода на другую сцену в режиме игры. Напанели Logic для этих целей предназначен активатор Scene -> Set Scene. В качестве значения SCE(«установить сцену») указывается имя сцены, на которую требуется перейти.

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

Приведем простой пример. Допустим, мы создаем заготовку будущей «виртуальной лаборатории»,состоящей из четырех сцен, на каждой из которых будет возможно проводить и демонстрироватькакой-нибудь виртуальный эксперимент. С главной сцены можно будет на графическом менюуказать с помощью щелчка левой кнопкой мыши желаемую сцену. С любой другой сцены можнобудет вернуться на главную сцену. Опишем примерную последовательность шагов.

Новая картинка

Новые записи в блогах

Проблемы при работе вOpenOffice.org Writer

Работа в Simply Linux

Учебный проект "Сортировщикфайлов на Python"

Учебные компьютер и ПО.Должны ли они быть"современными"

Simply Linux. Действительноsimply?

Операционная системаGNU/Linux. Ты где?

подробнее

PDFmyURL.com

Переводы

Введение в Linux

Предисловие

1. Что такое Linux?

2. Быстрый старт

3. О файлах и файловыхсистемах

4. Процессы

Dia Tutorial

будет вернуться на главную сцену. Опишем примерную последовательность шагов.

1. Подготовим сцены

На главной сцене у нас будет меню. Его можно создать из плоскостей, на которые наложитьтекстуры изображений с текстом или объект Text Блендера. В последнем случае Text следуетпреобразовать в меш-объект (Alt+C -> Mesh) и объединить с плоскостью (Ctrl+J).

Для добавления новых сцен, следует выбрать пункт ADD NEW в выпадающем списке окнапользовательских настроек (вверху) – посмотрите на первое изображение в данном уроке. Придобавлении сцены предлагается список из четырех вариантов. Лучше выбрать Full Copy (чтобы неиметь головной боли с установкой камеры и лампы), а все лишние объекты потом удалить. Далееможно переименовать сцену.

Добавив вторую сцену, не будем спешить с добавлением других сцен. Пока разместим на второйсцене «кнопку» возврата на главную. Далее уже будем копировать эту сцену. В результате должнаполучиться примерно такая схема сцен как на рисунке ниже.

2. Отобразим курсор мыши

Урок 5. Сенсор Mouse

3. Установим возможность перехода между сценами в режиме игры PDFmyURL.com

‹ Управление камерой в BlenderGame Engine. Урок 6

Вверх Активатор Edit Object. Урок 8 ›

См. второй рисунок в данном уроке. Каждая кнопка на главной сцене должна переключать насоответствующую ей сцену (one, two, three или four). Кнопка “main” на остальных сценах должнапереключать игру на главную сцену.

Практическая работаСоздайте небольшую игру по следующему описанию.

Цель игры: прокатить шар до конца извилистой узкой поверхности.

Если шар падает с плоскости, то пользователь может нажать R и игра должна начаться сначала.

Если шар докатывается до конца плоскости, то следует переход на другую сцену с еще болееизощренной дорожкой. Чтобы переход происходил «автоматически», можно поставить на конецповерхности объект Empty (пустышка) и добавить к нему сенсор Near, связанный с активаторомScene -> Set Scene.

Камера должна «следить» за шаром.

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

Страница для печати Добавить комментарий

Лаборатория юного линуксоида, 2009-2010

PDFmyURL.com

Лаборатория юного линуксоидаLinux для начинающих. Свободное программное обеспечение и информатика

Галерея изображений Презентации Блог Программа ДО Уголок СПО О сайте Контакты Другие сайты

Уроки

Введение в GNU/Linux

Работа в графических средах(KDE, Gnome)

Командная оболочка (bash)

Практические работы поOpenOffice

Основы программирования(Python)

Алгоритмы на Python

Объектно-ориентированноепрограммирование (Python)

Программированиеграфического интерфейса(Tkinter)

2D анимация (Synfig)

3D моделирование (Blender)

Blender Game Engine

Введение

Сенсоры, контроллерыи активаторы

Главная » Уроки по Blender Game Engine (игровому движку программы Blender)

Активатор Edit Object. Урок 8Опубликовано plustilino в Чт, 02/04/2010 - 17:22. Changed Втр, 02/16/2010 - 17:03

Уроки по Blender Game EngineАктиватор Edit Object (редактирование объекта) позволяет изменять свойства конкретного объекта,а также изменять «меш-содержимое» 3D-сцены в режиме игры.

Add Object – добавить объектИспользование типа Add Object активатора Edit Object дает возможность в режиме игры добавлятьна сцену новый меш-объект. На самом деле объект должен быть не новым, а “спрятанным” (обычнона другом слое). Новый объект добавляется в то место, где находится объект, к которому добавленактиватор Edit Object -> Add Object. Добавляемый объект (его имя) прописывается в качествезначения свойства OB.

Допустим, у нас есть плоскость, на которую планируется в процессе игры добавлять различныепредметы при нажатии на различные клавиши, для указания места добавления используетсяспециальная метка-точка (на рис. - кранным цветом), которую можно передвигать по плоскости вчетырех направлениях.

Новая картинка

Новые записи в блогах

Проблемы при работе вOpenOffice.org Writer

Работа в Simply Linux

Учебный проект "Сортировщикфайлов на Python"

Учебные компьютер и ПО.Должны ли они быть"современными"

Simply Linux. Действительноsimply?

Операционная системаGNU/Linux. Ты где?

подробнее

PDFmyURL.com

Сила и физическиеобъекты

Взаимодействиеобъектов

Сенсор Mouse

Управление камерой

Переходы междусценами

Активатор Edit Object

Гравитация в игровомрежиме

Материалы и текстуры

Переводы

Введение в Linux

Предисловие

1. Что такое Linux?

2. Быстрый старт

3. О файлах и файловыхсистемах

4. Процессы

Dia Tutorial

На самом деле двигается пустышка (Empty), которая является родителем по отношению к краснойметке (Ctrl+P – связь родитель-потомок). Именно для объекта Empty также добавлены активаторыEdit Object. Конечно, можно привязать добавляемые объекты и к красной метке, однако появятсяпроблемы с их размером и др.

Здесь происходит добавление объектов с именами white и black при нажатии клавиш W и Bсоответственно. Первые четыре блока сенсоров, контроллеров и активаторов отвечают за движениеEmpty.

У активатора Edit Object -> Add Object есть дополнительные настройки. Добавленные объектыбудут исчезать через установленный промежуток времени, если Time не будет нулевым. Измеряется

подробнее

PDFmyURL.com

данное свойство не в секундах, а кадрах (обычно в секунде 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 создайте небольшую игру по следующему описанию.

PDFmyURL.com

‹ Переходы между сценами приработе с игровым движком Blender.Урок 7

Вверх Влияние параметра Grav наповедение объектов в Blender Game

Engine. Урок 9 ›

На одном краю плоскости, расположены небольшие кубики-мишени, являющиеся статическимиобъектами.

На другом крае плоскости расположен объект-пушка.

Добавить Empty и сделать ее родителем по отношению к пушке. Пустышка (вместе с пушкой) можетдвигаться в двух плоскостях: вдоль своего края и вверх-вниз. Сенсоры – стрелки на клавиатуре.

Из пушки (на самом деле – пустышки) вылетают пули в направлении мишеней. Для этого на другойслой поместить объект-пулю (физический объект). Привязать его к пушке при помощи активатора EditObject -> Add Object. Придать ускорение в направлении мишеней ( linV). Пульки должны исчезатьпримерно через 100-120 кадров (Time).

Мишени должны исчезать при касании их объектом-пулей (End Object).

Страница для печати Добавить комментарий

Лаборатория юного линуксоида, 2009-2010

PDFmyURL.com

Лаборатория юного линуксоидаLinux для начинающих. Свободное программное обеспечение и информатика

Галерея изображений Презентации Блог Программа ДО Уголок СПО О сайте Контакты Другие сайты

Уроки

Введение в GNU/Linux

Работа в графических средах(KDE, Gnome)

Командная оболочка (bash)

Практические работы поOpenOffice

Основы программирования(Python)

Алгоритмы на Python

Объектно-ориентированноепрограммирование (Python)

Программированиеграфического интерфейса(Tkinter)

2D анимация (Synfig)

3D моделирование (Blender)

Blender Game Engine

Введение

Сенсоры, контроллерыи активаторы

Сила и физическиеобъекты

Взаимодействиеобъектов

Сенсор Mouse

Управление камерой

Переходы междусценами

Активатор Edit Object

Гравитация в игровомрежиме

Главная » Уроки по Blender Game Engine (игровому движку программы Blender)

Влияние параметра Grav на поведение объектов в Blender GameEngine. Урок 9Опубликовано plustilino в Пнд, 02/08/2010 - 17:10. Changed Втр, 02/16/2010 - 17:03

Игровой мир в Blender по умолчанию настроен таким образом, что поведение виртуальныхфизических объектов сходно с поведением их аналогов в реальном мире в условиях Земли.Однако в невесомости или на каком-нибудь другом космическом теле те же самые объектыбудут вести себя по-другому. Все зависит от силы притяжения, вызываемой конкретным«миром» (космическим телом). Эта сила вызывает ускорение свободного падения, котороев Blender можно менять в окне кнопок на панели Shading -> World buttons: параметр Grav.Значение по умолчанию равно 9.8, что соответствует ускорению свободного падения впределах Земли.

Если разместить на сцене плоскость, а над ней несколько предметов, то можно увидеть,как они будут падать (если параметр Grav не равен нулю, нулевое значение обозначаетневесомость) и взаимодействовать между собой. Большое значение Grav приводит к тому,что объекты падают очень быстро, и для их перемещения с помощью силы ( Force)требуется использовать большее значение, чем обычно.

Изменяя значение Grav, можно оценивать поведение объектов в различных условия.Например, установив ускорение свободного падения в значение 1.62, мы увидим, как ведут

Новая картинка

Новые записи в блогах

Проблемы при работе вOpenOffice.org Writer

Работа в Simply Linux

Учебный проект "Сортировщикфайлов на Python"

Учебные компьютер и ПО.Должны ли они быть"современными"

Simply Linux. Действительноsimply?

Операционная системаGNU/Linux. Ты где?

подробнее

PDFmyURL.com

Материалы и текстуры

Переводы

Введение в Linux

Предисловие

1. Что такое Linux?

2. Быстрый старт

3. О файлах и файловыхсистемах

4. Процессы

Dia Tutorial

себя объекты в пределах Луны. Сразу станет очевидно, что взлет с Луны требуетприложения меньшей силы по оси Z. Интересно также увидеть, как ведут себя объекты вусловиях невесомости.

В режиме игры мы видим одну сцену и, следовательно, один «мир». Однако, можетпотребоваться наглядно сравнить поведение объектов в условиях разных «миров». Тогданужно в режиме игры как-то отобразить как минимум две сцены. В Blender Game Engineесть некоторая реализация данной возможности. У активатора Scene есть два типа,позволяющие разместить другую сцену над или под текущей соответственно: Add OverlayScene и Add Background Scene. То есть всего в режиме игры можно отобразитьсодержимое трех сцен.

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

Практическая работаПримечание: предварительно лучше камеру развернуть параллельно оси X или Y.

1. На сцену добавьте плоскость и несколько предметов над ней. Объекты должны бытьтипа Rigid body или Soft body, обладать разной массой. На объекты с помощьюклавиш должно быть возможно влияние сил в различных направлениях. При виде изкамеры все объекты должны находиться в нижней части сцены. Назовите даннуюсцену «earth».

2. Создайте копию предыдущей сцены. Назовите ее «moon». Все объекты сместите вцентральную часть сцены (при виде из камеры). Измените Grav на 1.62.

3. Создайте вторую копию сцены – «space». Объекты сместите в верхнюю часть сцены,Grav обнулите (будет невесомость).

4. Перейдите на сцену «moon» и выделите камеру. На панели Logic добавьте две

PDFmyURL.com

‹ Активатор Edit Object. Урок 8 Вверх Материалы и текстуры в BlenderGame Engine: работа с UV/Image

Editor. Урок 10 ›

сцены, используя соответствующие типы активатора Scene (см. рисунок выше).5. Запустите режим игры. Оцените поведение объектов под влиянием различных сил

притяжения.

Страница для печати Добавить комментарий

Лаборатория юного линуксоида, 2009-2010

PDFmyURL.com

Лаборатория юного линуксоидаLinux для начинающих. Свободное программное обеспечение и информатика

Галерея изображений Презентации Блог Программа ДО Уголок СПО О сайте Контакты Другие сайты

Уроки

Введение в GNU/Linux

Работа в графических средах(KDE, Gnome)

Командная оболочка (bash)

Практические работы поOpenOffice

Основы программирования(Python)

Алгоритмы на Python

Объектно-ориентированноепрограммирование (Python)

Программированиеграфического интерфейса(Tkinter)

2D анимация (Synfig)

3D моделирование (Blender)

Blender Game Engine

Введение

Сенсоры, контроллерыи активаторы

Сила и физическиеобъекты

Взаимодействиеобъектов

Сенсор Mouse

Управление камерой

Переходы междусценами

Активатор Edit Object

Гравитация в игровомрежиме

Материалы и текстуры

Главная » Уроки по Blender Game Engine (игровому движку программы Blender)

Материалы и текстуры в Blender Game Engine: работа с UV/Image Editor.Урок 10Опубликовано plustilino в Втр, 02/09/2010 - 17:32. Changed Втр, 02/16/2010 - 17:03

При создании боле менее сложных сцен с использованием Blender Game Engine объекты могутсостоять из нескольких частей, каждая из которых имеет свой цвет и текстуру. Для того чтобыдобиться этого, можно пойти разными путями. Например, можно сначала смоделировать частиобъекта из различных меш-примитивов, наложить на них материалы и текстуры, а затем объединитьих в единое целое ( Ctrl+J). Но при этом обычно возникает один существенный недостаток –большое количество частей у меш-объекта (граней, ребер и вершин). Из-за этого при запуске

Новая картинка

Новые записи в блогах

Проблемы при работе вOpenOffice.org Writer

Работа в Simply Linux

Учебный проект "Сортировщикфайлов на Python"

Учебные компьютер и ПО.Должны ли они быть"современными"

Simply Linux. Действительноsimply?

Операционная системаGNU/Linux. Ты где?

подробнее

справка 086у

PDFmyURL.com

Переводы

Введение в Linux

Предисловие

1. Что такое Linux?

2. Быстрый старт

3. О файлах и файловыхсистемах

4. Процессы

Dia Tutorial

Склад на горьковском шоссе: складответственного хранения.

игрового режима компьютер начинает тормозить. Чем меньше частей, тем быстрее. Поэтому, бываетлучше создать изображение с прорисованными на нем частями, а потом наложить этот рисунок нацелый меш-объект. Или возможно, объект достаточно прост, но каждая его часть должна бытьсвоего цвета.

Один из способов «экзотически раскрасить» объекты для отображения в режиме игры – этоиспользование редактора UV/Image Editor, который открывается в соответствующем окне Blender.(3D-окно следует подразделить на две части и в одном выбрать окно UV/Image Editor.)

Примечания:

1. При использовании материалов UV/Image Editor для объектов удаляйте у них материалы напанели Shading -> Material buttons (иначе в режиме игры будет отображаться именно этотматериал).

2. Текстуры видны, только если переключиться в режим прорисовки Textured.

PDFmyURL.com

В окне UV/Image Editor можно 1) как создавать новые материалы, состоящие из одного цвета и/илидорисованные с помощью настроек панели Editing (вкладка Paint), 2) так и открывать готовыеизображения. В основном предпочитают второй вариант.

После загрузки изображений они доступны в виде списка. Следует иметь в виду, что изображения поумолчанию не импортируются в файл .blend, а лишь связываются по ссылке. Чтобы картинкиостались в файле «навечно», нужно для каждого рисунка в списке нажать кнопку с изображениемкоробки с сюрпризом.

Текущее изображение отображается в рабочей области окна. Если оно слишком большое илималенькое, то с помощью колеса мыши можно изменить масштаб. А зажав колесо мыши, перемещатьизображение по рабочей области (т.е. работать почти так, как в 3D-окне).

PDFmyURL.com

Итак, у нас есть импортированные изображения и объекты на сцене, на которые требуется наложитьэти изображения. Делается все в режиме редактирования объектов и при выделении граней.Текстура применяется только к выделенным граням. Таким образом, можно к одному объектуприменить несколько текстур.

Понятно, что объекты по размеру и форме не совпадают с изображениями. Поэтому существуютразличные способы наложения текстур. Выбор способа наложения происходит в меню UVCalculation, которое появляется при нажатии клавиши U в 3D-окне.

Если с первыми четырьмя способами наложения еще кое-как понятно, то остальные достаточноспецифичны (за исключением Reset, который часто бывает полезен). Не смотря на возможностьразного способа наложения, рисунки все равно не совпадают с объектом по размеру. Поэтому в окнеUV/Image Editor предусмотрена возможность редактирования способа наложения так, как если бы выредактировали меш-объект: можно перемещать сетку наложения по текстуре, масштабировать иизменять форму.

Рассмотрим несколько примеров.

Накладывание карты на сферу. В 3D-окне в режиме редактирования сферы выделить все грани;нажав U, выбрать Sphere from View. Перевести курсор мыши в окно UV/Image Editor. Растягивая (Sпо осям X, Y или Z) и перемещая сетку (G) добиться ее совпадения с картой.

PDFmyURL.com

‹ Влияние параметра Grav наповедение объектов в BlenderGame Engine. Урок 9

Вверх

Накладывание разных текстур на один меш-объект. Зажав Shift, выделяем только те грани, накоторые накладывается первая текстура, выбираем изображение и применяем тип наложения.Редактируем сетку наложения, если потребуется. Далее выделяем другие грани и накладываемдругой материал. Если нужно просто раскрасить их в тот или иной цвет, то достаточно в окнеUV/Image Editor выбрать New, подобрать в появившемся окне цвет, назвать материал, и, затем,выбрать его из списка.

Отображение текстуры на внутренней поверхности. Допустим, планируется разместить сцену игрывнутри большой сферы. Чтобы наложить текстуру на внутреннюю поверхность сферы надо наложитьее сначала на внешнюю сторону, затем (не выходя из режима редактирования) на панели кнопокEditing найти вкладку Texture Face, включить там Twoside и затем нажать Copy (чтобы применитьизменения).

Практическая работа

Попрактикуйтесь в наложении материалов и текстур с помощью UV/Image Editor. В качестве средыдля опытов можно использовать сохраненные файлы с предыдущих уроков по Blender Game Engine.

PDFmyURL.com