Hello there, Dan Lenartowicz here (aka MEB). For those who don’t already know me, I’m the Technical Lead for Epoch Games, which basically means I oversee and fettle everything behind-the-scenes. I also dabble a bit with animation and modelling but we don’t speak about that too often, however today we will be.
In this post I’m going to discuss some of the animation technology we will be using in The Lays of Althas to control everything from Humans and animals, to doors and waterwheels.
Unreal Engine 4 comes with a totally revamped Animation Graph editor which gives us a highly intuitive and hugely flexible middleman between models and animations. This essentially gives us the power to animate any object we have in any way we can imagine simply by dropping a few nodes down, like you would in a flowchart (and similar to the Conversation Editor you saw last week).
A basic graph would look like this:
Here is a basic example of some procedural blending. First we take in the state of the character’s body (Locomotion), which is to say we take in the direction they are moving. We then blend a different stance in to the upper-body bones depending on whether the character has a weapon drawn or not. After this the orientation of the head and neck bones are reset to zero, and a new, procedural orientation is blended in based on where the character should be looking (the bit with the green lines is a WIP deconvolution of the quaternion angles… blah blah blah…). The final section is just to apply any top-priority animations over the top.
Using this pipeline, we effectively have infinite scope to vary all the animations that get played in game, giving us the ability to create dynamic and reactive movement based on external factors. Things such as heath status, age, terrain steepness could all be evaluated and reacted to to create a very dynamic animations system, all for a very small processing overhead.
… And time to snap out of sales-pitch/media-buzzword-spewing mode.
to round off this post, I’ll show off a few WIP animations we have floating around, just to show that we definitely have progress going in this department, and to hint at some features we may very well show off in the near future.
However, I must stress that nothing we show here is final and unrepresentative of the final game.
Hopefully this has been an enlightening post, stay tuned for more.
Peace