In-game character editor


For our upcoming sports game we like to include an in-game character editor.
A premade person model should be able to be modified and the results should be able to be viewed live during modification.
Modifications should include (beside changing some textures) changing the model itself (thinner, thicker, taller, smaller).
We are still in the design phase and evaluate if Panda3D will fit for our project.
I read, that there is no correlation between the order in which vertices are listed in an egg file and the order in which they will appear in the resulting loaded model.( … metry_data). So it seems to be problematic to modify a premade (from egg file) person model.
On the other side, if we programmatically build up the person model, all the animation data is missing.

Any suggestions whats the best way to implement a charater editor with Panda3D?

Best regards,

Have you looked at Disney’s Toontown Online and Disney’s Pirates of the Caribbean Online? Both of these are written using Panda, and both of them begin with a character editor such as you describe. Both of them are also free to play (for at least a certain amount of time), so you can investigate both of their character editors at no cost to you.

In Toontown, the characters are assembled by swapping pieces, as described in the manual under multi-part actors. In Pirates, we don’t use multi-part actors but instead hide or show the various clothing options, and we also run-time adjust certain joints that we built into the characters, joints which make the various parts fatter or thinner or move the ears down or whatever.

So, it can be done. You wouldn’t want to do it by moving actual vertices around in code, though–that would be tedious, error-prone, and slow. The way to do it is to build the appropriate controls into your characters in the first place, and then move those controls.


Hy David.

Sounds very good … thanks a lot.
I will also take a look in your mentioned games … let’s be a Pirate (especially as carnival is right around the corner here in Germany :wink:).