diff --git a/spine-unity/Assets/spine-unity/Modules/SpriteAttacher.cs b/spine-unity/Assets/spine-unity/Modules/SpriteAttacher.cs index 83d43b7da..811215d56 100644 --- a/spine-unity/Assets/spine-unity/Modules/SpriteAttacher.cs +++ b/spine-unity/Assets/spine-unity/Modules/SpriteAttacher.cs @@ -57,8 +57,16 @@ namespace Spine.Unity.Modules { } public void Attach () { - var skeletonRenderer = GetComponent(); - this.applyPMA = skeletonRenderer.pmaVertexColors; + var skeletonComponent = GetComponent(); + + var skeletonRenderer = skeletonComponent as SkeletonRenderer; + if (skeletonRenderer != null) + this.applyPMA = skeletonRenderer.pmaVertexColors; + else { + var skeletonGraphic = skeletonComponent as SkeletonGraphic; + if (skeletonGraphic != null) + this.applyPMA = skeletonGraphic.SpineMeshGenerator.PremultiplyVertexColors; + } Shader attachmentShader = applyPMA ? Shader.Find(DefaultPMAShader) : Shader.Find(DefaultStraightAlphaShader); @@ -67,7 +75,7 @@ namespace Spine.Unity.Modules { if (attachment == null) attachment = loader.NewRegionAttachment(null, sprite.name, ""); - skeletonRenderer.skeleton.FindSlot(slot).Attachment = attachment; + skeletonComponent.Skeleton.FindSlot(slot).Attachment = attachment; if (!keepLoaderInMemory) loader = null;