Previously, we showed you part of our process for creating characters and making them unique. Now it’s time to make them move!
In this article we are going to talk about our techniques for animating characters in One Military Camp, and how these animations are driven by the AI. Next time, we’ll show you how to make them interact seamlessly with the 3D world.
The first step before animating is to create a skeleton on which we will make the animations for the character. This skeleton will be associated with the two parts that compose the character (heads and bodies).
This process is called rigging.
In our case, the shapes of the male and female characters are very different, so we decided to create two different skeletons:
- CON: For each animation that we want to make, we must make two variants, one for men and one for women.
- PRO: It will allow the female animations to adapt well to the shape of the female body, which has different proportions than its male counterpart. We can also give a distinctive touch to these animations, since the way a man walks is not exactly the same as a woman does. This will help the animations to feel more natural and unique for each character.
Skeletons consist of a set of gizmos (boxes of different colors in the image) and control objects that have a hierarchy with each other. That is, if we rotate the shoulder gizmo, then the arm, forearm, hand, and fingers gizmos will rotate accordingly.
Once we have created these controllers and established the relationships between them, we carry out the weighing process. Using different vertex weighing techniques, we manage to store the influence of these gizmos for each vertex of the model.
In our case, we do an automatic weight assignment pass based on the position and topology of the mesh. Later, we refine this with a process of manual weight painting on the mesh. The method consists of painting a heat map over the vertices. Each gizmo of the skeleton will have its own heat map: “Red” for full influence and “black” without influence.
Later, when the skeleton moves, a series of calculations will be performed for each vertex within the shader. These calculations take into account the position of each bone and their influence on the different vertices to calculate the final position in which a vertex is shown on the screen.
We call this process: Skinning.
Animations in One Military Camp
Finally, our 3D character has a skeleton. Now, let’s start moving this skeleton to generate the different animations.
To animate the characters, our talented animators create key poses for each of the bones of the skeleton and associate them to a moment in time.
In the image below you can see how it works.The different gizmos that make up the skeleton have a position assigned for each specific moment in the timeline. Like posing them for a photograph! The yellow dots in the lower area are key positions of the bones for different moments in time.
Once all these key frames have been created, when we press play we will see a sequence of positions that changes rapidly, producing the magic of movement. They’re alive!
Rigging and animating characters
At this point, we have the different characters rigged, and we have done a couple of animations to a base model. But, when the rigging and skinning techniques reach their true potential, is when we are able to use all the set of animations in other characters sharing the same skeleton of the base model.
For example, we can transfer the walking animation to all the female characters and make them walk in the same way, even if they have different character models.
And that’s how we are animating characters in One Military Camp! 🙂
If you’ve enjoyed the article don’t forget to wishlist and follow the game on Steam! This way you won’t miss the next entries of this Development Diary.
Written by Miguel García (Creative Director of Abylight Barcelona)