Yeah, I'm not sure all of the specifics but the SkeletonAnimation definitely sets some parameters on the Shader, including Color (which includes Alpha).
You can set the color (tint + alpha) with skeletonAnimation.skeleton.SetColor(). I'm assuming it sets "_Color" in whichever shader is being used.
This is my code for changing the material to the "colorizing" one (which uses the Spine/Skeleton Tint shader)
//I set both of these by dragging the material into the Inspector
public Material defaultMaterial;
public Material colorizeMaterial;
public virtual void SetMeshRendererMaterial(Material material) {
skeletonAnimation.CustomMaterialOverride[defaultMaterial] = material; //Overriding the defaultMaterial with whichever Material you pass in
}
public virtual void SetMeshRendererMaterialToColorize() {
SetMeshRendererMaterial(colorizeMaterial);
}
public virtual void SetMeshRendererMaterialToDefault() {
SetMeshRendererMaterial(defaultMaterial);
}
Edit: Worth noting that all of my SkeletonAnimations only use 1 material. If your images aren't all packed into a single atlas than you might be using multiple materials on a single SkeletonAnimation.