[unity] Fixed incorrect rendering when CanvasGroup compatible is enabled on SkeletonGraphic TintBlack shader. Closes #1908.

This commit is contained in:
Harald Csaszar 2021-07-09 18:36:10 +02:00
parent 80e2b78dd1
commit 43565f197d

View File

@ -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);