首頁>Game>source

我正在尝試在背景上建立發光效果,為此,我正在使用着色器,当我使用主纹理時,一切都還好,但是当我放置發射贴圖時,纹理会损壞

我是有關着色器和統一性的初學者

最新回復
  • 5月前
    1 #

    似乎您已匯入帶有" Alpha is Transparency"標記的纹理。

    這告诉Unity,永远不会看到零alpha區域中的纹理畫素的颜色值(因為它们是透明的),因此可以隨意對其进行修改,以帮助避免精靈邊缘出現难看的條纹,或者使 纹理壓縮效果更好。

    因此,在這裏假設您將遵守所做出的承诺,並且仅將這些纹理畫素视為透明的,這將使視窗的白色渗入纹理的零alpha區域。

    您可以看到視窗的正確形狀仍保留在alpha通道中.而且,如果我们將RGB通道乘以alpha(就像我们用透明效果渲染圖像一樣),我们得到的結果与原始圖像相同:

    因此,這裏根本没有"腐败". Unity正在應用一種安全的,保留資訊的轉換,以帮助您按照承诺的方式正確渲染圖像。

    這裏的問题是您信守诺言.您不会像透明精靈那樣使用它.您將放棄alpha通道,而仅使用RGB通道进行發射。

    由於使用纹理的方式与通過勾選" Alpha is Transparency"所承诺的方式不同,因此Unity所應用的轉換在该用例下不再安全。

    因此,有三種解決方案:

    取消選中" Alpha是透明度",這樣就不会做出不打算保留的承诺。

    如上所述,將RGB通道乘以Alpha通道,然後將相乘的結果傳遞给發射引脚.這樣,您就可以模擬" Alpha is Transparency"複選框所假定的透明混合.這也適用於彩色圖像。

    如果仅需要白色發射,則仅將纹理的Alpha引脚連線到材料發射引脚.這樣,您可以完全丢棄未使用的RGB資訊,並以纯Alpha格式儲存纹理。

  • unity:纠正匯入的動画以避免手穿過角色的脸部
  • graphics:Opengl在500行中指向三角形問题