0

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 に変換することは (残念ながら) オプションではありません。

4

1 に答える 1

1

1)ハイパーシェーダーのpsdファイルノードをダブルクリックします

2)psdファイルへのパスの下にある属性エディターに、「使用するアルファ」というオプションが表示されます。

3)「デフォルト」と表示されているドロップダウンを開き、「アルファ1」またはフォトショップで呼んだものを選択します。

于 2012-04-03T14:34:40.303 に答える