2D top down character with interchangeable items?

Ive been trying to produce a 2D character for a top down RPG, but I’m unsure as to how to make the character both top down and have changeable armour. I was going to animate the character within Unity, as I have made the character as different sections rather than one image, so that i could animate in a “puppet” type way. i was then going to have empty armour slots added to each limb that would be replaced when adding a piece of armour. this systems works well for a platformer where the character is moving from side to side, but how would i use this system when making them go up? I would be using a different character model for up, down, left, and right, so how could this system be implemented? i assume that as the up animation would be different to the down animation, they would need to be different puppets all together so how could i get the armour to translate to both? if you catch what i’m trying to explain? i just wanted know if any knew a solution that could help with what i’m currently trying to do?

I haven’t done any animation for this style of rigging things… but I can’t think of it being much different than drawing it all together and animating it as i have through sprite animations. Truth is, for mine, I have 8 directions and I just had to tough it out and draw all 8, 10 frames of animation each, and then all over again for the run cycle.

For you, you could mirror left and right, but you’re right, you’ll essentially have to draw the assets for that and up and down, and animate them separately I’m pretty sure.

Once you get the base animations working, I don’t think it’s that difficult to switch out sprites to different clothes or armor or what have you.

I basically have the base body animated and load and switch out other sprite sheets for clothing, hair, etc on the fly. I think you’d be doing basically the same thing for yours.

Okay, thanks for the help with the armour, but any idea how i would change the character to the up character model when the player moves up, or change to the side to side character model when the player changes to that direction?

Okay so I’m assuming the issue is that you have different gameobjects at different positions for the parts of the body, and you animate the position and rotation of those children gameobjects.

This makes more sense as of the issue now.

I guess you have a couple options here.

One would be to have a base parent gameobject, under that, have a child for left and right with their respective parts as children of that, a child for up, and it’s own children again, and then a child for down and it’s respective children.

You build each of those separately, and when the player presses up, you activate the Up child and deactivate any others. Down would do the same. Left or right would activate that object and flip it in the correct direction.

Otherwise I guess you could try to just have one setup as you likely have, and set the local positions based on the direction through code, and change the sprites as well, but I feel that would be vastly more difficult.

Hopefully that helps. I know it won’t feel very “clean” but maybe someone else with experience here can provide more input.