PSD файл Photoshop теряет альфа-канал в шейдере Maya Cg - PullRequest
0 голосов
/ 30 сентября 2011

Для одного из наших 3D-художников я перенес и расширил шейдер от Unity3D до Maya.Шейдер в Unity3D использует PSD-файлы в качестве входных данных для текстур и использует альфа-канал одной из текстур в качестве карты высот.

В Maya кажется, что альфа-канал потерян, потому что он всегда равен 1.Мы проверили это с файлами PSD и PNG.Однако при использовании файла TGA карту высот можно использовать по назначению, и шейдер работает правильно.

Ниже приведен код Cg, чтобы проиллюстрировать, что я имею в виду:

float4 bottomColor = tex2D(RGBA_Texture2, IN.TexCoord.xy);
float4 height = float4(1.0f) - bottomColor.aaaa;

В приведенном выше коде, bottomColor.aaaa всегда (1.0, 1.0, 1.0, 1.0) при использовании PSD-текстуры, но не при использовании TGA-текстуры.

Примечание. Преобразование всех текстур в TGA (к сожалению) НЕ является опцией.

1 Ответ

1 голос
/ 03 апреля 2012

1) Дважды щелкните по узлу psd-файла в гипершадере

2) В редакторе атрибутов под путем к пути к psd-файлу вы увидите опцию «alpha to use».* 3) Откройте раскрывающийся список, в котором написано «по умолчанию», и выберите «Альфа 1» или то, что вы называли в фотошопе.

...