Blender Game Engine примеры.

Board index Геймдев в Blender Игровой движок Blender

Description: Все вопросы и обсуждения, касающиеся BGE
Moderators: exooman, denis8424

  • 7

Post #1by denis8424 » 16.02.2014, 12:49

Внимание, здесь вы можете только скачать пример, или поделиться им. Все вопросы задавайте здесь: "Вопросы по созданию игр."
Образец оформления:
Название: (должно отражать суть примера вкратце)
Автор: (если не знаете, так и пишите - "Не знаю")
Подробное описание: (Что делает, с помощью чего реализовано и т.п.)
Управление:(Если нужно просто запустить игру, так и пишите - "Просто запустить игру")
Версия Блендера

Все сообщения, оформление которых не соответствует вышеуказанным правилам будут редактироваться, или удаляться.
Все выкладываемые картинки должны быть формата .jpeg с качеством не выше 70%.
Все файлы должны быть сжаты, желательный формат - .7z, их размер не должен превышать 5 МБ, и они не должны содержать ресурсов(текстур, звуков и т.п.) не имеющих отношения к сути примера, или чрезмерного размера.
С претензиями обращайтесь к модераторам.
denis8424
Avatar
Posts: 724


  • 4

Кроссфейдер

Post #41by maks-dll » 04.04.2015, 13:30

Автор: я
Подробное описание: Запускаются два трека вместе, первый нормальный, а второй с эффектом. У первого громкость 1, у второго 0. Нажимая на пробел, громкости треков меняются наоботот. Покрутив проперти crossfader_increase_speed и crossfader_decrease_speed, можно изменить скорость кроссфейдера.
Управление: Пробел
Версия Блендера: 2.73a
maks-dll M
Posts: 62

  • 4

Запись нажатий клавиш

Post #42by maks-dll » 04.04.2015, 13:50

Автор: я
Подробное описание: у проперти MODE может быть три значения: 0, 1, 2. 0 - режим воспроизведения, 1 - режим записи, 2 - режим игры (просто побегать без записи). Ставим MODE значение 1, запускаем игру, все действия записываются в файл //demos/demo_1.dem , останавливаем запись на Escape, и ещё раз для выхода. Переводим MODE в 0, и вписываем в DEMO_NAME название демки для воспроизведения demo_1, запускаем игру, и смотрим как мы бегали)
Управление: W, A, S, D, Escape
Версия Блендера: 2.73a
maks-dll M
Posts: 62

  • 6

Boost эффект

Post #43by maks-dll » 04.04.2015, 14:10

Автор: я (и andreymal помог)
Подробное описание: искривление пространства при ускорении. На деформированную плоскость в оверлейной сцене накладывается изображение с копии камеры текущей.
Управление: W, A, D, пробел
Версия Блендера: 2.73a
maks-dll M
Posts: 62

  • 5

Пример использования геймпада

Post #44by maks-dll » 04.04.2015, 14:27

Автор: я
Подробное описание: летаем на турбине :-D Запускать игру нужно в blenderplayer-е, предварительно подключив геймпад. В игре можно настроить оси под себя. Реализовано с помощью Python-а. Плюс, добавлен кроссфейдер, вы можете в track_1 и track_2 добавить треки)
Управление: аналоговый геймпад
Версия Блендера: 2.73a
maks-dll M
Posts: 62

  • 3

Объект движется, куда кликнули мышкой.

Post #45by denis8424 » 11.06.2015, 23:08

Автор: как бы я, но по сути это вариация примера от olkeyn
Подробное описание: При клике мышкой по зеленому плейну с помощью сенсора мыши типа Mouse Over получаем координаты места клика. Эти координаты пишем в проперти объекта, который был в этот момент активным. Затем включаем актуатор движения и получаем вектор направления на полученные координаты в локальной системе координат активного объекта, в зависимости от положения по оси X управляем вращением объекта в горизонтальной плоскости.
Управление: После запуска игры кликнуть левой клавишей мыши на синем объекте, вокруг синего объекта должно появится "гало" - просто красный плейн, и затем кликнуть в любом месте зеленого плейна. Если после клика по объекту нажать правую клавишу мыши, то объект становится неактивным.
Версия Блендера: 2.74
Attachments
moveTo.blend.7z
(92.44 KiB) Downloaded 262 times
denis8424
Avatar
Posts: 724

  • 4

Пример авто.

Post #46by denis8424 » 24.06.2015, 23:37

Автор: Когда-то дал INGJNER, а взял он его отсюда http://blenderartists.org/forum/showthread.php?255355-Vehicle-Movement-(Turning).
Подробное описание: Скрипт использует стандартные функции BGE.
Управление: Стрелочки(вперед, назад, поворот влево, поворот вправо), пробел, левый Alt(тормоза)
Версия Блендера: 2.74
Attachments
1547-SimpleCar1.blend.7z
(116.67 KiB) Downloaded 204 times
denis8424
Avatar
Posts: 724

  • 3

Пример трехколесного транспортного средства.

Post #47by denis8424 » 30.06.2015, 18:16

Автор: olkeyn
Подробное описание: Без скрипта. В примере колеса привязаны к корпусу с помощью констреинтов.
Управление: Стрелочки влево, вправо, вверх.
Версия Блендера: 2.74
Attachments
trike.blend.7z
(56.83 KiB) Downloaded 175 times
denis8424
Avatar
Posts: 724

  • 3

Еще один пример авто.

Post #48by denis8424 » 30.06.2015, 18:33

Автор: взято отсюда http://blender.freemovies.co.uk/car-game-tutorials/
Подробное описание: Скрипт использует стандартные возможности BGE.
Управление: Стрелочки(вперед, назад, поворот влево, поворот вправо), пробел, B(тормоза)
Версия Блендера: 2.74
Attachments
myCar2Tut5.zip
(225.2 KiB) Downloaded 197 times
denis8424
Avatar
Posts: 724

  • 3

Пример камеры для файтингов.

Post #49by denis8424 » 04.07.2015, 15:38

Автор: Я.
Подробное описание: Скрипт. Камера припаренчена к пустышке, которой скриптом задается положение точно между двух объектов, за которыми следит камера. Скрипт ориентирует пустышку, что бы линия визирования(?) камеры была направлена перпендикулярно линии от одного объекта к другому. Также камера отслеживает экранную координату Х одного из объектов, и двигается вперед/назад, в зависимости от её значения, что бы объекты находились примерно во одном положении относительно экрана, вне зависимости от расстояния между ними.
Управление: Запустить игру(P)
Версия Блендера: 2.75
Attachments
camTo2pers.blend.7z
(61.2 KiB) Downloaded 141 times
denis8424
Avatar
Posts: 724

  • 3

Пример монитора радара.

Post #50by denis8424 » 08.08.2015, 15:24

Автор: Я
Подробное описание: Скрипт. Функция createRadarData, создает и записывает в глобальный словарь список данных объектов, которым положено отображаться на мониторе. Функция radarVis читает эти данные из словаря, масштабирует дальность, что бы метка не вылезала за "край экрана" и добавляет метки в рассчитанное положение относительно центра "экрана", поэтому монитор можно перемещать. Метки - просто плейны, со временем жизни равным времени обновления данных.
Управление: W,S,A,D - движение игрового объекта, колесом мыши изменяется радиус обзора радара.
Версия Блендера: 2.75а
Attachments
radarIs.blend.7z
(74.75 KiB) Downloaded 160 times
denis8424
Avatar
Posts: 724

  • 3

Пример паузы в игре.

Post #51by denis8424 » 09.08.2015, 13:49

Автор: Я
Подробное описание: Кирпичи. Всё управление на камерах. Камера в игровой сцене при нажатии на пробел подключает оверлейную сцену, а камера на оверлейной сцене при появлении "замораживает" игровую сцену. При нажатии на пробел оверлейная камера "размораживает" игровую сцену и удаляет оверлейную сцену целиком. В общем, ничего сложного.
Управление: Пробел.
Версия Блендера: 2.75а
Attachments
pause.blend.7z
(82.27 KiB) Downloaded 156 times
denis8424
Avatar
Posts: 724

  • 5

Пример самонаводящейся турели.

Post #52by denis8424 » 09.08.2015, 23:45

Автор: Я
Подробное описание: Скрипт. Обнаруживается ближайшая цель, и затем рассчитывается точка упреждения исходя из линейной скорости цели и вносится поправка на баллистику снаряда, который должен быть динамическим. Имеются две пустышки, одна из которых наводит башню в горизонтальной плоскости, а вторая наводит орудие в вертикальной на полученную координату точки упреждения, и если угол между вектором ориентации орудия и направлением на цель меньше заданного, то со скрытого слоя добавляется снаряд. Снаряду придается начальное смещение и скорость.
Управление: Запустить игру (Р)
Версия блендера: 2.75а
Attachments
turret3.blend.7z
(69.52 KiB) Downloaded 167 times
denis8424
Avatar
Posts: 724

  • 3

Установка координат объекта актуатором Action

Post #53by Bibo » 18.08.2015, 22:19

Автор: maks-dll
Подробное описание: Создается 2 пустышки, каждой из которых определяется своя анимация с ключами типа Location. Затем, эта анимация проигрывается у куба, что приводит к его перемещению на место соответствующей пустышки.
Примечание - дело в том, что кирпичи редактора логики не предусматривают функции установки мировых координат объекта напрямую, что может быть проблемой, если ваш, допустим, персонаж должен быть, допустим, телепортирован из точки A в точку B. В таком случае, остается задействовать ключи анимации и актуатор Action.
Важно - в данном примере пустышкам назначено по одному кадру анимации (которые являются и начальными, и конечными), в более ранних версиях блендера может потребоваться минимум 2 кадра.
Управление: Клавишами 1 и 2 "телепортируем" куб на место пустышек.
Версия Блендера: 2.75
Attachments
SetObjectPosition.7z
(52.98 KiB) Downloaded 133 times
Bibo
Avatar
Posts: 611

  • 3

Пример автоматического бомбометания.

Post #54by Flogger-K » 22.08.2015, 10:56

Автор: denis8424 (скрипты), остальное я , "на коленке"

Подробное описание:
По просьбе denis8424 выкладываю пример автоматического бомбометания для ботов. Управление - просто жмем Р и смотрим работу игрового файла. Пример крайне примитивен - нет взрывов, звуков, вспышек и прочего. Вся фишка в двух файлах - баллистическом вычислителе, который вычисляет момент сброса бомбы и скрипте ориентации бомбы по вектору ее движения (чтобы красиво летела). Пояснения даны в скриптах в виде комментариев. В свое время denis8424 приложил руку к обоим скриптам, так что можно считать пример - его.

Версия Блендера: 2.75а
Управление: Р (лат).
Attachments
BombTarget.zip
(132.13 KiB) Downloaded 148 times
Flogger-K M
авиатор
Avatar
Posts: 517

  • 2

Пример корректной очистки от подгруженных с помощью LibLoad() файлов

Post #55by Flogger-K » 25.08.2015, 18:37

Автор: Я

Подробное описание: В свое время столкнулся с проблемой некорректной работы функции LibFree - функции очистки подгружаемых библиотек. В связи с большим объемом своего игрового проекта абсолютное большинство объектов грузилось из сторонних файлов и папок с помощью функции LibLoad. Но при возвращении в исходную игровую сцену для того, чтобы пройти миссию заново или открыть новую следовала ошибка, которую можно было перевести как "этот файл уже открыт" и невозможно было провести подгрузку объектов из ранее использованного файла, поэтому игра работала некорректно, точнее, никак не работала. После нескольких неудачных попыток для радикальной очистки путей к файлам в итоговой сцене был применен актуатор Restart Game.
Собственно, что в файле над делать - можно прочесть в текстовом сообщении после старта игры. В самом файле две сцены - одна - "высадка деревьев", вторая - "итоговая". В "итоговой" сцене как раз и происходит рестарт игры. Этот файл демонстрирует, как вырваться из заколдованного круга при использовании подгрузки - можно вести игру до бесконечности, возвращаясь в ее начало. Заодно можно потестить, сколько полигонов и объектов на каком компе тянет БГЕ, если включить отображение ФПС в меню игровой сцены.

Версия Блендера: 2.75а
Управление: Р (лат). Остальное - в процессе игры в текстовых сообщениях.
Attachments
PrimerLibLoad.zip
(887.74 KiB) Downloaded 141 times
Flogger-K M
авиатор
Avatar
Posts: 517

  • 2

Активация/деактивация любых состояний логики объекта ("слои кирпичей") с помощью Python.

Post #56by Wegemu » 16.11.2015, 18:31

Автор: я
Подробное описание: Управление состоянием (слоями) логических блоков объекта посредством вызова функции модуля Python. Код снабжен излишними комментариями и достаточно "разжеван". Запустить игру и использовать клавиши для активации/деактивации слоев состояний кубика.

Управление: WASD
Версия Блендера: 2.69+
Attachments
chg_logic_state_with_python.zip
(85.03 KiB) Downloaded 139 times
When debugging, novices insert corrective code; experts remove defective code.
VEゲーム

Ушел в поисках приключений в страну GLSL.
Wegemu M
Avatar
Posts: 62

  • 3

Пример создания гусениц с помощью анимации.

Post #57by denis8424 » 23.12.2015, 19:31

Автор: ДимаКива
Подробное описание: Создано четыре объекта, которые смещаются с помощью анимации. Два - линейно в горизонтальной плоскости, реализуя анимацию верхней и нижней ветвей гусеницы, два - вращаются, реализуя анимацию на ленивце и рулевом катке. Анимации совпадают по смещению, так что создается впечатление непрерывного движения траков.
Управление: Просто запустить игру: Р
Версия Блендера: 2.76b
Attachments
gusenici_tanka.blend.7z
(57.77 KiB) Downloaded 142 times
denis8424
Avatar
Posts: 724

  • 3

Пример передачи данных между сценами.

Post #58by denis8424 » 30.01.2016, 18:05

Автор: Я
Подробное описание: Кирпичи, скрипты. Управление параметром Visible (видимость) объектов, находящихся на другой сцене. Красный куб отправляет сообщение с помощью актуатора Message, а красная сфера получает его с помощью сенсора Message и изменяет свою видимость. Зеленый куб через скрипт ищет в списке запущенных сцен сцену с нужным именем, затем в найденной сцене по имени находит нужный объект - зеленую сферу и изменяет её видимость. Синий куб скриптом пишет значение видимости в переменную в глобальном словаре, а синяя сфера, уже своим скриптом, читает это значение и изменяет свою видимость.
Управление: клавиши 1, 2, 3
Версия Блендера: 2.76b
Attachments
sceneToScene.blend.7z
(69.14 KiB) Downloaded 150 times
denis8424
Avatar
Posts: 724

  • 4

Движение юнита по карте высот.

Post #59by denis8424 » 30.01.2016, 18:40

Автор: Я
Подробное описание: В стартовой сцене создается карта высот - двухмерный массив, с записанными в ней координатами. Пустышка пробегает эти координаты и сенсором Ray замеряет высоту в каждой точке. Высота дописывается в координату. Это такой костыль, что бы можно было спокойно менять ландшафт, по идее карта высот должна хранится в файле и оттуда читаться. По завершении создания карты высот игра переключается на основную сцену, где есть копия ландшафта, юнит и болванка, которая отвечает за видимость юнита. Юнит рассчитывает высоту в четырех точках и на основе этих данных строит матрицу ориентации для болванки. Получается немного дергано и не очень реалистично, но физика не используется совсем.
Управление: После запуска немного подождать, пока не будет создана карта высот, после появления желтого танчика: W, S, A, D - управление движением, 1, 3, 7 на цифровой клавиатуре - переключение вида из камер.
Версия Блендера: 2.76b
Attachments
moveHiMap.blend.7z
(147.24 KiB) Downloaded 140 times
denis8424
Avatar
Posts: 724

  • 4

Пример монитора радара с помощью модуля видеотекстуры.

Post #60by denis8424 » 30.01.2016, 22:27

Автор: Я, на основе примера отсюда
Подробное описание: В сцене создается список клеток, которые могут быть заняты рандомно расставляемыми при старте игры кубами. Для монитора создаются новая текстура, и две кисти, одна - цвета фона, другая - цвета метки. Кубы, двигаясь из своих клеток в соседние, освобождают старые клетки и занимают новые, при этом индексы этих клеток пишутся в специальный список. Скрипт рисования на текстуре читает этот список и рассчитывает координаты клеток на текстуре, затем в зависимости от того, занята или нет клетка выбирает кисть и рисует на текстуре плоттером. В конце список измененных клеток очищается для следующего цикла, а текстура монитора радара обновляется.
Управление: Запустить игру (Р)
Версия Блендера: 2.76b
Attachments
mapScreen.blend.7z
(68.89 KiB) Downloaded 126 times
denis8424
Avatar
Posts: 724

PreviousNext

Return to Игровой движок Blender