2D change skin/image/color of player

I’ve searching for an solution to change the color (images) of my player (green, red, and so far). The look is the same, just the color is changed. I’m using spine for the character animation. The easiest way would be to change the whole atlas image. But I haven’t find out how to do this, because its splitted in slices.

I have two approaches. The first ist using the native spine export (json skeleton). There are skins available. The negativ thing is, I can’t use the statemaschine of unity? (or can I use it? I don’t know why, because these arent native animations/clips). Because of this, I bought the this plugin to use native animations: Unity Asset Store - The Best Assets for Game Making

There are no support for skins. And for the change of colors, I only found that every bone has his own sliced image with an spriterenderer. Do I have to change the sprite in spriterenderer? Or are there easier ways?

The best would be, to change the color/skin/image with an fade effect.

Thanks you!

Hi,

have you checked this thread?

Thanks for your reply. Yeah, I checked it. But they’re using SpriteAnimations. Im using spine, so I have a skeleton.

One way would be to make your sprites in grayscale, and then tint them using the SpriteRenderer’s Color property.

@dothem - well, my point was, no matter if using sprites or geometry deformed by any means (spine, or any other comparable software) can’t you just replace texture used by character runtime?

Or does spine setup in Unity end prevent this somehow?

Like this, for your body texture sheet/page:

spRenderer.sprite=Resources.Load<Sprite>("characterB");

I tried now with native spine export animation (skeleton). There is a MeshRenderer. Im able to change the material. But I’m trying to figure out how to blend them for a better effect. Spine MeshRenderer takes only one material, so I can’t do SubMeshes and easily blend out the top Mesh.