No doubt you may have used more than one or two character editors in various RPGs in the past and present. My game features one global character mesh as illustrated on my first WIP page. Males, females fat, thin, black or white are to simply be subclasses of the base mesh.
This effect is being achieved using bones; in case you did not know; DBPRO can apply bone deformations much like Blender armatures on its 3D objects, be it applied to characters, machinery, creatures, particle clouds or what ever 3D object you can think of.
My mesh structure features bones for posing, appearance changes, speech and facial expressions. The mesh itself is in early development because most of the first part of my development cycle is focused on the base elements of the world as an environment to play in; or in the case of the editor, an environment to create.
Note that Enhanced Animations do not work with my mesh; perhaps it is a fault with the DirectX export method or the complexity of the multilimb mesh; which also has bones applied to parts of clothing.
It is quite easy to slap together a set of UI controls to manipulate the scales and angle offsets on each bone, thus affecting the physical structure of the individual in the game.
Here is where this concept needs inspiration. The scale of each bone will
probably be maintained during game-play if I do not save animation keys for the scale properties of such bones. But this is a guess.
What would be ideal is a way to bake the mesh with the bone scale and rotation settings applied to the underlying meshes. Perhaps the vertex data could be used to overwrite the default vertex locations; or perhaps some of the DKPlugin functions can be used.
With the mesh procedurally regenerated, it could be possible to have characters derived from unlimited meshes, in addition to being able to simply make limbs bigger or smaller.
This is my vision of such a procedure, however I am curious to know what others would do to program a character editor. Perhaps you would use a shader, or perhaps you would split the character into seperate objects.