当前位置:   article > 正文

Unity 两个贴图混合_unity 混合贴图

unity 混合贴图

图片混合

    // 颜色混合
    static Color NormalBlend(Color background, Color cover)
    {
        float CoverAlpha = cover.a;
        float OneMinuCoverAlpha = 1-CoverAlpha ;
        Color blendColor;
        blendColor.r = cover.r * CoverAlpha + background.r * OneMinuCoverAlpha ;
        blendColor.g = cover.g * CoverAlpha + background.g * OneMinuCoverAlpha ;
        blendColor.b = cover.b * CoverAlpha + background.b * OneMinuCoverAlpha ;
        blendColor.a = 1;
        return blendColor;
    }

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
    // 颜色混合- 带 a 通道的颜色混合
    static Color NormalBlend2(Color background, Color cover)
    {
        float CoverAlpha = cover.a;
        Color blendColor;
        float OneMinuCoverAlpha = 1-CoverAlpha ;
        blendColor.a = cover.a + background.a * OneMinuCoverAlpha;
        blendColor.r = (cover.r * cover.a + background.r * background.a * OneMinuCoverAlpha) / (blendColor.a);
        blendColor.g = (cover.g * cover.a + background.g * background.a * OneMinuCoverAlpha) / (blendColor.a);
        blendColor.b = (cover.b * cover.a + background.b * background.a * OneMinuCoverAlpha) / (blendColor.a);
        return blendColor;
    }

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

AmplifyShader-带Alpha贴图混合节点下载声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】

推荐阅读
相关标签