Для одного из наших 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 (к сожалению) НЕ является опцией.