Графический дизайн, арт игры, концепт, персонажи, текстуры, анимации, модели
GameDev.ru / Графический Дизайн / Форум / InkScape: RGB прозрачных пикселей

InkScape: RGB прозрачных пикселей

DENПостоялецwww16 дек. 20173:03#0
Художник рисует текстуры в InkScape, и обнаружилось, что при экспорте в PNG на месте прозрачных пикселей в RGB идет черный цвет. Эти черные пиксели захватываются текстурной фильтрацией, и в отрендеренной картинке виден темный контур. Как вы с этим боретесь? Задать общий RGB для прозрачности не вариант, потому что разные граничащие с прозрачностью пиксели могут быть разного цвета.
Iron ManПостоялецwww16 дек. 20175:34#1
Фотошоп прекрасно сохраняет прозрачные PNG, он копирует пиксели, граничащие с границей прозрачности и никаких контуров в итоге не видно.
Но в них палево :))) мета-заголовок с версией Фотошопа :)

Правка: 16 дек. 2017 8:29

Iron ManПостоялецwww16 дек. 201710:26#2
Я из Корела экспортирую только в PSD, особенно это касается рисунков с прозрачностью, а уже в Фотошопе в любой другой формат.
DENПостоялецwww16 дек. 201715:33#3
Iron Man
Вопрос про InkScape и именно про InkScape. Не про фотошоп, не про корел, не про пэйнт, а про InkScape. Про InkScape и именно про InkScape. Ни о чем кроме InkScape в этом треде писать не нужно.

glasm
> странно, чёрный цвет виден в самом PNG или только при загрузке в текстуру ?
Если нарисовать PNG с попиксельной точностью, то разумеется черный цвет не будет виден - как я уже сказал, это результат текстурной фильтрации (скорее всего мипмапы при уменьшении захватывают соседние пиксели).

UPD: нет, не только мипы: https://habrahabr.ru/post/328386/

Правка: 16 дек. 2017 15:41

mr.DIMASПостоялецwww16 дек. 201716:13#4
DEN
Оно?
inkscape | InkScape: RGB прозрачных пикселей
DENПостоялецwww16 дек. 201717:25#5
mr.DIMAS
Да, но нет :) Один цвет, общий на все прозрачные пиксели - так не годится. Дело в том, что граничить с прозрачностью могут видимые пиксели разных цветов, и тогда мы увидим те же самые артефакты, только контур будет того цвета, который мы поставим для прозрачных пикселей. Как я понимаю, решение могло бы быть таким: отключаем альфу, рисуем все что надо в RGB, далее отдельно рисуем альфу так, чтобы она отсекла RGB с запасом:

Изображение

DENПостоялецwww16 дек. 201718:26#6
glasm
Что такое дефект окантовки? Я же сказал: причина в том, что текстурная фильтрация захватывает RGB соседних черных ПРОЗРАЧНЫХ пикселей, и несмотря на то, что при попиксельной точности никаких артефактов не видно, в результате фильтрации эти артефакты вылезают. По ссылке из #4 находится подробный разбор полетов. Ты ее открывал?

Правка: 16 дек. 2017 18:27

Iron ManПостоялецwww17 дек. 20170:27#7
А не пробовал создать дубликат картинки и немного увеличить, чтоб из-под основной картинки вылезали края чуть увеличенной?
DimichПостоялецwww17 дек. 20171:48#8
DEN
> Вопрос про InkScape и именно про InkScape. Не про фотошоп, не про корел, не про
> пэйнт, а про InkScape. Про InkScape и именно про InkScape. Ни о чем кроме
> InkScape в этом треде писать не нужно.
Я дико извиняюсь, но может gimp поможет? http://gimpchat.com/viewtopic.php?t=3153
MrShoorУчастникwww17 дек. 20172:37#9
DEN
По ссылке, которую ты привел как раз и предлагается решение. Используйте premultiplied в текстурах. Чем такое решение не подходит?
Еще вариант - я когда-то писал тулзу, которая прозрачные пиксели перекрашивает в цвет ближайшей непрозрачной границы:
https://habrahabr.ru/post/328386/#comment_10212482
Можешь попробовать её.
SuslikМодераторwww17 дек. 20178:09#10
DEN
для случая текстур с цветовой информацией, как уже сказали, единственное корректное решение — использовать premultiply blending. но оно не всегда подходит, потому что таким образом нельзя хранить произвольную информацию в альфа-канале текстуры, не запоров данные в цветовых каналах. более того, проблема относится не только к инкскейпу, но и даже к фотошопу, в котором невозможно контролировать цветовые данные, хранящиеся в прозрачных пикселях png изображения.

для хранения произвольных данных во всех четырёх каналах png выхода два: либо сохранять в фотошопе через сторонний плагин вроде superpng, либо сохранять через редактор, который сохраняет данные цвета в прозрачных пикселях, вроде gimp.

Правка: 17 дек. 2017 8:09

/ Форум / Графический Дизайн / Общее

2001—2018 © GameDev.ru — Разработка игр