By Jeff "3dTrixler" Anthony
Ever wished you could tweak Adobe Mixamo's stock animations? In this use case we show you how to create convincing custom animations for your game prototype. The workflow makes use of Mixamo's fast Auto-Rig and free library assets with the accessible rig and animation editing capabilities of akeytsu.
Credits : This article features artwork by digital artist Jeff Anthony. Follow him on Twitter to see what he's up to.
Jeff "3dTrixler" Anthony here to tell you more about how I created animations for my little guy Jasper - a character from a solo dev project of mine called Phantama (previously Spellcaptor). In order to prototype quickly but still get what I wanted I followed a workflow using Mixamo's Auto-Rig feature and stock animation assets enhanced with custom tweaks in akeytsu. I'm a digital artist by training (2D & 3D) and I found this workflow particularly useful to design characters with animations in mind. Today, I'll be sharing a few techniques I came up with as I believe fellow Indie developers could greatly benefit from what akeytsu has to offer. Let's get started!
DESIGNING A CHARACTER WITH RIGGING IN MIND
We know from experience that all the joints that rotates are the most problematic. Here we are mostly thinking about Wrists (Forearm Twist), Shoulder, Neck, Upper Thigh Region, and Ankles. These are critical parts of the rig and it's usually quite a lot of work to get right. When designing the character that pain can be eased by separating body parts and putting objects or accessories like cloth or bracelets in these specific areas. Twist deformations won't be so demanding when doing that and you will most likely be saving some time with roll joint set-up and adjustements. Of course this doesn't fit every character design and sometimes you'll just have to get down to it.
There are other cool tricks that can be noticed from the screenshot above. I have put edge loops in those areas as it helps greatly with deformation when the different parts articulate with one another. This character is also stylized and has four fingers. This gets rid of problematic deformation issues that can be faced with a normal hand and it's just two less fingers you don't have to worry about.
As a result this character is easy to rig and weight-paint. I could potentially rig and skin in akeytsu but in this instance my intention is to be as efficient as possible and make sure it will have the correct hierarchy for Mixamo's stock animations so I will create the rig through their web-based service and edit it later. While the rig is not custom it makes for a good foundation to build on and a faster rigging process. This is particularly relevant for a bipede like Jasper or when you want to get something out quickly (Game Jam, further testing...).
USING MIXAMO AUTO-RIG
Even though this character has only 4 fingers, you can select Standard Skeleton. Mixamo detects this and only puts 4 fingers instead of the regular 5-finger skeleton. You should prefer A or T-pose as they work best for Mixamo. Here I have designed Jasper with a A-pose as it tends to deform better since with A-pose the position of the arm is between the two extremes contrary to T-pose where it can be hard to correctly define shoulders so that they stretch or twist correctly when the arms come lower. It's slightly less intuitive at the modelling stage but it eases up the workflow down the pipeline.
Mixamo is certainly quick but its Auto-Rig is not perfect and this is where Akeystu comes in handy. Here is a GIF showing the results from Mixamo Auto-Rig after applying a basic walk animation to it. At first glance, pace doesn't look perfect but I can edit that in the engine later, shoulders tilt forward too much to my liking as I want Jasper to appear more mellow than daring, chin movement is exaggerated and Jasper's waistband waives as if it was part of the saroual silk pants when it should hold more firmly. I want to rework it to have a cooler, easy-going yet assured aura transpire from Jasper's walk.
FIXING RIG AND WEIGHTS IN AKEYTSU
The skeleton and weights are approximative and show deformations where it’s not needed (see Hip Joint weight-painting above). You can also notice long-winded naming conventions.
This character also needs Eyebrow and Eye bones (for further reading on how to create a more complex joint-based face rig with akeytsu check Etienne Beschet article here, ed).
I took out "mixamorig" and the colon from the naming convention making sure not to alter the rest. I deleted one side of the skeleton and properly weight-painted the other. Here I took advantage of akeytsu excellent mirroring algorithms to replicate it to the other side (more details on how to skin a bipede in akeytsu in this livestream, ed). This is just great as it saves half the work and makes the workflow so much faster. I added the Eyebrow and Eye joints to the skeleton. Again these can be mirrored quickly with akeytsu as long as you have written Right or Left somewhere in their naming. I also deleted Collar Bones to make weight-painting easier and because this character won’t have any heavy deformative animations. Most importantly, I can do so because Jasper is a stylized character.
EXPORTING BACK TO MIXAMO
Select the skeleton and meshes. Click the akeytsu logo at the top-left corner, go in Export FBX and choose Export Selection.
Choose Upload Character on Mixamo web-paged and go fetch the exported FBX file.
Below is the same walk animation at correct speed using the updated rig. You'll notice that Jasper's 3D model has undergone some changes (no more shoulder pads, more edge loops). These were made to give him a better silhouette and more reliable deformations. These 3D model tweaks can easily be carried out and prevized in the course of animation work thanks to the Update Skinned Mesh feature found in akeytsu Skin Atelier (more on that in our technical documentation here, ed) which basically allows you to transfer skinning weights to a revised 3D model kinda like your Unwrap Skin in Maya but smarter. A very simple and neat feature when you are still iterating on characters in the course of production.
Here is a more eccentric capoeira move I used as a stress test to check on the fixed rig and its deformations. Not bad he? Plus Jasper has style. It took me over a day to do all this. This character is simple and Mixamo does pretty well with most parts. If there is anything wrong I would go in akeytsu to quickly adjust as keyframing with their toolset is as simple as can be. What takes the longest are the fingers. I pretty much always have to do that manually but you can think of workarounds here either in terms of character design or by using place holders to start with if you are in a hurry. It can also be a good thing to create yourself a hand library in a dedicated .akt file if you are planning on working with your character for numerous animations taking advantage of akeytsu great cross-file copy paste capabilities (watch tutorial here, ed). This will allow you to save even more time.
Finally here is how Jasper's walk looks in the engine!
BONUS: FIXING A MIXAMO ANIMATION
This is just one exemple of the many ways I use Akeystu to fix or alter an animation that has been baked. Much more is possible especially with the UE4 mannequin but that will have to be the topic of another article to stay focus here.
This is a Fall Loop animation that’s needed in UE4 when the character is jumping. As you can see the animation shows the character supposedly holding something in his Left Hand. A quick fix here is to simply mimic the pose of the Right Arm on the Left Arm. Here again it is pretty easy to edit with akeytsu when you know the drill.
For each frame I simply have to Mirror Skin Weights & Joints from the Right to the Left hand. And I'm done. You could also imagine copy/pasting some pose from another animation onto a given body part and mirror it to the other side to iterate at will and find what works best for you.
MIXAMO LOCOMOTION DEMO FIXED WITH AKEYTSU
To conclude this article here is a video showing final animations as implemented in-engine. If you have used Mixamo before, basic locomotions are bound to look familiar to you. Yet I believe I was able to infuse some personality to Jasper as well as making his move set a lot more compelling by performing simple and quick edits in akeytsu.
We need your help to make akeytsu a better tool.
Write us on forums or our discord channel if you would like us to consider improvements.