When it comes to animation, creating realistic animal movement can be an extremely difficult thing. Especially when it comes to video games, and making sure that as the animals traverse across the terrain they are behaving how they should. If you've played Far Cry 4 you know the game features quite a few animals, likely the most unique being the Elephant. This week at GDC 2015 Andy Konieczny, Animation Technical Director at Ubisoft spoke in great lengths on how they tackled wildlife animations and rigging in Far Cry 4.
Andy began the talk by explaining the things they wanted to accomplish in Far Cry 4, "With the overall success of animals in Far Cry 3, animals have become a brand staple. With Far Cry 4 we had to take it to the next level, we had to add more animals, and bigger animals. So we had animals like the Yak, Rhino, and Elephants, and we had to put them in the mountains. We also had to make sure that they could adapt to any type of terrain."
"The goal was pretty straight forward, we needed believable wildlife that can adapt to any type of terrain and we had a few constraints we had to deal with. We had to ship on current gen and next-gen, so we had to abide by some strict memory and CPU constraints." When shipping for both current gen and next-gen hardware this is a common speed bump that studios need to overcome. Even though they are shipping on next-gen, the game still needs to run properly on the previous gen consoles. So there is a balance that you need to find.
Andy went on to talk about how they approached animals in Far Cry 3 and the issues that arose, "The way we handled animals on terrain in Far Cry 3 was basically calculating the normals of the ground using the physics capsule, and then aligning the character to the ground based on those normals. This worked pretty well for smaller animals, but with animals like the Elephant it didn't look very realistic. It looked as if the Elephant was going to fall over the hill. So we really had to make it look more natural, and more balanced." Andy continued, "We also had issues with the giant capsule size for the character, and smaller details in the ground would cause the feet to either clip through the ground or float above it. We had to figure out a way to make the feet connect with the ground and make the character look more natural."
Far Cry 4
To solve this issue of clipping and unnatural the team considered actually creating animations for the different slope angles. IK would then be applied over the legs to fix up the smaller ground details. This ended up not being ideal, because it would take a lot of animations to cover all the circumstances, and with any production you need to consider the cost, and this would have taken much too long on the animation side of things both in time and money. Since Ubisoft was creating Far Cry 4 for previous gen consoles as well, the memory budget was very tight, being only about 30 megabytes on PlayStation 3 and Xbox 360, so anything added to the game would eat into the memory budget.
Andy continued to explain the approach they used for Far Cry 4, "Our approach was two major steps. First we gave a gross posture adjustment to the character using additive poses. Second we used Inverse Kinematics to give us a finer detail of foot placement on the ground." Andy then further defined the first step, "Looking at a lot of reference footage you can see that based on different slopes, the animal really adjusts their center of mass to kind of counter the effects of gravity. So shifting the weight in a different manner based on the slopes the animal is on. We decided represent this shift in the center of mass using additive poses. We would layer these animations, we would generate five different poses for each of the pitch angles, the roll angles, and then we would blend these together and additively layer this over of the top of our existing locomotion." A huge benefit with approaching it this way is that you really have complete artistic control, because the animators are able to pose the animal anyway they want, and make it look as natural as possible in the different extreme poses.
In order to get the foot placement correct the team used IK and Andy explained that process further, "We decided to use Autodesk's Human IK middle ware to handle this, we wanted more than two bone IK, and we were also using Motion Builder for authoring our animations, so it made sense for us to generate a light weight version of this rig and use this in the run time." Andy continued to talk about the IK data setup, "On the data setup we had to add four bones to our skeleton, and each of these bones was parented to the root of the character. These bones were then constrained to the foot FK bone. We then baked out each one of these animations with this data in them, and these bones represented the IK targets."
Finally Andy went over some of the things they hope to achieve in future projects. "We are also going to be looking at full body IK, we weren't able to use full body IK because we had to make it ship on current gen, so we're going to be evaluation full body IK in the future. The full body IK really helps the body, and helps the legs get to where they need to be, and gives it a more natural motion rather than hyper extending the legs. We will also be looking at Autodesk Creature Solver, we didn't have this available to us at the time of Far Cry 4, and we are going to be looking at this as well for future projects."