Войти на сайт

Авторизация, ждите ...
×
Правила раздела:
1 Задавайте конкретные вопросы. Для болтовни есть свободный раздел.
2 По возможности давайте конкретные ответы.
3 Один вопрос=одна тема. Если хотите задать ещё вопрос, то начинайте новую тему.
4 Название темы должно составлять сам вопрос, и быть максимально конкретным. Рекомендуется начинать тему словами "Как", "Что", "Почему". А первый пост повторяет вопрос и даёт расширенные сведения.
5 Рекомендуется указывать версию мейкера (2000, 2003, RMXP, RMVX, ACE, IGM, и.т.д.. Это важно, и всё равно ведь спросят.
6 Темы "Пара вопросов", "Помогите", и подобные им - самый лёгкий путь к бану.
7 Поиск находится вверху справа.
А. Названия подразделов этого раздела уточняются. Советы принимаются.

ТЕМА: [MV] Как убрать мелькания при выводе pictures ?

[MV] Как убрать мелькания при выводе pictures ? 4 года 5 мес. назад #117344

  • Netral
  • Netral аватар
  • Вне сайта
  • Бывалый
  • Сообщений: 76
  • Спасибо получено: 18
Всем привет!
Возникла небольшая,но достаточная актуальная проблема с отображением картинок через вызов pictures в мейкере MV.
А проблема в том,что при вызове следующей картинки возникает разрыв,через который видно всё, что было ЗА картинкой.
То есть, например, вот в событие на карте мы загружаем Picture1(не по номеру 1, просто имя такое),далее пишем ещё строчки события, там текст всякий,танцы с бубном, далее по событию загружаем допустим следующую Picture2. И во время перехода к этой картинки происходит мелькание,в котором мы видим нашу карту. Что конечно не очень красиво, когда у тебя событие из нескольких десятков кадров.Такая проблема так же касается и картинок battlebacks,загружаемых во время боя.

Причём если эта картинка хотя бы один раз была показана во время игры, то такой переход будет без этого мелькания.Буквально до следующего перезапуска игры. Отчего у меня ощущение, что картинка видать записывается в какой-то кеш. Но никакие плагины не смогли исправить эту проблему.
Я пробовал различные Core плагины. Я пробовал различные Uploader плагины, которые по идее должны все ресурсы загружать в кеш. Но ничего не помогло и картинки при переходе всегда мелькают.
Единственное решение тут, это перед нужным событием один раз показать все картинки вместе с командой Wait 1, без которой почему то мейкер не считает картинку показанной. Но когда таких событий много и задействовано бывает околоно сотни картинок, это такой себе труд.

Вот и возник вопрос, что может такую проблему уже решили или есть какой-то волшебный плагин, исправляющий эти мелькания ? Версия MV стимовская последняя(Это бывает важно).
Администратор запретил публиковать записи гостям.

[MV] Как убрать мелькания при выводе pictures ? 4 года 5 мес. назад #117347

  • Dmy
  • Dmy аватар
  • Вне сайта
  • Заблокирован
  • Сообщений: 1142
  • Спасибо получено: 2478
  • 2 место Поддержка ФондаПаладинРазработчикОраторДаритель СтимкеяПрограммист RubyПроект месяца 3 местоЗа 2 место на конкурсе маппингаВетеран
Netral пишет:
Но никакие плагины не смогли исправить эту проблему.
Это очень странно, потому что плагины на предразгрузку должны именно это решать. (Таких плагинов много, в частности, YSP_Preloader, MV Image Cache, Preloader Core, TDDP_PreloadManager.)

Может, у вас просто слишком много изображений, и все не получается предзагрузить? Плагин Галва (и, возможно, другие плагины) позволяет предзагрузить нужные картинки прямо перед сценой, указав, что именно нужно загружать — может, такой вариант подойдёт?
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: zmey

[MV] Как убрать мелькания при выводе pictures ? 4 года 5 мес. назад #117349

  • DK
  • DK аватар
  • Вне сайта
  • Светлый дракон
  • DKPlugins
  • Сообщений: 946
  • Спасибо получено: 1129
  • Программист RubyПроект месяца 1 местоДаритель СтимкеяПроект месяца 3 местоПроект месяца 2 местоВетеранПаладинПрограммист JavaScript 2 место Оратор
Попробуйте предзагрузку в плагине DKTools.
Администратор запретил публиковать записи гостям.

[MV] Как убрать мелькания при выводе pictures ? 4 года 5 мес. назад #117353

  • Leprikon01
  • Leprikon01 аватар
  • Вне сайта
  • Мастер
  • Сообщений: 228
  • Спасибо получено: 145
Как я понял ты ставишь "показать изображение" 1 Picture1, потом опять "показать изображение" 1, но Picture2.
По моему это ошибка. Если обязательно нужна только одна картинка на экране(картинка не на весь экран и без заднего фона), то лучше делать так.
"показать изображение" 1 Picture1, "показать изображение" 2 Picture2, "удалить изображение" 1.
Если картинки на весь экран и с задним фоном, то можно не заморачиваться и накладывать картинки поверх старой.
"показать изображение" 1 Picture1,"показать изображение" 2 Picture2,"показать изображение" 3 Picture3 и тд,
а когда не нужны "удалить изображение" 1, "удалить изображение" 2,"удалить изображение" 3.
Если же ты хочешь сделать анимации, то лучше использовать плагины которые ее проигрывают. Например Olivia_AnimatedPictures.
img.itch.zone/aW1nLzE1Njk2NTUuZ2lm/original/TgVNQt.gif
forums.rpgmakerweb.com/index.php?threads...tures-plugin.101225/
Последнее редактирование: 4 года 5 мес. назад от Leprikon01.
Администратор запретил публиковать записи гостям.

[MV] Как убрать мелькания при выводе pictures ? 4 года 5 мес. назад #117359

  • Netral
  • Netral аватар
  • Вне сайта
  • Бывалый
  • Сообщений: 76
  • Спасибо получено: 18
Ну, после многочисленных тестов в моих проектах и в чистом проекте(то есть без лишних картинок,без лишних плагинов) проблема таки решилась, но очень нестабильно.

Начну с того, что выше перечисленные Dmy плагины по предзагрузке ресов свою задачу или не выполняли или выполняли не всегда. YSP_Preloader вообще как бы плагин для одноимённого хорошего видеоплеера. И он предзагружает только видео.
MV Image Cache от Гальвы не даёт никакого результата.Даже если картинку предзагружать командой плагина.Но может я его просто не настроил, ибо в нём вроде как папки указаны. Где-то прочитал, что он только для загрузки единичных картинок, а не всей папки.Тогда понятна его неработоспособность.
SRD Preloader Core,который умудряется даже показывать загрузку ресурсов, каким-то чудом исправил проблему. И картинки перестали мелькать. Но я этот плагин раньше пробовал и из-за него проект не мог запуститься. Мешал один включённый параметр, как оказалось. Но данный плагин работает почему-то всегда по разному. На другом примерно похожем проекте он на кой то ляд маштабирует картинки, учитывая что разрешение окна проекта и картинки одинаковое. Без него загружались нормально. Был где-то проект ещё,когда плагин исправно работал при тесте в мейкере, но после компиляции игра более не работала. Вообщем нестабильный какой-то плагин.Там в его настройках видать надо многое пересматривать, что всё заработало.Он хоть и решил проблему, но надолго ли.
TDDP_PreloadManager тоже не дал результатов. Что в полном проекте, что в чистом, картинки мелькают.
DKTools работал только на чистом проекте с 7 картинками, которые были в проекте. После включении предзагрузки и указании папки для этого, картинки не мелькали. Однако в текущем рабочем проекте игра зависла ещё в начале с надписью loading.И сколько я не ждал, не отвисал. А плагин видимо матерился на меня со словами, тебе куда более 500 картинок то в проект).

Методы от Leprikon01 тоже не все действовали. Картинки перестали мелькать ток при случае, когда их нумерация идёт одна за другой. Через "показать изображение" 1 Picture1, "показать изображение" 2 Picture2, "удалить изображение" 1. Не работает, картинки также мелькают. А вот друг за другом тогда можно. Но мне становится страшно, когда придётся потом делать Удалить изображения более 50 раз за один событие.)

Вообщем, пока что SRD Preloader Core решил проблему, но не везде и с ним те ещё танцы с бубном нужны -_-.
Администратор запретил публиковать записи гостям.

[MV] Как убрать мелькания при выводе pictures ? 4 года 5 мес. назад #117360

  • Leprikon01
  • Leprikon01 аватар
  • Вне сайта
  • Мастер
  • Сообщений: 228
  • Спасибо получено: 145
Netral пишет:
Ну, после многочисленных тестов в моих проектах и в чистом проекте(то есть без лишних картинок,без лишних плагинов) проблема таки решилась, но очень нестабильно.

Методы от Leprikon01 тоже не все действовали. Картинки перестали мелькать ток при случае, когда их нумерация идёт одна за другой. Через "показать изображение" 1 Picture1, "показать изображение" 2 Picture2, "удалить изображение" 1. Не работает, картинки также мелькают. А вот друг за другом тогда можно. Но мне становится страшно, когда придётся потом делать Удалить изображения более 50 раз за один событие.)
Я забыл упомянуть что перед удалением надо поставить ожидание от 5-10 кадра.
То есть "показать изображение" 1 Picture1, "показать изображение" 2 Picture2, "ждать" 10 кадра "удалить изображение" 1
Администратор запретил публиковать записи гостям.

[MV] Как убрать мелькания при выводе pictures ? 4 года 5 мес. назад #117362

  • yuryol
  • yuryol аватар
  • Вне сайта
  • Архитектор Миров
  • Сообщений: 1704
  • Спасибо получено: 2731
  • Победитель конкурса2 место Организатор конкурсов3 место ГотвКомпозитор1 место в ГотвУчительОратор
действительно, зачем тебе 500 картинок?
тут вопрос не в том, почему мелькают,а вопрос: почему так много?

1) картинки с фоном? как-то видел как вставляли в проект покадровый "мульт". каждая картинка - кадр, на котором и герой,и фон, и все прочее, хотя движется только рука или рот. так делать не надо. если движется рот - оставляй только его, остальное пусть показывается на фоне в статике.
2) картинки сжимал? вес станет меньше, время на загрузку сократиться в 2-5 раз
3) 500 картинок в проект или на карту? имхо лучше грузить картинки перед загрузкой карты а не сразу все картинки проекта
Администратор запретил публиковать записи гостям.

[MV] Как убрать мелькания при выводе pictures ? 4 года 5 мес. назад #117363

  • Netral
  • Netral аватар
  • Вне сайта
  • Бывалый
  • Сообщений: 76
  • Спасибо получено: 18
Я забыл упомянуть что перед удалением надо поставить ожидание от 5-10 кадра.
То есть "показать изображение" 1 Picture1, "показать изображение" 2 Picture2, "ждать" 10 кадра "удалить изображение" 1

Эт сработало. Однако всё таки трудоёмко будет.Хотя как вариант.Если плагины будут шалить.
действительно, зачем тебе 500 картинок?
тут вопрос не в том, почему мелькают,а вопрос: почему так много?

1) картинки с фоном? как-то видел как вставляли в проект покадровый "мульт". каждая картинка - кадр, на котором и герой,и фон, и все прочее, хотя движется только рука или рот. так делать не надо. если движется рот - оставляй только его, остальное пусть показывается на фоне в статике.
2) картинки сжимал? вес станет меньше, время на загрузку сократиться в 2-5 раз
3) 500 картинок в проект или на карту? имхо лучше грузить картинки перед загрузкой карты а не сразу все картинки проекта

Ну,если это обычная рпг игра,то столько картинок многовато даже при условии использования аватарок для сообщений.
Но если разрабатывается игра с элементами визуальной новеллы, то 500 картинок,это ещё мало.
Там эмоций только пары персонажей сколько надо сделать вариантов. Потом в какой-нибудь сцене там разные кадры этой сцены тоже делать в различных вариациях эмоций героя.Так и получается большое количество.Особенно когда этих различных сцен великое множество. Я помню находил рпг игру и там в одной только папке pictures было более 7000 файлов. Игра 3 гигабайта весила.
А если автор ещё и анимации создаёт и проигрывает путём последовательного показа картинок из pictures или путём использования плагина,тогда одна такая хорошая анимация может быть от 100 кадров и выше.

1) Да, картинки получаются как цельные.То есть это буквально будто кадр из фильма.И часто в сценах приходится создавать один кадр с разными эмоциями. Я видел в некоторых проектах, что для кадра там оставляют одно только тело персонажа, а эмоции одного лица только рисуют потом как отдельные картинки.Но такой способ актуален только если кадры сцены рисуются вручную художниками.Им такой метод экономит время. Однако если для создания картинок используется 3Д рендер какой-нибудь, тогда это уже трата времени.

2) Картинки рендерятся в png и редко размер каждой превышает 1.5 мегабайта. Сжать их я как-то пробовал, но особого результата это не принесло.

3)Сейчас 500 картинок только во всём проекте. Однако проект ещё только буквально на старте и там ещё будет очень много картинок. Там получается, что сцены как события разбросаны по всяким картам и врятли будет момент, когда ьакое большое количество картинок в событиях будет задействовано на одной карте. Если конечно только это не огромный дом, но даже так там комнаты можно отдельными картами сделать.Сейчас SRD Preloader Core загружает все картинки сразу перед стартом проекта, но я бы не сказал, что это долго. Секунд 10 примерно.Однако, то ли ещё будет.
Администратор запретил публиковать записи гостям.

[MV] Как убрать мелькания при выводе pictures ? 4 года 5 мес. назад #117364

  • yuryol
  • yuryol аватар
  • Вне сайта
  • Архитектор Миров
  • Сообщений: 1704
  • Спасибо получено: 2731
  • Победитель конкурса2 место Организатор конкурсов3 место ГотвКомпозитор1 место в ГотвУчительОратор
Netral пишет:
Я забыл упомянуть что перед удалением надо поставить ожидание от 5-10 кадра.
То есть "показать изображение" 1 Picture1, "показать изображение" 2 Picture2, "ждать" 10 кадра "удалить изображение" 1

Эт сработало. Однако всё таки трудоёмко будет.Хотя как вариант.Если плагины будут шалить.

можно сделать плагин, чтобы при открытии картинки автоматом удалял картинки на один "слой" ниже
1) Да, картинки получаются как цельные.То есть это буквально будто кадр из фильма.И часто в сценах приходится создавать один кадр с разными эмоциями. Я видел в некоторых проектах, что для кадра там оставляют одно только тело персонажа, а эмоции одного лица только рисуют потом как отдельные картинки.Но такой способ актуален только если кадры сцены рисуются вручную художниками.Им такой метод экономит время. Однако если для создания картинок используется 3Д рендер какой-нибудь, тогда это уже трата времени.

куда торопишься-то? хочешь "раз-два и в продакшен"? и опять же хз почему тратится больше времени, если 3д-рендер рендерит меньше объектов? а в самих редаткорах отключать фоновые объекты тоже дело пары секунд
2) Картинки рендерятся в png и редко размер каждой превышает 1.5 мегабайта. Сжать их я как-то пробовал, но особого результата это не принесло.

значит плохо пробовал. обычно наоборот чем больше весит, тем больше можно сжать. есть куча настроек для сжатия, вряд ли ты в это вникал, а следовало бы
3)Сейчас 500 картинок только во всём проекте. Однако проект ещё только буквально на старте и там ещё будет очень много картинок. Там получается, что сцены как события разбросаны по всяким картам и врятли будет момент, когда ьакое большое количество картинок в событиях будет задействовано на одной карте. Если конечно только это не огромный дом, но даже так там комнаты можно отдельными картами сделать.Сейчас SRD Preloader Core загружает все картинки сразу перед стартом проекта, но я бы не сказал, что это долго. Секунд 10 примерно.Однако, то ли ещё будет.

пока проект на старте ты и должен думать об оптимизации а не пихать фон и все остальное в одну картинку. если у тебя щас 10 секунд то представь что будет дальше. в итоге рано или поздно ты сам поймешь что это никуда не годится и решишь заново все отрендерить без фона. вот толькол вместо 500 картинок там будет несколько тысяч.

итого тут дело не в "кривых плагинах" а все-таки в ручках
Последнее редактирование: 4 года 5 мес. назад от yuryol.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: DK

[MV] Как убрать мелькания при выводе pictures ? 4 года 5 мес. назад #117370

  • DK
  • DK аватар
  • Вне сайта
  • Светлый дракон
  • DKPlugins
  • Сообщений: 946
  • Спасибо получено: 1129
  • Программист RubyПроект месяца 1 местоДаритель СтимкеяПроект месяца 3 местоПроект месяца 2 местоВетеранПаладинПрограммист JavaScript 2 место Оратор
DKTools заработал на чистом проекте и не заработал на текущем, скорее всего из-за того что версия чистого проекта 1.6.1, а версия текущего ниже. Советую обновить свой проект до актуальной версии, чтобы избежать проблем не только с DKTools, но и с другими плагинами. А также там содержатся исправления различных ошибок, что тоже лишним не будет.
В следующей версии DKTools будет также предзагрузка картинок не в начале игры, а уже перед загрузкой конкретной карты.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: yuryol, zmey

[MV] Как убрать мелькания при выводе pictures ? 4 года 5 мес. назад #117373

  • Netral
  • Netral аватар
  • Вне сайта
  • Бывалый
  • Сообщений: 76
  • Спасибо получено: 18
куда торопишься-то? хочешь "раз-два и в продакшен"? и опять же хз почему тратится больше времени, если 3д-рендер рендерит меньше объектов? а в самих редаткорах отключать фоновые объекты тоже дело пары секунд

Эта игра не выходит в продакшн. Она идёт бесплатно и также распространяется. И времени тратится именно на создание таких картинок, а не их загрузка в игре. Мне намоного быстрее создать сцен в 3д редакторе и потом нащелкать кадров,через пару ползунков меняя уже готовые эмоции,чем создать одну сцену без лиц,а потом ровно вырезать эти лица. В 3д редакторе конечно также можно отрендерить только отдельно кусок лица, грубо говоря.Но это надо ровно этот кусок вырезать,потом отключать лишнее и смотреть чтоб свет падал также и чтоб это вырезанное лицо не отличалось оттенком.Условностей много.Хотя не спорю,что если проект в будущем станет слишком громоздкий, там придётся что-то шаманить.
значит плохо пробовал. обычно наоборот чем больше весит, тем больше можно сжать. есть куча настроек для сжатия, вряд ли ты в это вникал, а следовало бы

Картинки бывает из-за этого могут в качестве сильно потерять.Там экспериментировать много надо.
итого тут дело не в "кривых плагинах" а все-таки в ручках

Но изначально то проблема была в мельканиях.Которое плагинами не вылечивалось.И я сомневаюсь, что создание безфоновых картинок что-то бы поменяло. Стало бы только лицо мелькать).
DKTools заработал на чистом проекте и не заработал на текущем, скорее всего из-за того что версия чистого проекта 1.6.1, а версия текущего ниже. Советую обновить свой проект до актуальной версии, чтобы избежать проблем не только с DKTools, но и с другими плагинами. А также там содержатся исправления различных ошибок, что тоже лишним не будет.
В следующей версии DKTools будет также предзагрузка картинок не в начале игры, а уже перед загрузкой конкретной карты.

Версия MV там 1.6.2. И оба проекта были сделаны на ней, без переноса из старых версий.Пробовал использовать на другом старом проекте, где такая же проблема была, но мелькания остались. Но там может быть причина была, что картинки были закрывающим кадром для видеофайлов.
Администратор запретил публиковать записи гостям.

[MV] Как убрать мелькания при выводе pictures ? 4 года 5 мес. назад #117399

  • DK
  • DK аватар
  • Вне сайта
  • Светлый дракон
  • DKPlugins
  • Сообщений: 946
  • Спасибо получено: 1129
  • Программист RubyПроект месяца 1 местоДаритель СтимкеяПроект месяца 3 местоПроект месяца 2 местоВетеранПаладинПрограммист JavaScript 2 место Оратор
Можно попробовать скопировать этот код в файл, сохранить его с расширением js и положить в папку plugins проекта, потом подключить как плагин:
ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]


Суть плагина в том, что он будет показывать предыдущее изображение, пока грузится следующее.
Разместить выше любых плагинов анимаций.
Последнее редактирование: 4 года 5 мес. назад от DK.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Leprikon01, Netral, yuryol, zmey, Alx_Yago

[MV] Как убрать мелькания при выводе pictures ? 4 года 5 мес. назад #117437

  • Netral
  • Netral аватар
  • Вне сайта
  • Бывалый
  • Сообщений: 76
  • Спасибо получено: 18
DK пишет:
Можно попробовать скопировать этот код в файл, сохранить его с расширением js и положить в папку plugins проекта, потом подключить как плагин:
ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]


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

Спасибо! Заработало всё. Теперь нет надобности в предзагрузке.

Кстати, пока тема более менее соотвествующая. Есть ли какой-то способ увеличить лимит загруженных картинок в мейкере VX Ace ?
Там вечная проблема, что когда картинок очень много, на каком то моменте он выдаёт ошибку, что не может создать bitmap и игра вылетает. Возможно кеш переполняется. Вроде как мейкер этот в какие-то моменты очишает кеш, но например при активной битве этого не делается. И если в битве было показано слишком много картинок, игра вылетает с ошибкой.
Никакие скрипты по очистки кеша с этой проблемой справится не могли. Или я не все попробовал.
Также находил скрипты(где-то здесь даже), которые якобы выгружали эти картинки из кеша. Но это не помогло.
Администратор запретил публиковать записи гостям.
Время создания страницы: 0.242 секунд