BGE, Python , опыты дилетанта.

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

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

Post #481by Mihanik » 26.12.2015, 14:57

СамСуCам wrote:А почему на скрине 40 фпс, хотя есть 21% мощности простаивает?
Сам хотел бы знать, блин, да я много чего хотел бы знать, например что вообще эти строчки означают, подробно по каждой, видел только на буржуйском, ни чего не понял.
andreymal wrote:С текстурами, ага. При первом запуске стабильные 50 фпс, полез увеличивать до 120 - стабильные 120 фпс, и только после увеличения до 300 стал виден 140-160 средний фпс,
Фигасе, это означает, что скорее всего хватит и на 2D фильтры и на динамические тени, возможно стоит их прикрутить опционально, в настройках качества, для счастливых обладателей хороших видюх.
andreymal wrote:и перс стал почему-то медленнее ходить
Полагаю, это всё давнишняя проблема, мне до сих пор непонятная, вот здесь ещё обсуждалась
/viewtopic.php?f=30&t=866&start=120
По этому и ограничили фрс 50
Mihanik M
Avatar
Posts: 1571

  • 1

Post #482by Bibo » 27.12.2015, 14:04

Game.7z
  • установлен единый звук для угля
  • установлен разный звук пятнашкам на вертикальное и горизонтальное движение
  • установлено затухание звука
  • звук вентиляции начинается заново на каждом цикле

Если раньше звук вентиляции просто не попадал, то теперь запинка, в начале нового цикла, в следствии проигрывания с нуля, слышится достаточно четко.
Пробовал сообразить движение персонажа наиболее простым и приемлемым способом (убрать скольжение по лестнице, прыжок на пробел и прочее), но никакие попытки к успеху не привели. Либо запинается, либо спотыкается, либо у стен трясется, либо т.п., либо т.д. Попытка расписать расчет наиболее полно скриптами, приводит к сильному потреблению логики (возрастает примерно в 2-3 раза). Задача нетривиальная.
Сам звук скриптам тоже не поддается довольно точной настройке, хотя и не скрою, что не могу окончательно в нем разобраться. Как минимум левый и правый каналы постоянно путаются.
Bibo
Avatar
Posts: 605

Post #483by Mihanik » 27.12.2015, 15:20

Bibo, По мне всё очень даже хорошо, заикание звука вентиляции думаю удастся поправить, отредактировав сам звук. У меня ещё есть несколько правок касательно моей части работы, текстуры, материалы... думаю выложу завтра. И собственно останется довести до ума запускалочку, определиться какие настройки мы там можем предоставить, потестить сами экзешники. А то я тут с удивление обнаружил - куча народа сидит на 32 битных системах. Когда занимаешься графикой могут сбиваться реалии, кажется что все сидят на графстанциях ;0)
Mihanik M
Avatar
Posts: 1571

Post #484by Mihanik » 29.12.2015, 00:00

https://yadi.sk/d/i7Z5im9qhwb3u
Звук вентиляции поправил, не заикается.
Переделал часть дыма, теперь он легче.
Поправил стрелочки,теперь они с текстурой.
Поправил текстуру инструкции, и ещё там маты и текстуры по мелочи.
2D фильтр прикручен к цилиндру который имитирует окружение, просто потестить, если не понравится уберём или сделаем опционально. Сила фильтра регулируется свойством retinex этого цилиндра. У меня он пожирает 10 кадров от фпс.
Mihanik M
Avatar
Posts: 1571

  • 1

Post #485by Bibo » 29.12.2015, 10:25

Поставил вызов журнала на F2 и помощь на F1. Исправил некритичный баг со звуком.
Game.7z, архив не содержит текстуры и прочее, лишнее.
Фильтр жрет порядка 10 кадров и у меня, но держится на приемлемом уровне в 30 кадров. Как по мне, фильтр довольно бессмысленный. Да, свечение, красиво, но бессмысленно.
Bibo
Avatar
Posts: 605

Post #486by Mihanik » 29.12.2015, 12:03

Bibo wrote:Да, свечение, красиво, но бессмысленно.
Да тут вообще не всё так гладко, он высвечивает картинку, и по уму надо материалы под него настраивать. Но тогда без него становится мрачно, то есть просто опцией его очень проблемно вставить. Не будем вставлять.
Я тут ещё своих косяков нашёл.
Spoiler
Image
ЭксплуАтации :) и кроме того корешок журнала должен быть слева. И в самой инструкции запятые расставлены не верно. Жесть, говорила мне мама - учи русский язык. Я всё - физика, физика. :) В общем сейчас это поправлю, и будем считать, что с игрой всё.
Останется запускалочка. Тут всё таки хотелось бы иметь и вариант с текстурами маленького разрешения, по мимо производительности он ещё и оперативы меньше жрёт.
Mihanik M
Avatar
Posts: 1571

Post #487by Bibo » 29.12.2015, 16:44

Mihanik wrote:Останется запускалочка. Тут всё таки хотелось бы иметь и вариант с текстурами маленького разрешения, по мимо производительности он ещё и оперативы меньше жрёт.
Все контролируемые скриптами настройки рендера уже есть в этой самой запускалочке.
Про текстуры тоже говорили, единственный полноценно работоспособный вариант, это сделать второй файл Game.blend, текстуры в котором будут ссылаться на папку с упрощенными текстурами и запускать файл соответствующий выбранному режиму.
Bibo
Avatar
Posts: 605

Post #488by Mihanik » 29.12.2015, 22:00

Bibo, а ведь запускалочка запускает именно бленд файл. То есть, для конечного пользователя нам надо только её переделать в исполняемый файл с соответствующими библиотеками, а остальное, сколько бы их не было, должны оставаться просто блендами?
Mihanik M
Avatar
Posts: 1571

Post #489by Bibo » 29.12.2015, 22:04

Mihanik, совершенно верно. только общая толщина игры будет расти, как минимум на 23мб за версию.
Bibo
Avatar
Posts: 605

Post #490by Mihanik » 29.12.2015, 23:32

Тогда вот, исправил свои ляпы, повернул перса, чтоб при пуске смотрел на инструкцию. и в архиве лёгкая версия
Game1, лёгкие текстуры запакованы в ней, остальное она берёт из папок.+34метра.
https://yadi.sk/d/i7Z5im9qhwb3u

Added after 16 minutes 21 second:
Касательно самой запускалочки: Если не выходит запускать на весь экран с указанным разрешением, то думаю и незачем вообще его указывать, а просто два варианта - на весь экран с системным разрешением, и в окне. Окно каждый может сам любого размера сделать. И хорошо бы чтоб она запоминала крайние настройки.
Стерео режим не? Не получается, чтоб не из отдельного бленда?
Mihanik M
Avatar
Posts: 1571

Post #491by Bibo » 30.12.2015, 08:55

Mihanik wrote:Окно каждый может сам любого размера сделать.
Здесь тоже не все так гладко. У BGE нету инструментов для разработки пользовательского интерфейса, вообще никаких. Для того чтобы выровнять интерфейс по краям экрана, я использую костыль, с поиском соотношения экранных координат и таковых в пространстве камеры. Но оно не работает адекватно при постоянном изменении размеров:
Spoiler
Image
По этой причине я заблокировал возможность изменения размеров окна в оконном режиме (опять же, костыльно).
Mihanik wrote:Стерео режим не? Не получается, чтоб не из отдельного бленда?
Никак. Настроить дистанцию меж глаз - пожалуйста, включить никак.
Bibo
Avatar
Posts: 605

Post #492by Mihanik » 30.12.2015, 09:30

Понятно, с инструментом для разработки интерфейса действительно всё печально.
Тут просто столкнулся с некоторыми пользователями, которых, вопрос о разрешении их экрана ставит в тупик. То есть кнопочка "во весь экран" весьма уместна.
Mihanik M
Avatar
Posts: 1571

Post #493by Bibo » 30.12.2015, 09:48

Mihanik wrote:Тут просто столкнулся с некоторыми пользователями, которых, вопрос о разрешении их экрана ставит в тупик. То есть кнопочка "во весь экран" весьма уместна.
То бишь? Наличие кнопочки "Во весь экран", фактически, это отсутствие галочки на "В окне". Или имеется в виду отсутствие подходящего варианта в меню разрешения? Тогда действительно нужно изменить принцип, разрешение выбирается только при установленной птичке "В окне", а в ее отсутствие разворачивать на физические размеры экрана.
Bibo
Avatar
Posts: 605

  • 2

Post #494by denis8424 » 30.12.2015, 11:45

А если запускалку на чистом питоне написать? Через файлы сценария операционной системы, там много разных параметров можно добавить, типа смены разрешения в полноэкранном режиме и прочего. Типа так:

Code: Select all
#!/usr/bin/env python
# -*- coding: utf-8 -*-

# эта библиотека нужна будет для задания прав на исполнение
import os
# а эта для запуска файла сценария
import subprocess
# путь к блендерплейеру, можно выбирать, в зависимости от оси,
# у меня линь, мне на остальные несколько пофиг.
pathToPlayer = '/home/denis8424/blender-2.75-linux-glibc211-i686/blenderplayer'
# аргументы запуска, сам понимаете, что строку можно любую сделать
arguments = '-f 1920 1080 2 60 -g show_profile = 1'
# имя бленда, который мы будем играть
gameName = '/home/denis8424/bge/mipmap.blend'
# путь к файлу сценария операционной системы, который мы будем делать
pathToLauncher = '/home/denis8424/bge/launch2'
# открываем файл, если его еще нет, он будет создан
f = open(pathToLauncher, 'w')
# пишем строку, объясняя, что это файл сценария и где взять интерпретатор
# кстати интерпретаторы разные бывают, тоже надо выбирать
f.write('#!/bin/sh' + '\n')
# пишем аргументы запуска
f.write(pathToPlayer + ' ' + arguments + ' ' + gameName + '\n')
# закрываем файл
f.close()
# задаем ему права на исполнение
os.chmod(pathToLauncher, 0777)
# запускаем
x = subprocess.Popen([pathToLauncher])

К ней и GUI можно прикрутить на каком-нибудь Gtk.

P.S. вообще почти весь код выше не нужен, поскольку subprocess.popen() как раз и запускает программу через системную оболочку. В случае собранного игрового файла
Code: Select all
z = subprocess.Popen([gameName + ' ' + arguments], shell = True)
будет запущен этот самый файл с указанным разрешением и прочими разностями.
denis8424
Avatar
Posts: 724

Post #495by Mihanik » 30.12.2015, 12:14

Bibo wrote:Или имеется в виду отсутствие подходящего варианта в меню разрешения?
Ну да это, и вообще имеется в виду, что пользователь впадает в ступор при виде непонятных циферок (так тоже оказывается бывает).
Bibo wrote:разрешение выбирается только при установленной птичке "В окне", а в ее отсутствие разворачивать на физические размеры экрана.
Да так лучше, это при условии что мы не можем запустить на весь экран с указанным разрешением. То есть без птички "В окне" по идеи, он должен растягивать на весь экран указанное разрешение. Как то так мне видится.
Можно и не заморачиваться.
Mihanik M
Avatar
Posts: 1571

Post #496by andreymal » 30.12.2015, 12:22

У BGE нету инструментов для разработки пользовательского интерфейса, вообще никаких.
blf есть. Да и текущий размер окна получить вполне можно, так что проблем с интерфейсом у меня почему-то не было
Читая эту подпись, вы впустую потратили 5 секунд своей жизни.
andreymal M
Avatar
Posts: 1195

Post #497by Mihanik » 30.12.2015, 13:05

andreymal, Расположение элементов интерфейса в 3D координатах, по моему в принципе костыль, много геморроя с их размещением при разных соотношениях сторон экрана. Гораздо удобнее бы было работать с плоскими элементами интерфейса именно в координатах экрана. То есть, то что должно быть нарисовано на экране, должно быть нарисовано на экране, а не болтаться в 3D пространстве, имхо.
Mihanik M
Avatar
Posts: 1571

  • 1

Post #498by Bibo » 30.12.2015, 15:50

Mihanik, вот Game.7z переделанная запускалочка. Настройки сохраняются от вызова к вызову, в папку пользователя Windows.
Вот архив с отредактированной версией папки customlogic, если возьмешься собрать игру в релиз, нужно использовать именно ее, чтобы избежать проблем с кириллицей в путях.
Сейчас из игры можно выйти через меню по Esc и как в редакторе, но на P, я решил не убирать эту клавишу, на случай если все же что-то пойдет не так, чтобы игрок не потерял возможность быстро закрыть игру.
Что-где упустил, надеюсь нет.

denis8424 wrote:А если запускалку на чистом питоне написать? Через файлы сценария операционной системы
К ней и GUI можно прикрутить на каком-нибудь Gtk.
Идея интересная, я думал к ней обратиться (хотел вообще на tkinter намалевать, обломилось), но суть сей работы, в первую очередь, использовать возможности самого BGE, без хитростей извне.

andreymal wrote:blf есть. Да и текущий размер окна получить вполне можно, так что проблем с интерфейсом у меня почему-то не было
blf штука приятная, но примитивная. Проблемы начинаются когда нужно установить взаимосвязь между тем, что рисуется на экране вручную и тем, что имеется в 3D пространстве. Здесь я солидарен с Mihanik. Можно, конечно, свой GUI редактор для BGE написать, благо все возможности предоставлены, но овчинка выделки не стоит, на мой взгляд.
Bibo
Avatar
Posts: 605

Post #499by Mihanik » 30.12.2015, 18:15

Bibo, Определённо, что то не так, У меня при запуске через запускалочку фпс просело до 20, причём даже на лёгких текстурах. Хотя при непосредственном запуске всё нормально.
Mihanik M
Avatar
Posts: 1571

Post #500by Bibo » 30.12.2015, 19:06

Mihanik,
Spoiler
Image
Запущено стационарно через запускалку. Скрипты отключены, то есть, логикой нагрузка не осуществляется.
Что изменилось в новых двух блендах?


Added after 21 minute 50 seconds:
Без паники, великая тайна разгадана. Открываем в блендере запускалку, в настройках рендера ищем AA Samples (оно же "Сглаживание"), выключаем. Должно быть локтем задел, когда переделывал.
Bibo
Avatar
Posts: 605

PreviousNext

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

Who is online (over the past 5 minutes)

Users browsing this forum: 1 guest