Hi guys !
I am working on a personal game project in Unity, in which I am trying to implement a character customization system.
The idea is simple : Use a single rigged base character and use blend shapes to allow the player to customize it's shape, morphology, proportions and so on.
Here is an example of something I did yesterday with Zbrush and Blender to see how far i can push it :
But I have some "issues". Or rather, some stuff I don't know how to handle in a smart way :
The above blend shape only deals with... shape. Not proportions. For example, I would like to be able to go from a skinny kid to a bodybuilded warrior with large shoulders, which I assume would change the rotation centers of some bones in the rig. I am fairly unexperienced with animation/rigging (only ever rigged/animated 2-3 simple characters). I guess my only option here is tweaking the proportions in the rig itself and not with blend shapes, but then, will i still be able to use the same animations? If so, how? If you have any tips / ideas about how to deal with this, i would be very pleased !
This also presents some problems, like if I have kid proportions, but put a bodybuilder blend on it, would produce weird result, which i would want to prevent.
Then, there is the problem of clothing. I aim at modelling quite a lot of clothing to have as much variety as possible. My idea is, for example, for pants, replace the character model's legs with a model of pants. But i guess that with the blend shape workflow, I will have to create the same blends as the character's blends, for each clothing object. Which can take a lot of work depending on the amount of blends I go for (which, if I want a good variety of character shapes, will likely be a lot). Are there some workarounds for this? Or some ways to simplify the workflow? (for example deforming the clothing object based on the blend shape deformation of the character?)
An other question I have, not directly related to the customization but rather to the modelling/animation is, how to deal with cloth outfits that would be subject to deformation / physics in real life, so that they look to behave in a realistic way? For example a dress or a tailcoat?
Any tips or ideas would be welcome !
Thank-you !
Replies
You've correctly deduced that blend shapes making the mesh morph to being 6' 6" tall muscle guy while on a rig made for a 4' child will probably break down. You'll have to prototype a way to modify the height of the character mesh and the rig at the same time. A certain amount of that is achievable by just scaling the character down (and perhaps just make the head slightly larger via a morph to compensate from the down scaling keeping childs proportions), but it might not be very good after a certain amount of scaling.
There's going to be some tricks to speed up manually making all the blend shapes for the clothing options, but at the end of the day you have to modify the vert positions somehow. I can imagine a way getting the vertex offset differences or bounds differences between the body base state and the new position from the blend shape and just adding the same on the clothing meshes. But I don't expect it work flawlessly. You would want to write that tool in blender, might be worth looking around for similar products too.
i doubt its an easy solution - the whole software is basically built around this idea.
I'd bet you just have to do an ass ton of manual work. But with the tools you got already (copy paste skin weights, wrap deformers, etc), it's not that bad. With a dozen characters and dozen clothes you can get it done in a few weeks if you're fast.