diff --git a/spine-unity/Assets/Spine/Runtime/spine-unity/Mesh Generation/MeshGenerator.cs b/spine-unity/Assets/Spine/Runtime/spine-unity/Mesh Generation/MeshGenerator.cs index 1b1df877e..d8a4e178e 100644 --- a/spine-unity/Assets/Spine/Runtime/spine-unity/Mesh Generation/MeshGenerator.cs +++ b/spine-unity/Assets/Spine/Runtime/spine-unity/Mesh Generation/MeshGenerator.cs @@ -566,7 +566,8 @@ namespace Spine.Unity { float tintBlackAlpha = 1.0f; if (pmaVertexColors) { - color.a = (byte)(skeletonA * slot.a * c.a * 255); + float colorA = skeletonA * slot.a * c.a; + color.a = (byte)(colorA * 255); color.r = (byte)(skeletonR * slot.r * c.r * color.a); color.g = (byte)(skeletonG * slot.g * c.g * color.a); color.b = (byte)(skeletonB * slot.b * c.b * color.a); @@ -576,6 +577,9 @@ namespace Spine.Unity { else color.a = 0; } + else if (canvasGroupTintBlack) { // other blend modes + tintBlackAlpha = colorA; + } } else { color.a = (byte)(skeletonA * slot.a * c.a * 255); color.r = (byte)(skeletonR * slot.r * c.r * 255);