1. Пожалуйста, внимательно прочитайте правила раздела.
  2. Если Вы видите это сообщение, значит, вы ещё не зарегистрировались на нашем форуме.

    Зарегистрируйтесь, если вы хотите принять участие в обсуждениях. Перед регистрацией примите к сведению:
    1. Не регистрируйтесь с никами типа asdfdadhgd, 354621 и тому подобными, не несущими смысловой нагрузки (ник должен быть читаемым!): такие пользователи будут сразу заблокированы!
    2. Не регистрируйте больше одной учётной записи. Если у вас возникли проблемы при регистрации, то вы можете воспользоваться формой обратной связи внизу страницы.
    3. Регистрируйтесь с реально существующими E-mail адресами, иначе вы не сможете завершить регистрацию.
    4. Обязательно ознакомьтесь с правилами поведения на нашем форуме, чтобы избежать дальнейших конфликтов и непонимания.
    С уважением, администрация форума Old-Games.RU
    Скрыть объявление

Мультипорт - BuildGDX

Тема в разделе "Мастерская", создана пользователем M210, 16 мар 2019.

  1. Eyefinity

    Eyefinity

    Регистрация:
    20 июл 2011
    Сообщения:
    24
    Это у кого как. У меня исходники вообще с прозрачным фоном. Я их извлекал через ART2TGA, потом перегонял в Png и добавлял чёрный фон.
    Что касается скрипта от Phredreeke - беру свои слова обратно. Он не лучше. Он создаёт кромку цвета фона. Если фона нет, то кромка белая, если фон чёрный - кромка чёрная. Фон синий - кромка синяя.
    ai.postimg.cc_Vdb6x78q_kromka.jpg

    Его файлы, которые берутся за исходник маски для скрипта отлично вырезаны и обладают правильным сглаживанием на границах. Однако скрипт, использующий их как основу добавляет белую кромку, которую очень сильно видно. Границы спрайтов всё равно получаются абсолютно другими. В связи с чем этот скрипт никак не помогает.

    Кроме того, его примеры с хорошей кромкой и прозрачностью на границе сами по себе нуждаются в очистке. Если выделить фон волшебной палочкой в фотошопе, то мы получим это
    ai.postimg.cc_sMPZ8Vdd_shum.jpg
    Для тех, кто не понял - всё что выделил фотошоп - это пиксели с частичной прозрачностью, которые своими глазами заметить почти невозможно, т.к. у них прозрачностью почти 90%, однако они там есть и они также переносятся скриптом в том числе на обрабатываемые спрайты.
    Я опять же беру Paint.net с его волшебной палочкой с чувствительностью 50. Вот она при нажатии на фон удаляет весь этот фоновый мусор. Однако повторюсь - сама кромка вокруг спрайта всё равно остаётся цвета фона.
    Я даже попробовал вычистить этот мусор с фона, затем скопировать чистый фон + 1 пиксель чтобы перекрыть кромку своего спрайта кромкой с примера, но даже так результат получается другим.
     
    Последнее редактирование: 6 янв 2021
  2. MrFlibble

    MrFlibble

    Регистрация:
    23 мар 2008
    Сообщения:
    2.802
    Я имел в виду, что я для своей процедуры сначала делаю спрайт(ы) на синем фоне (по моим наблюдениям, тёмный оттенок лучше, т.к. меньше ряби на увеличенном изображении маски), а из него уже делаю цветной спрайт на чёрном фоне и серый на синем, и эти оба затем увеличиваются.

    Просто если увеличивать цветной спрайт на любом другом фоне, кроме чёрного, я заметил, что по краям будут цветопереходы от фона к цветам спрайта, причём в зависимости от того, какие именно соседствовали цвета, они могут быть очень заметными. А с чёрным фоном всё более-менее чисто получается (но здесь всё равно всё относительно!).

    Phredreeke одно время баловался с какими-то алгоритмами (математическими, не нейронными), которые очень заметно сглаживали и закругляли края маски. Видимо, потом он их вручную как-то поправлял, но я никогда не интересовался, как именно. Мне кажется, лучше всего делать спрайт и маску с помощью одной и той же модели, чтобы контур маски максимально совпадал с контуром увеличенного спрайта. Но это не всегда возможно, т.к. модель может плохо обрабатывать маску.
     
  3. Eyefinity

    Eyefinity

    Регистрация:
    20 июл 2011
    Сообщения:
    24
    Всё-таки оставил с чёрной кромкой. Она вроде как всего в 1 пиксель шириной и если в Buildgdx включать фильтрацию текстур - края всё равно замыливаются. Не говоря уже о том, что монстры на месте не стоят и в движении заметить какие-то косяки почти невозможно.
    Пока что обработал этим скриптом спрайты Анубиса и этой мумии с показанных выше скринов. Вроде нормально выглядит в игре.
    Вот кстати сравнение оригинального спрайта в сравнении с тем вариантом улучшающей модели для нейросети, что я использовал.
    ai.postimg.cc_TyrHZqpt_anubis.jpg
    Прикол - прогнал пару спрайтов через сайты улучшения качества с восстановлением лиц, так тамошняя нейросеть посчитала размытые пиксели на ноге одного кадра анимации за размытое лицо и при увеличении нарисовала ему лицо на ноге)

    ai.postimg.cc_cg34qzfV_lol.jpg
    вот прикол с лицом на ноге - смотрите на колено на правой картинке.
    Для сравнения слева вариант увеличения того же кадра что я использовал как основной, а справа тот, от которого отказался из-за потери деталей при увеличении. В частности эта нейросеть удаляет глаза. Вообще весь цвет исчез. Да и в общем мелких деталей мало. Хотя кисть руки сделало лучше. По идее можно было бы как-то скомбинировать, но это второй скрин получен с сайта с онлайн-режимом обработки единичных картинок и платной подпиской. Там просто так ничего не потестируешь и не используешь интерполяцию. Поэтому его результат можно лишь руками в фотошопе дорабатывать. А это займёт слишком много времени. К тому же при прямом сравнении сотни спрайтов больше 70 в общих деталях заметно хуже. И опять же- глаза затирает.
     
    Последнее редактирование: 7 янв 2021
    MrFlibble нравится это.
  4. MrFlibble

    MrFlibble

    Регистрация:
    23 мар 2008
    Сообщения:
    2.802
    Зато кисть руки получилась хорошо :)

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

    Да, есть очень мощные специализированные проекты с лицами и прочим, но их по определению нельзя применять ко всему подряд. Думаю, натренировать сеть, аналогичную имеющимся для лиц, специально для спрайтов монстров из игр просто нереально. Ну разве только взять спрайты из существующих HD ремастеров типа HoMM3 и тренировать на них, но я не уверен, что, например, у ESRGAN из этого выйдет что-то путное. Но хотя вообще попробовать стоило бы.
     
  5. Eyefinity

    Eyefinity

    Регистрация:
    20 июл 2011
    Сообщения:
    24
    Проблема в том, что для тренировки нейросетей нужно от 25 до 100 000 пар картинок. Невозможно найти столько ремастеров с незначительными изменениями, чтобы использовать их как версию картинки с нормальным разрешением. Чаще всего детали сильно отличаются, как и оттенки цвета, а то и все цвета. В любом случае результат улучшения любой нейросети всегда лучше, чем оригинальные текстуры смешных размеров, с пикселями на пол экрана. А увеличение разрешения в 2 раза для таких старых игр - это слишком мало, если учитывать что у большинства уже давно мониторы 1080p или 1440p. Применять в таком случае спрайты размером около 100 пикселей в высоту как минимум странно. Особенно когда выходят игру по несколько сотен гигабайт, а пакет улучшенных даже в 4 раза текстур вряд ли превысит 150-200 мб. А выглядеть это будет заметно лучше из-за большей плотности пикселей на экране.

    А вообще во многих старых спрайтовых играх монстры чаще всего были фотографиями глиняных или гипсовых моделей, которые потом раскрашивались на компе.
    В теории можно найти разрабов старых игр и попросить поискать исходные фотки, ставшие потом спрайтами. Они уж точно в нормальном разрешении. Некоторых монстры из doom1 вообще были цветными физическими модельками. В смысле существующими в реальности, а не на компе. Они стоят в офисе разрабов за стеклом. Если бы разрабы позволили сфотографировать их со всех сторон современными камерами, то можно было получить точную копию оригинальных спрайтов с высочайшим разрешением и даже нейросети бы не понадобились)
     
    Последнее редактирование: 7 янв 2021
  6. MrFlibble

    MrFlibble

    Регистрация:
    23 мар 2008
    Сообщения:
    2.802
    Я вынужден не согласиться. Апскейлы всегда неизбежно теряют какие-то детали. Что выглядело нормально в исходном разрешении, далеко не всегда становится приемлемым при раздувании в 4 раза, даже если сбросить со счетов ошибки нейросетей и артефакты, которые в действительности время от времени возникают.
    Правильно, нейросети не понадобились бы. Понадобился бы грамотный художник, который бы превратил фотографии в приемлемые спрайты. Во всех играх с такой графикой -- оцифрованными фотографиями или пререндеренными с 3D моделей -- был этап ретуширования каждого отдельного спрайта. Если ретуширования не было, мы имеем "красоту" из TekWar.

    Вот хорошая статья на эту тему:
    Dev Blog #2: The Art of Ion Fury

    Люди с форума Duke4.net искали модельки персонажей из Duke Nukem 3D и Shadow Warrior, автором которых был Чак Джонс. Есть промо-изображения в хорошем качестве, но это считай по одному кадру. Остальное пока не нашли. Легче сделать новые в блендере.

    Вот очень талантливый художник как раз занимается таким проектом:
    Alien Armageddon WIP vanilla enemies - Duke4.net Forums

    В основе лежат модельки, сделанные другим моддером. С нейросетью такого не получится.

    А вот текстуры в принципе можно увеличивать, для мода/пака с такими спрайтами было бы норм.
     
  7. Eyefinity

    Eyefinity

    Регистрация:
    20 июл 2011
    Сообщения:
    24
    Противоречишь сам себе) Сначала говоришь что всегда теряют детали, а потом что не всегда становятся приемлемыми. Что значит что чаще всё же текстуры становится лучше. А если стало лучше, то детали не теряются, а наоборот появляются.
    При таком увеличении большинство деталей не пропадает, а лишь заменяется на то, что считает нужной конкретная модель нейросети.
    Больше всего проблем бывает со спрайтами персонажей, т.к. у них много мелких деталей и прозрачность по краям. А вот текстуры стен, полов и потолков становятся лучше почти в 90% случаев. В том же powerslave текстур, не являющихся спрайтами - более 400.
    Я сравнивал каждую на глаз с оригиналами. И не припомню ни одного случая, когда текстура настолько сильно менялась бы и утрачивала важнейшие детали. Была лишь одна модель увеличения, которая удаляет красные глаза и некоторые необычные элементы, принимая их за артефакты сжатия. А другие модели чаще дорисовывают детали, а не теряют.
    Хотя были случаи с десятком текстур с египетскими фресками из реальной жизни. Там гигантское количество мелких деталей, которые при превращении в игровую текстуру были утрачены ещё разработчиками игры. Их восстановить никакая нейросеть не сможет. Потому что там десятки пикселей превратились в 1-2. Поэтому и пришлось дорабатывать. Те же текстуры, что рисовались специально под игру - очень хорошо выглядят после увеличения в 4 раза.

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


    Offtop
    Ну и немного по теме upscale pack для powerslave
    сделал все спрайты рыб и значительно доработал многие свои старые спрайты предметов за счёт ранее полученных примеров текстур с отличной кромкой. Благодаря этой кромке удалось улучшить кромку на своих спрайтах, т.к. было с чем сравнить.
    Не знаю когда закончу, но спрайты остальных монстров насколько я помню - лучше выдавали другие модели увеличения, а не те, что я использовал для мумии и анубиса. Надо будет просмотреть все 10 версий увеличенных версий спрайтов монстров и определить какие лучшие в каждом конкретном случае, потом опять улучшить, но уже с чёрным фоном. Потом много чего придётся вырезать руками или тем способом с замыливанием граней в mtpaint, потому что полученные ранее примеры с хорошей кромкой содержат не всех монстров. Там мелкие красные пауки не все. И чего-то ещё не хватало. Не помню уже. Короче говоря, похоже на создание полного набора улучшенных текстур уйдёт месяца 2. Один из которых уже прошёл.
    И я не буду улучшать всё. Всякие там эффекты огня, всплески воды, молнии и прочее - буду игнорить. Слишком мелкие и пиксели с запредельным количеством прозрачных мест, которые придётся очень долго дорабатывать руками. Там на каждый спрайт по пол часа уйдёт, а этих эффектов там сотни.
     
    Последнее редактирование: 11 янв 2021
  8. Neitan

    Neitan

    Регистрация:
    1 дек 2007
    Сообщения:
    444
    @Eyefinity, может сделаешь отдельную тему по апскейлам? Здесь всё-таки больше про BuildGDX.
     
  9. Eyefinity

    Eyefinity

    Регистрация:
    20 июл 2011
    Сообщения:
    24
    Вообще эти увеличенные текстуры делаются именно под BuildGDX. Я почти каждый десяток улучшенных текстур каждый день проверяю в порте. И в сообщениях выше обсуждается в первую очередь то, как такие текстуры выглядят в данном конкретном порте и как сделать так, чтобы устранить заметные косяки.
    Так что это вполне себе по теме сообщения. Я скачивал ещё и другие порты движка Build и там явно видно что картинка отличается. Как и механизм подключения текстур.
    В других портах всё работает иначе, поэтому я их даже не рассматривал и не проверял.
    Другие порты даже не содержат нижней панели интерфейса под широкоформатные мониторы. А в buildgdx они есть и даже встроены в сам порт. И среди моих улучшенных текстур есть даже улучшенные версии встроенных в порт текстур интерфейса.

    И не я превратил тему порта в обсуждения текстур. Мне лишь задали вопросы, на которые я ответил.
    Или ты предлагаешь мне игнорить любые вопросы? Тут скорее надо модераторов попросить как-нибудь выделить часть сообщений из этой темы в отдельную, если кому-то они мешают здесь.
     
    Последнее редактирование: 11 янв 2021
    Neitan и MrFlibble нравится это.
  10. MrFlibble

    MrFlibble

    Регистрация:
    23 мар 2008
    Сообщения:
    2.802
    Просто ты, как я понимаю, исходишь из того, что более высокое разрешение всегда лучше низкого. С такой точки зрения апскейл всегда будет предпочтительнее оригинала в низком разрешении. Но я считаю, что оригинал имеет свою ценность. Пока я не встречал такого алгоритма (математического или нейросетевого), который адекватно увеличивал бы изображения без каких-либо искажений, так что пока даже самый хороший апскейл для меня это отход от оригинала, девиация.

    А вот что нейросеть добавляет детали, я не могу согласиться. ESRGAN точно не добавляет, некоторые модели лишь создают иллюзию большей детализации. То, что контуры правильно опознаются и дорисовываются, это верно. Но если не было ретуширования вручную, апскейл получается беднее на детали, чем если бы изображение изначально делалось в таком же разрешении.

    Твои же собственные примеры с текстурами PS (как вот этот) наглядно показывают, какого уровня может быть детализация при разрешении вчетверо больше исходного, и насколько "сырой" апскейл до такого уровня не дотягивает. Вообще мне кажется, раз ты нашёл исходные изображения барельефов, так лучше бы из них сделать целиком вручную аналогичные текстуры, а не гибрид, где, как на этом примере, детали инкрустации стула, лица и платья женщины восстановлены, а задняя ножка того же стула и шахматные фигуры (или что там у неё на столе) остались на уровне расплывчатых пятен.
     
  11. Eyefinity

    Eyefinity

    Регистрация:
    20 июл 2011
    Сообщения:
    24
    Там проблема в том, что исходные изображения разработчиками игры не использовались в чистом виде. Они вырезали фрагменты из реальных фотографий, добавляли к ним фон и перемешивали. При этом часть текстур даже сделана бесшовно стыкующими с самими собой справа и слева. В то время как на реальных фотографиях это не так. На одном барельефе текстура справа заканчивается на середине туловища одного египтянина, а левая сторона этой же текстуры начинается с руки другого. На реальном барельефе это два разных персонажа, с разным цветом кожи и разным наклоном рук и ног. Один вообще несёт кровать, а второй с пустыми руками. Поэтому они физически никак не стыкуются. Я там пол дня просидел в фотошопе и не только сменил цвет кожи куску руки слева, но и сделал стыкующимися и части тела и мелкие детали на фоне и нашёл в игре все места, где эта текстура накладывается, сделал сохранения и тестировал. Там даже одном месте ножка кровати, которую нёс один египтянин стыковалась с куском кресла, которое нёс другой. И оба предмета были на разной высоте и разной ширины. Разрабы игры фактически сами всё это перерисовали и комбинировали. Мне пришлось сделать тоже самое.

    А вот эта текстура с жёлтым фоном была заброшена на половине работы. Просто потому что я к тому моменту прошёл всю игру от начала и до конца и создал пару десятков сохранений в разных местах. Как раз в то же время я тут задавал вопрос как в порте Buildgdx сменить карту консольной командой. Но в результате остановился на команде прохода сквозь стены и просто оббежал все уровни. Именно эту жёлтую текстуру я не встретил в игре нигде. В результате чего решил не доделывать и оставить так. Это же шутер, в котором никто не будет стоять и рассматривать мелкие детали на каждой стене, игроки с вероятностью 90% просто за секунду пробегут мимо. А раз текстуры нигде нет, либо она запрятана в каком-то редком секрете, который не найти даже пробежав всю карту сквозь стены, то зачем тратить по пол дня?
    А ножка стула там замылена потому что фигура персонажа до уровня замыливания - вырезана из одной фотографии, а всё что ниже - из другой. На момент создания этой текстуры я ещё не нашёл целую версию. Были лишь две части, созданные под разным углом и с разным освещением. Там пришлось нижнюю часть перекрашивать и замазывать артефакты от нейросетей на заднем плане. Повторюсь в игре нет таких текстур, где барельеф из реальной жизни использовался бы в исходном виде. Там очень много текстур сжаты по ширине или по высоте, некоторые детали вырезаны, некоторые добавлены или перенесены из другой текстуры. Более того, многие алгоритмы увеличения текстур - уничтожают бесшовность текстур. На границах появляется очень хорошо заметная кромка. Поэтому мне не только пришлось перерисовывать половину многих текстур с барельефами перенося по очереди отдельные фрагменты, но и создавать бесшовность с нуля. Потом тестировать в игре, потом исправлять. И там пол дня. Когда на одну текстуру уходит по 4 часа в день, а в игре у тебя 400 текстур и почти 900 спрайтов - возиться по 4 часа с одной - это глупость.
    Так можно и до следующего года не успеть закончить. А как я уже сказал выше - многие текстуры даже невозможно найти в игре.
    Offtop
    Если делать тоже самое вручную с нуля, то надо не только точно переносить цвета и бесшовность, но и находить исходники мелких деталей, который часто взяты из неизвестных источников. Я уже писал несколько сообщений выше, что несколько дней торчал в поиске по картинкам в попытках найти многие исходники. Пересмотрел тысячи египетских фотографий со множеством деталей, мелкий фрагмент из которых мог быть исходником. Это адски сложно и отнимает целые сутки времени. Воссоздать тоже самое с нуля невозможно, не зная что там было изначально. А угадать не выйдет, ввиду низкого качества текстур в игре. Нейросети хотя бы какую-то версию предоставляют, позволяя заполнить места, для которых исходники найти не удалось, чем-то хоть как-то похожим на то, что было парой пикселей на исходнике.
    Кроме того, ни один из найденных мной исходников не был целым. Я нашёл лишь фото мест, которые стали источником текстур, а не те самые фото, что использовали разрабы. Чтобы наложить найденное фото на текстуру - пришлось вырезать определённый фрагмент, затирать место стыка, потом наложенный фрагмент сжимать по ширине или высоте, потом поворачивать на один угол, потом на другой, потом опять сжимать один угол, растягивать другой и так пока не получится совместить. Потом подбирать степень прозрачности наложенной текстуры. И это если повезёт и найденный исходник будет с подходящим ракурсом. Часто после часа работы было проще выкинуть результат и искать другой исходник. Некоторые отдельные текстуры я вообще по три дня переделывал. А на этой жёлтой текстуре у меня уже закончилось терпение и я принял решение поменять приоритеты и доделать сначала более важные вещи, а потом уже исправлять остальные косяки.
     
    Последнее редактирование: 11 янв 2021
    MrFlibble нравится это.
  12. MrFlibble

    MrFlibble

    Регистрация:
    23 мар 2008
    Сообщения:
    2.802
    Ну, я же не критикую твою работу, я привёл пример с барельефом только в контексте тезиса, что нейросети пока не могут сделать такое же детализированное изображение, как условный оригинал в высоком качестве (кроме лиц, но это отдельная сеть, которая ни для чего другого не подходит).

    Я понимаю, что найти те же фотографии, с которых делались исходные текстуры, скорее всего невозможно, хотя нашлись же исходники звуковых эффектов в высоком разрешении для Дума и Дюка Нюкема. Я сомневаюсь, что сотрудники Lobotomy ездили в Египет делать снимки, скорее, тоже брали фотографии с доступных сборников stock photo/image того времени. Если знать, где искать, можно попытаться найти.

    Но если развивать эту логику, тогда зачем вообще делать HD Pack? Включить размыливание текстур какой-нибудь там трилинейной фильтрацией, если голые пикселы режут глаз. Тем более что многие получившиеся в результате чистого апскейла результаты не очень-то сильно отличаются от, например, фильтра HQX MMX в GZDoom (если его добавят в Raze, значит, можно будет включать и для Powerslave).
     
  13. Eyefinity

    Eyefinity

    Регистрация:
    20 июл 2011
    Сообщения:
    24
    Никакое размытие текстур не увеличит плотность пикселей, а значит не улучшит восприятие картинки. Я тестировал встроенные в gzdoom фильтры автоматического улучшения текстур и по-моему результат они выдают ужасающий. Особенно по сравнению даже с первым попавшимся набором улучшенных нейросетями текстур для того же Doom. Да и не для Raze я делаю улучшенные текстуры. Мне не нравится то, как там выглядит изображение и какой там звук. В Buildgdx по-моему эталонная графика для игр этом движке и самые адекватные методы фильтрации текстур и сглаживания, что в комбинации с улучшенными текстурами позволяет увидеть старые игры на этом движке без желания выключить их поскорее.
    В powerslave, кстати, особенно запущенном через dosbox, какой-то странный звук. Я не особо слежу за историей изменений Buildgdx, хотя помню когда он ещё назывался по-другому и позволял запускать лишь blood, поэтому не знаю что там сделали, но в других портах Powerslave звук такой же плохой как в игре, запущенной через dosbox, а в buildgdx он как-то обрабатывается и звучит хорошо.

    Мне это напомнило ситуацию с Duke Nukem 3d 20 anniversary edition из стима. Там тоже угробили звук, хотя в их же более старой версии
    Megaton edition он был нормальным и даже фильтрация текстур была. А потом взяли и сделали звук как из стеклянной банки.
    А потом ещё реплики Дюка переозвучили и запихали в игру в высоком качестве, что в комбинации с убитым старым звуком вызывает только негодование и непонимание того, откуда у разрабов растут руки)

    Кстати два других порта Powerslave вылетают если взять версию игры с old-games. Там в ресурсном файле не хватает каких-то *voc-файлов. А BuildGDX плевал на них и спокойно запускается.

    Нашёл ещё один способ очистки кромки.
    Offtop
    1) Берём исходные картинки, извлекаем их из игры через программу, удаляющую фон, либо делаем это руками.
    2) Берём эти картинки с прозрачным фоном и улучшаем нейросетями. Получается картинка с частичной прозрачностью и белой кромкой.
    3) Берём те же исходники без фона, что получили на шаге 1. Открываем их в любой программе, где есть слои. Создаём для каждой картинки второй слой, заливаем его чёрным. Объединяем слои, чтобы чёрный был фоновым слоем. Я проверял в программе paint.net
    4) Увеличиваем и эти версии картинок с чёрным фоном через те же нейросети.
    5) Берём скрипт от Фредерика, что недавно мне скинули. Этот скрипт для программы ImageMagick в пакетном режиме берёт все файлы из одной папки, считывает оттуда какие пиксели прозрачные, а какие нет и переносит значения прозрачности на те же пиксели картинок с тем же названием из второй папки. Соответственно увеличенные картинки из пункта 2 становятся источником прозрачности, а картинки из пункта 4 - тем, что будет финальной картинкой без всяких кромок.
    6) Кидаем увеличенные картинки с прозрачностью в папку masksource для вышеназванного скрипта, а картинки с чёрным фоном в ту же папку где сам скрипт и запускаем скрипт. Чёрный фон автоматически исчезает, а вместо белой кромки получаем бледно чёрную с большой степенью прозрачности, что выглядит как идеальная кромка.
    7) В разных местах картинки вдали от кромки остаются отдельные пиксели, которые были шумом на фоне, которых практически не видно. У них очень высокая степень прозрачности. При желании их можно удалить открыв всё тот же paint.net, взяв волшебную палочку, выставив чувствительность вместо знания по умолчанию (50) на значение 20. После чего держим shift и жмём палочкой на любую пустую область за пределами самой картинки, т.е. на то место, которое раньше было чёрным фоном. Жмём Delete, сохраняем. Всё. Остаются лишь мелкие единичные пиксель с высокой степенью прозрачности рядом с кромкой, которые можно разглядеть только при максимально возможном увеличении. В игре их никто не увидит. Хотя я их потом вручную затираю ластиком. Их остаётся очень мало и вычистить их можно буквально за минуту.


    ОБНОВЛЕНИЕ ОТ 20 ЯНВАРЯ 2021
    Выпустил версию 2.0
    Теперь в наборе текстур не только текстуры, но и монстры

    ai.postimg.cc_v4ZtbPnX_demo.jpg
     
    Последнее редактирование: 20 янв 2021
    MrFlibble нравится это.
  14. MrFlibble

    MrFlibble

    Регистрация:
    23 мар 2008
    Сообщения:
    2.802
    @Eyefinity, я тут обнаружил ветку ESRGAN за авторством некоего Joey Ballentine, где реализована функция обработки альфа-канала изображения, причём весьма неплохо.

    Вот что я получил из спрайта из Daggerfall в режиме --alpha mode 1 (модель CleanPixels):
    dancerb1alphamode1.png
     
    Eyefinity и Neitan нравится это.
  1. На этом сайте используются файлы cookie, чтобы персонализировать содержимое, хранить Ваши предпочтения и держать Вас авторизованным в системе, если Вы зарегистрировались.
    Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление