3D アーティストの 1 人のために、シェーダーを Unity3D から Maya に移植して拡張しました。Unity3D のシェーダーは、PSD ファイルをテクスチャの入力として使用し、テクスチャの 1 つのアルファ チャネルを高さマップとして使用します。
Maya では、常に 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 に変換することは (残念ながら) オプションではありません。