понедельник, 7 мая 2012 г.

Решаем проблему. TGA + alpha

Юзаю текстуру с альфой.. Использую tga формат ( такие требования) Во вьюпорте и рендере в месте начала альфы образуется белый контур. Tga 32 битная. Альфа создана корректно. Тестировала на png --всё отлично смотрится. а с tga проблемы. может кто сталкивался? я обычно фикшу подложкой фона под текстуру в цвет текстуры. помогает.. но как быть в случае, если текстура и по цвету и по тону разноплановая?

Нашла интересное решение -- плагин для Фотошопа, который делает фон с учётом цвета текстуры, для которого делается альфа http://www.robinwood.com/Catalog/Technical/SL-Tuts/SLPages/WhiteHalo.html

краткое резюме после найденной мною инфы.

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

Итак,

1. Советовали уменьшить альфу при создании  на 1 пиксель, так, чтобы она покрывала всю текстуру с запасом в один пиксель (это делается обычно в опциях выделения selection) Мне этот способ не подходит, потому как альфа, на мой взгляд должна быть такого же размера как и текстура.

2. подложить под текстуру фон такого же цвета как и текстура (что я обычно раньше и делала.)

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

4. сделать копию слоя текстуры и применить к нему несколько раз эффект Gaussian Blur ( Filter-- Blur)  , даже можно несколько слоёв сделать друг над другом, а потом смерджить всё.  Цветные пиксели текстуры будут размыты в стороны, захватывая конец ( перехода) альфы.

5. Играясь с Фотошопом, нашла наиболее  подходящий для меня способ создания tga с альфой на данный момент. Способ, при котором не будет белого муара вокруг текстуры при рендеринге.




Похожая ссылка на решение проблемы -- http://unity3d.com/support/documentation/Manual/HOWTO-alphamaps.html

3 комментария:

  1. вот только фильтр этот у меня не работает.. зато у меня появилась идея как можно фиксить эту проблему при наличии цветной текстуры )

    ОтветитьУдалить
  2. Такие приколы с альфой - обычное дело, когда альфа обрабатывается не так, как она представлена в файле. Сам не раз сталкивался с чёрными или белыми обводками в полупрозрачных областях. Способы 1-5 - это всего лишь костыли, которые не решают проблемы, а только замазывают её и, причём, не всегда успешно. Нужно прежде всего разобраться, как был сохранён tga в Фотошопе (с раздельным альфа-каналом или предумноженным), а потом указать этот же способ представления в Майя в редакторе текстур. Где там что нажимать, уже не помню - давно не открывал ни Фотошоп, ни Майю.

    ОтветитьУдалить
    Ответы
    1. Угууу.. спасибо за совет.
      Значит, проблема в создании самого tga? посмотрю , что можно сделать в фотошопе.

      Удалить