Changing character appearance

I’m not a new programmer, but probably fresher than most here. I did a brief course on python years ago and new to Panda. I’m going to tackle a prototype that’s a Diablo style (point-and-click to kill) action rpg. One thing I’ve wanted to do for a long time is have characters that can change equipment and it shows on the character. I’ve been thinking of this issue for a long time but all my ideas have problems.

Attaching a weapon is easy because it’s static, but attaching armor is not so. I’ve not yet got that far in the code, but I want to get an idea what I need to do. I want the armor vertices to be affected by the characters animations so it appears fluid. I know I can attach all meshes in maya before hand and simply show the ones I am wearing, but I’m also thinking once it’s done if I want to scale it up.

So far my idea is to have a similar skeleton inside the armor mesh with same joint names ('Lshoulder, RShoulder, Neck, Chest1,etc) that is in the character and simply copy the world data each frame. But that does not seem very efficient. Anyone have any better ideas?

I am not sure (i deal with space ships mostly) that you can just attach armor to the same bones as the character has. Even if you have to manually copy positions it will not be any noticeable hit.

i think there are several ways. easiest one for me was to use the same skeleton for all models. so you can have character,clothing,armor,etc . and a walk.egg a run.egg etc.
keeping animation files seperate from the meshes makes it possible to change the animation once and it applies to all other models automatically.
i never tested this but i dont see a big problem here.

some other intresting sollutions may be found in multipart-actors.

Yes, that’s right I can do that. My biggest concern was the performance hit. But you’re right, I can apply the same animation file to different .egg files.

I’ll post more on this as I progress.

never worry about performance any thing … and i really mean any thing can be optimized later.