Photoshop psd文件在Maya Cg着色器中丢失了Alpha通道

时间:2011-09-30 13:17:33

标签: maya cg

对于我们的3D艺术家之一,我已将Unity3D中的着色器移植并扩展到Maya。 Unity3D中的着色器使用PSD文件作为纹理的输入,并使用其中一个纹理的alpha通道作为高度图。

在Maya中,似乎alpha通道丢失了,因为它始终是1.我们使用PSD和PNG文件对此进行了测试。但是,使用TGA文件时,可以按预期使用高度图,并且着色器功能正常。

下面是一些Cg代码来说明我的意思:

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

在上面的代码中,使用PSD纹理时,bottomColor.aaaa始终为(1.0,1.0,1.0,1.0),但在使用TGA纹理时则不然。

注意:(遗憾的是)将所有纹理转换为TGA不是一种选择。

1 个答案:

答案 0 :(得分:1)

1)双击hypershader中的psd文件节点

2)在psd文件路径下方的属性编辑器中,您将看到一个名为“alpha to use”的选项。

3)打开显示“默认”的下拉列表,然后选择“Alpha 1”或者你在photoshop中调用的内容。