Page 3 of 5

Blender Game Engine примеры.

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

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

Кроссфейдер

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

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

Post #42Posted: 04.04.2015, 13:50
by maks-dll
Автор: я
Подробное описание: у проперти 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

Boost эффект

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

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

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

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

Post #45Posted: 11.06.2015, 23:08
by denis8424
Автор: как бы я, но по сути это вариация примера от olkeyn
Подробное описание: При клике мышкой по зеленому плейну с помощью сенсора мыши типа Mouse Over получаем координаты места клика. Эти координаты пишем в проперти объекта, который был в этот момент активным. Затем включаем актуатор движения и получаем вектор направления на полученные координаты в локальной системе координат активного объекта, в зависимости от положения по оси X управляем вращением объекта в горизонтальной плоскости.
Управление: После запуска игры кликнуть левой клавишей мыши на синем объекте, вокруг синего объекта должно появится "гало" - просто красный плейн, и затем кликнуть в любом месте зеленого плейна. Если после клика по объекту нажать правую клавишу мыши, то объект становится неактивным.
Версия Блендера: 2.74

Пример авто.

Post #46Posted: 24.06.2015, 23:37
by denis8424
Автор: Когда-то дал INGJNER, а взял он его отсюда http://blenderartists.org/forum/showthread.php?255355-Vehicle-Movement-(Turning).
Подробное описание: Скрипт использует стандартные функции BGE.
Управление: Стрелочки(вперед, назад, поворот влево, поворот вправо), пробел, левый Alt(тормоза)
Версия Блендера: 2.74

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

Post #47Posted: 30.06.2015, 18:16
by denis8424
Автор: olkeyn
Подробное описание: Без скрипта. В примере колеса привязаны к корпусу с помощью констреинтов.
Управление: Стрелочки влево, вправо, вверх.
Версия Блендера: 2.74

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

Post #48Posted: 30.06.2015, 18:33
by denis8424
Автор: взято отсюда http://blender.freemovies.co.uk/car-game-tutorials/
Подробное описание: Скрипт использует стандартные возможности BGE.
Управление: Стрелочки(вперед, назад, поворот влево, поворот вправо), пробел, B(тормоза)
Версия Блендера: 2.74

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

Post #49Posted: 04.07.2015, 15:38
by denis8424
Автор: Я.
Подробное описание: Скрипт. Камера припаренчена к пустышке, которой скриптом задается положение точно между двух объектов, за которыми следит камера. Скрипт ориентирует пустышку, что бы линия визирования(?) камеры была направлена перпендикулярно линии от одного объекта к другому. Также камера отслеживает экранную координату Х одного из объектов, и двигается вперед/назад, в зависимости от её значения, что бы объекты находились примерно во одном положении относительно экрана, вне зависимости от расстояния между ними.
Управление: Запустить игру(P)
Версия Блендера: 2.75

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

Post #50Posted: 08.08.2015, 15:24
by denis8424
Автор: Я
Подробное описание: Скрипт. Функция createRadarData, создает и записывает в глобальный словарь список данных объектов, которым положено отображаться на мониторе. Функция radarVis читает эти данные из словаря, масштабирует дальность, что бы метка не вылезала за "край экрана" и добавляет метки в рассчитанное положение относительно центра "экрана", поэтому монитор можно перемещать. Метки - просто плейны, со временем жизни равным времени обновления данных.
Управление: W,S,A,D - движение игрового объекта, колесом мыши изменяется радиус обзора радара.
Версия Блендера: 2.75а

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

Post #51Posted: 09.08.2015, 13:49
by denis8424
Автор: Я
Подробное описание: Кирпичи. Всё управление на камерах. Камера в игровой сцене при нажатии на пробел подключает оверлейную сцену, а камера на оверлейной сцене при появлении "замораживает" игровую сцену. При нажатии на пробел оверлейная камера "размораживает" игровую сцену и удаляет оверлейную сцену целиком. В общем, ничего сложного.
Управление: Пробел.
Версия Блендера: 2.75а

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

Post #52Posted: 09.08.2015, 23:45
by denis8424
Автор: Я
Подробное описание: Скрипт. Обнаруживается ближайшая цель, и затем рассчитывается точка упреждения исходя из линейной скорости цели и вносится поправка на баллистику снаряда, который должен быть динамическим. Имеются две пустышки, одна из которых наводит башню в горизонтальной плоскости, а вторая наводит орудие в вертикальной на полученную координату точки упреждения, и если угол между вектором ориентации орудия и направлением на цель меньше заданного, то со скрытого слоя добавляется снаряд. Снаряду придается начальное смещение и скорость.
Управление: Запустить игру (Р)
Версия блендера: 2.75а

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

Post #53Posted: 18.08.2015, 22:19
by Bibo
Автор: maks-dll
Подробное описание: Создается 2 пустышки, каждой из которых определяется своя анимация с ключами типа Location. Затем, эта анимация проигрывается у куба, что приводит к его перемещению на место соответствующей пустышки.
Примечание - дело в том, что кирпичи редактора логики не предусматривают функции установки мировых координат объекта напрямую, что может быть проблемой, если ваш, допустим, персонаж должен быть, допустим, телепортирован из точки A в точку B. В таком случае, остается задействовать ключи анимации и актуатор Action.
Важно - в данном примере пустышкам назначено по одному кадру анимации (которые являются и начальными, и конечными), в более ранних версиях блендера может потребоваться минимум 2 кадра.
Управление: Клавишами 1 и 2 "телепортируем" куб на место пустышек.
Версия Блендера: 2.75

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

Post #54Posted: 22.08.2015, 10:56
by Flogger-K
Автор: denis8424 (скрипты), остальное я , "на коленке"

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

Версия Блендера: 2.75а
Управление: Р (лат).

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

Post #55Posted: 25.08.2015, 18:37
by Flogger-K
Автор: Я

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

Версия Блендера: 2.75а
Управление: Р (лат). Остальное - в процессе игры в текстовых сообщениях.

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

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

Управление: WASD
Версия Блендера: 2.69+

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

Post #57Posted: 23.12.2015, 19:31
by denis8424
Автор: ДимаКива
Подробное описание: Создано четыре объекта, которые смещаются с помощью анимации. Два - линейно в горизонтальной плоскости, реализуя анимацию верхней и нижней ветвей гусеницы, два - вращаются, реализуя анимацию на ленивце и рулевом катке. Анимации совпадают по смещению, так что создается впечатление непрерывного движения траков.
Управление: Просто запустить игру: Р
Версия Блендера: 2.76b

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

Post #58Posted: 30.01.2016, 18:05
by denis8424
Автор: Я
Подробное описание: Кирпичи, скрипты. Управление параметром Visible (видимость) объектов, находящихся на другой сцене. Красный куб отправляет сообщение с помощью актуатора Message, а красная сфера получает его с помощью сенсора Message и изменяет свою видимость. Зеленый куб через скрипт ищет в списке запущенных сцен сцену с нужным именем, затем в найденной сцене по имени находит нужный объект - зеленую сферу и изменяет её видимость. Синий куб скриптом пишет значение видимости в переменную в глобальном словаре, а синяя сфера, уже своим скриптом, читает это значение и изменяет свою видимость.
Управление: клавиши 1, 2, 3
Версия Блендера: 2.76b

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

Post #59Posted: 30.01.2016, 18:40
by denis8424
Автор: Я
Подробное описание: В стартовой сцене создается карта высот - двухмерный массив, с записанными в ней координатами. Пустышка пробегает эти координаты и сенсором Ray замеряет высоту в каждой точке. Высота дописывается в координату. Это такой костыль, что бы можно было спокойно менять ландшафт, по идее карта высот должна хранится в файле и оттуда читаться. По завершении создания карты высот игра переключается на основную сцену, где есть копия ландшафта, юнит и болванка, которая отвечает за видимость юнита. Юнит рассчитывает высоту в четырех точках и на основе этих данных строит матрицу ориентации для болванки. Получается немного дергано и не очень реалистично, но физика не используется совсем.
Управление: После запуска немного подождать, пока не будет создана карта высот, после появления желтого танчика: W, S, A, D - управление движением, 1, 3, 7 на цифровой клавиатуре - переключение вида из камер.
Версия Блендера: 2.76b

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

Post #60Posted: 30.01.2016, 22:27
by denis8424
Автор: Я, на основе примера отсюда
Подробное описание: В сцене создается список клеток, которые могут быть заняты рандомно расставляемыми при старте игры кубами. Для монитора создаются новая текстура, и две кисти, одна - цвета фона, другая - цвета метки. Кубы, двигаясь из своих клеток в соседние, освобождают старые клетки и занимают новые, при этом индексы этих клеток пишутся в специальный список. Скрипт рисования на текстуре читает этот список и рассчитывает координаты клеток на текстуре, затем в зависимости от того, занята или нет клетка выбирает кисть и рисует на текстуре плоттером. В конце список измененных клеток очищается для следующего цикла, а текстура монитора радара обновляется.
Управление: Запустить игру (Р)
Версия Блендера: 2.76b