Проблема с отображением png текстуры

Автор
Сообщение
На сайте c 12.08.2018
Сообщений: 39

При загрузке текстуры PNG в битмап дифуза происходит следущее

Р е ш е н и е  проблемы ищите ниже \\//

На сайте c 31.03.2008
Сообщений: 1112
Москва
Premultiplied alpha
На сайте c 31.01.2011
Сообщений: 273
город Хряков

У ФШ есть прикол с ПНГ, он неправильно кодирует альфа-канал. Вернее, не так, как это принято в 3D графике. Может, это настройка какая, хз.

Дело в том, что прозрачное изображение здорового человека кодируется четырьмя цифрами: R, G, B, A. То есть 1, 0, 0, 1 - это непрозрачный красный, 0, 0, 1, 0.5 - полупрозрачный синий.

Так вот, ПНГ курильщика, то есть фотошопа, кодирует полупрозрачный синий цвет как 0, 0, 0.5, 0. То есть альфа-канал, последняя цифра, вообще не используется, а прозрачность задается значением синего цвета. Это приводит к некоторым неприятным последствиям в 3Д графике, особенно игровой. Поэтому в этой отрасли все еще используют древний формат TGA. В нем все кодируется правильно, цвета - отдельно, прозрачность - отдельно. Это дает возможность, например, сделать полностью прозрачный зеленый цвет - очень удобно для текстур листьев, если использовать PNG, по краю прозрачности может появиться белая каемка. Так же TGA дает возможность запихнуть в один файл 4 совершенно разных черно-белых текстуры, это делается для оптимизации риалтаймового рендеринга. Выглядят такие текстуры жутко и психоделично, пока не включишь в ФШ поканальный просмотр.

Попробуйте пересохранить в TGA с альфа-каналом. Там, правда, свои нюансы - переключитесь в режим поканального просмотра, и убедитесь, что у вас есть корректный альфа-канал, а если нет - создайте его. И при сохранении выбирайте 32-битный формат.

ЗЫ: предполагается, что значение цвета в канале может иметь диапазон от 0 до 1. В 32-битном цвете значения могут быть в диапазоне от 0 до 255, например.

На сайте c 12.08.2018
Сообщений: 39

Цитата -NiK-:
Premultiplied alpha

Спасибо,получилось:) 

Цитата bryarey:

У ФШ есть прикол с ПНГ, он неправильно кодирует альфа-канал. Вернее, не так, как это принято в 3D графике. Может, это настройка какая, хз.

Дело в том, что прозрачное изображение здорового человека кодируется четырьмя цифрами: R, G, B, A. То есть 1, 0, 0, 1 - это непрозрачный красный, 0, 0, 1, 0.5 - полупрозрачный синий.

Так вот, ПНГ курильщика, то есть фотошопа, кодирует полупрозрачный синий цвет как 0, 0, 0.5, 0. То есть альфа-канал, последняя цифра, вообще не используется, а прозрачность задается значением синего цвета. Это приводит к некоторым неприятным последствиям в 3Д графике, особенно игровой. Поэтому в этой отрасли все еще используют древний формат TGA. В нем все кодируется правильно, цвета - отдельно, прозрачность - отдельно. Это дает возможность, например, сделать полностью прозрачный зеленый цвет - очень удобно для текстур листьев, если использовать PNG, по краю прозрачности может появиться белая каемка. Так же TGA дает возможность запихнуть в один файл 4 совершенно разных черно-белых текстуры, это делается для оптимизации риалтаймового рендеринга. Выглядят такие текстуры жутко и психоделично, пока не включишь в ФШ поканальный просмотр.

Попробуйте пересохранить в TGA с альфа-каналом. Там, правда, свои нюансы - переключитесь в режим поканального просмотра, и убедитесь, что у вас есть корректный альфа-канал, а если нет - создайте его. И при сохранении выбирайте 32-битный формат.

ЗЫ: предполагается, что значение цвета в канале может иметь диапазон от 0 до 1. В 32-битном цвете значения могут быть в диапазоне от 0 до 255, например.

В TGA не получилось(текстура не дает прозрачности) ну тут скорее всего мои руки, а вот с пнг получилось ну все равно ,я тот еще дилетант, не знал про то что альфу добавлять надо,думал "так прокатит", Спасибо:)

Для таких же ка я:

вот та самая галочка

но перед этим нужно ссоздать альфа канал ,как в этом уроке: https://www.youtube.com/watch?v=Hqu84DpE2V0 

только сохранить в Пнг 

Читают эту тему: