[phpBB Debug] PHP Warning: in file [ROOT]/konkurs/konkursrank.inc.php on line 39: mysqli::mysqli() [mysqli.mysqli]: (28000/1045): Access denied for user 'itcomp_korchy'@'91.206.201.47' (using password: YES)
[phpBB Debug] PHP Warning: in file [ROOT]/konkurs/konkursrank.inc.php on line 63: mysqli::real_escape_string() [mysqli.real-escape-string]: Couldn't fetch mysqli
[phpBB Debug] PHP Warning: in file [ROOT]/konkurs/konkursrank.inc.php on line 51: mysqli::query() [mysqli.query]: Couldn't fetch mysqli
[phpBB Debug] PHP Warning: in file [ROOT]/konkurs/konkursrank.inc.php on line 63: mysqli::real_escape_string() [mysqli.real-escape-string]: Couldn't fetch mysqli
[phpBB Debug] PHP Warning: in file [ROOT]/konkurs/konkursrank.inc.php on line 51: mysqli::query() [mysqli.query]: Couldn't fetch mysqli
BGE, Python , опыты дилетанта. - Игровой движок Blender - Страница 21 из 29 - Форум про Blender 3D

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

Список разделов Геймдев в Blender Игровой движок Blender

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

Сообщение #401 Bibo » 04.12.2015, 09:27

Mihanik, нужно еще 2 текстуры кнопок, "Подтвердить" и "Отменить", для меню выбора пользовательской картинки.
Bibo
Аватара
Сообщения: 626

Сообщение #402 Mihanik » 04.12.2015, 12:33

Хорошо, сейчас нарисую.

Добавлено спустя 1 час 12 минут:
вот
https://img-fotki.yandex.ru/get/6826/80739172.6/0_d1f41_79d76871_orig
Mihanik M
Аватара
Сообщения: 1571

  • 1

Сообщение #403 Bibo » 07.12.2015, 13:57

Mihanik, вот пробная версия: Game.7z
Внесены все правки из этого сообщения, с одним отличием. Шестеренки по прежнему появляются на не активных объектах, с которыми можно взаимодействовать, за исключением картинок в шкафу. Пока картинка не открыта, шестеренок нет.
Выход из игры так же не происходит по нажатию клавиши Esc мгновенно, появляется меню. Чтобы выйти из меню результатов теперь нужно нажать Esc.

Mihanik писал(а):_Можно будет вместо 7-ой картинки вставить коротенькое зацикленное видео???
Установил видео на 7-ю картинку. Чтобы заменить, замени файл picture_7.avi в каталоге pictures. Контейнер тот же .avi.

Mihanik писал(а):_Можно будет вместо 8-ой картинки организовать свободный выбор картинки с жёсткого, хотя бы из папки pictures???
Сделал меню выбора картинки, открывается при нажатии на 8-ю картинку в шкафу (давления должно быть достаточно для работы). Список прокручивается колесиком мыши, либо кнопками W/S. Выход из меню выбора картинки по кнопке отмены или клавише Esc.
И здесь есть несколько важных моментов:
Спойлер
Видимо BGE неприспособлен для работы с символами за пределами таблицы ASCII. То есть, если в пути к файлу картинки будет существовать кириллица или какие-то диакритические знаки, функция ImageFFmpeg, используемая для загрузки ресурса новой текстуры, просто не сработает. Потому пришлось прибегнуть к костылю. Интерпретатор Python-а прекрасно переваривает юникод в путях, поэтому, прежде чем загрузить новую картинку через функцию ImageFFmpeg, я копирую ее в каталог не содержащий лишних символов (в корень жесткого диска) и уже оттуда загружаю, после чего удаляю временный файл. Но в таком случае возникает проблема доступа, если игра или картинка распологаются в каталоге с ограниченным доступом (например на диске с операционной системой), загрузка не произойдет.
Спойлер
Из-за той же проблемы символов, сразу после сборки игры в готовый результат, будет нужно внести изменения в скрипт загрузки оригинальных картинок, так как сейчас там используется абсолютный путь вместо относительного, в силу того что относительным путем является каталог движка (редактора), а файлы игры находятся в совершенно другом месте.
Если говорить вкратце, то чтобы работал выбор картинки с жесткого диска, игру (или редактор) нужно запускать от имени администратора.
Последний раз редактировалось Bibo 07.12.2015, 16:04, всего редактировалось 1 раз.
Bibo
Аватара
Сообщения: 626

Сообщение #404 Mihanik » 07.12.2015, 14:28

Отлично, опять до вечера играть придётся.:0)
Bibo писал(а):И здесь есть несколько важных моментов:
Ну я собственно вообще не надеялся что удастся побороть эту проблему с кириллицей, думал просто read me написать на эту тему.

Добавлено спустя 7 часов 16 минут:
Вообще всё круто,Видео собрать очень, трудно но возможно.И это пожалуй самое интересное. В связи с этим вопрос, можно ли чтобы при выборе произвольной картинки с жёсткого, можно было выбрать и видео AVI а не только картинки JPEG?
Ещё есть небольшое замечание по настройке.При давлении пара 15 уже заметно замедление работы механизма и в этот момент, думаю, надо производить автозагрузку если она есть. При давлении 10, замедление уже начинает напрягать, и игрок вынужден будет бежать за углём, при 5, думаю, стоит остановить работу механизма вообще, это избавит нас и от проблем со звуком, который, вероятно, откажется работать на такой медленной скорости.
И работа счётчика времени стала зависеть от давления, это наверное не правильно, думаю лучше пусть время считает нормально пока давление не упадёт ниже 5 а там всё остановим.
Mihanik M
Аватара
Сообщения: 1571

Сообщение #405 Bibo » 07.12.2015, 21:59

Mihanik писал(а):В связи с этим вопрос, можно ли чтобы при выборе произвольной картинки с жёсткого, можно было выбрать и видео AVI а не только картинки JPEG?
Не уточнял весь список форматов, но сейчас он видит файлы png, jpg и tga .
В теории возможно сделать и выбор видео, но тут есть несколько существенных нюансов:
  • видео (судя по опытам) движок не загружает целиком в память, а читает прямо с диска, что делает недоступным изменение файла выбранного видео
  • загружая картинки огромного размера, я получал пару раз падение игры с сообщением C++ Runtime library
  • вытекает из первых двух: чтобы обойти проблему с кириллицой и пр., я создаю временную копию файла, что означает, ее нельзя будет удалить пока в пятнашках задействованно выбранное видео и в случае выбора файла огромного размера (догадается допустим пользователь ткнуть серию своего любимого сериала в HD), может просто не хватить места на диске

По остальным пунктам внесу правки.
Последний раз редактировалось Bibo 07.12.2015, 22:41, всего редактировалось 1 раз.
Bibo
Аватара
Сообщения: 626

Сообщение #406 Mihanik » 07.12.2015, 22:19

:-D Я всё таки надеюсь на адекватность пользователей.Хотелось бы иметь такую возможность.Может как то добавить ограничение на размер? И вероятно какое то read me придётся написать с описанием возможностей и понимаемых форматов.
Mihanik M
Аватара
Сообщения: 1571

Сообщение #407 Bibo » 07.12.2015, 22:45

Mihanik писал(а):Может как то добавить ограничение на размер?
Это можно, ограничить размер картинок до 2-3мб, видео до 5-7мб. При попытке загрузить изображение/видео слишком большого размера, вывести о том сообщение, дескать, "выбран слишком большой образец".
Bibo
Аватара
Сообщения: 626

Сообщение #408 Mihanik » 08.12.2015, 09:34

В рамках оптимизации переделал 4 объекта, минус один мат,минус несколько килополиков, и минус несколько текстур, также поправил фон за окном.
https://yadi.sk/d/i7Z5im9qhwb3u
Выигрыш в производительности если и есть то микроскопический.Можно ещё у многих объектов переделать маты выкинув карту блеска, использовав вместо неё диффуз, но не знаю есть ли смысл...
Mihanik M
Аватара
Сообщения: 1571

Сообщение #409 Bibo » 10.12.2015, 16:06

Bibo писал(а):но мне хочется ознакомится с ранее незнакомым модулем aud
Что-то я вот совсем встал с этим модулем. Загрузить звук и воспроизвести, это без проблем. Но когда дело доходит до прочих настроек и 3D звука, упираюсь в стену. Документация особой ясностью не блещет, на англофорумах натыкался на информацию, дескать, через aud 3D звука так и вовсе не пропишешь, только кирпичами ?:-|
Может есть какой-то пример скрипта применяющего библиотеку aud?
Bibo
Аватара
Сообщения: 626

  • 3

Сообщение #410 Mihanik » 11.12.2015, 16:28

Спешу поделиться изысканиями по поводу оптимизации, Видимо у меня были завышенные требования к текстурам. Просто, тупо все текстуры автоматом уменьшил в два раза, т. е. 1024 в 512, 512 в 256 и т. д. И с удивлением обнаружил, что картинка ухудшилась весьма незначительно. Вот
Спойлер
Изображение
И никаких подтормаживаний на подзагрузках падений FPS в автономном режиме, у меня даже в стерео режиме FPS держит около 40.
Так вот Bibo, сможем мы организовать настройку качества текстур в игре? Низкое из одной папки высокое из другой? Правда надо ещё потестить на слабых машинах оправдано ли это.
Mihanik M
Аватара
Сообщения: 1571

Сообщение #411 Bibo » 11.12.2015, 17:40

Mihanik, прямой способ мне неизвестен, если таковой существует. Это будет один из двух возможных костылей:
1. Менять сетку объекта через replaceMesh, на сетку с упрощенной текстурой, но это подарит +200 объектов-клонов в сцене.
2. Обойти все объекты сцены, создать объект текстуры через модуль bge.texture и подменить текущий, тяжелый ресурс на облегченный. Но неизвестно, как сильно провиснет игра, выполняя подмену почти 3-х сотен текстур и может ли это вызвать падение игры.

Можно вспомнить про лоды, но это тот же принцип, что и replaceMesh, много-много копий объектов и их материалов.
Bibo
Аватара
Сообщения: 626

Сообщение #412 Mihanik » 11.12.2015, 17:55

Не, не, что то с путями, или переименованием папки. Запустить что то, что даст нужное имя нужной папке, а потом запустит игру.
Mihanik M
Аватара
Сообщения: 1571

Сообщение #413 Bibo » 11.12.2015, 18:14

Это основная проблема, текстуры загружаются только когда объект попадает в камеру. Заставить движок загрузить их во время игрового процесса нельзя, так же как и перезагрузить.
То есть, даже если переименовать каталог, чтобы изменения вошли в силу, придется начать игру заново. А чтобы переименовать каталог программно, может потребоваться запустить игру от имени администратора. Конечно, все это очень плохо.
Bibo
Аватара
Сообщения: 626

Сообщение #414 Mihanik » 11.12.2015, 19:57

Bibo писал(а):Заставить движок загрузить их во время игрового процесса нельзя,
Ну собственно зачем во время процесса, я ж говорю запускаем хоть даже отдельный экзешник, который спрашивает с каким качеством запустить игру, он вносит необходимые изменения, и запускает игру, или на худой конец нужную версию игры.

Добавлено спустя 7 минут 53 секунды:
Или может чего со слоями можно намудрить, но динамическая замена как в лодах тут собственно ненужна... наверное... или нужна... не знаю. надо подумать, но направление для оптимизации есть точно.
Mihanik M
Аватара
Сообщения: 1571

Сообщение #415 Bibo » 11.12.2015, 20:36

С тем же успехом можно скопировать финальный бленд-файл сцены. Будет 3 файла. 1-й с текстурами высокого разрешения, 2-й с текстурами низкого разрешения. 3-й, выбирает качество и исходя из выбора, запускает либо 1-й либо 2-й.
Bibo
Аватара
Сообщения: 626

Сообщение #416 Mihanik » 11.12.2015, 20:56

Так и да, это самое простое, но сильно увеличит размер контента, попробую всё таки лоды сначала, для чего то же их придумали.Там можно не менять геометрию, только материал. Вопрос будет ли это на столько же эффективно как тупая замена текстур? Или ещё хуже будет, ведь ему придётся подгружать уже 2 комплекта текстур? Не попробуешь не узнаешь...
Mihanik M
Аватара
Сообщения: 1571

Сообщение #417 Bibo » 11.12.2015, 21:21

А что это даст? Для подмены материала в любом случае нужен объект, с которого он будет взят. Да и в API я не нашел функции управления лодами, как их загрузить?
Bibo
Аватара
Сообщения: 626

Сообщение #418 Mihanik » 11.12.2015, 23:13

Вопрос как он будет подгружать текстуры. Если только нужные, то при правильной настройке расстояния, это будут в основном лёгкие. И обработка текстур, уже загруженных, должна быть легче. осталось найти время на переделку сотни матов и надеяться что не зря.
Mihanik M
Аватара
Сообщения: 1571

Сообщение #419 Bibo » 12.12.2015, 08:55

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

Сообщение #420 Mihanik » 12.12.2015, 09:36

По их прямому назначению, заменять от расстояния. Просто надеюсь на выигрыш в производительности.
Mihanik M
Аватара
Сообщения: 1571

Пред.След.

Вернуться в Игровой движок Blender