This is the first part of a series of posts about "Modular character creation".
Why "modular"? Well, I can't create every character from scratch because it's hard, error prone and not very practical. Instead I'm planning to create a small number of body types and then assemble the final model using many small pieces to achieve different looking characters.
Different skin colors thanks to Vertex Colors
Here's the first bodytype. It's a slim male based on Adam character and it's almost ready to be the base for every other bodytype. I'm planning to create at least 3 male and 3 female bodytypes and each one will have 3 different heads and clothes. This should be enough to achieve a little character variation in the final game :)
Each character will use interchangeable parts like:
All the character assembly is made at run-time. This allows me to "randomize" the look of minor characters you encounter in the game.
The problem with using so many parts in Unity is that every part is a different Skinned Mesh requiring a separate draw call (this is bad for performance and for your health!).
Here's a little tip: you can actually combine all the meshes that uses the same material into a single mesh. The CombineSkinnedMeshes script in UnifyCommunity wiki is a great starting point.
As you can see, adding parts doesn't increase the draw calls counter: Victory! :D
In the game you will often encounter and talk to people. Even if I'm not aiming to have a full and realistic facial animation a-la "LA Noire" I want to add a little of "life" to characters giving them facial "bones". Yes, facial bones is the only way to have a little animation inside Unity. There are better tecnique out there, like "morph targets", but at the moment I think it's good enough.
Each bodytype shares a common skeleton and animations, this is a great time-saver but also very tricky to get working with different models. Here's a little video showing a single bodytype with some variations (different head, skin color and hair) using the same animations.
If you liked these first characters and enjoyed the video please subscribe to the youtube channel and let other know about it :)
Receive blog updates via email