PBR #3: Virtual Production and character assets

So, by the end of Monday June 1st, I had an 8-page screenplay to put into Virtual Production (or, as I called it as recently as May, “previs”). On Tuesday 2nd June I decided I should try and get some assets together.

1024446-mixamo-2.0-now-available.jpg

For the characters, I decided to go with Mixamo, from prior positive experience. For the uninitiated, Mixamo is a library of characters and animations that can be freely used in games and such. It also has a dedicated character creation software called Fuse, now part of the Adobe suite.

Mixamo as a whole isn’t a patch on its old self, though. The Adobe version of Fuse is still in “beta” but certainly seems to have been abandoned and stripped of its features. So you can use it to create a character, and send that character to the Mixamo website to have animations applied to it, but you can’t control individual physical features like you used to be able to. The sliders are still there, they just don’t do anything. So there’s really only a dozen characters in there that you can re-dress from their limited supply of clothing options.

Nor can you store a library of custom Fuse characters on the Mixamo site, like you could. On the plus side, the characters and animations downloaded from the site drop neatly into Unreal and the process is smooth from there.

I used the Brute character from Fuse as Duggy, who is something of a strongman character. I gave him the American camo outfit as it at least looked like an Army uniform. I would change the textures later so he could pass for a WW1 “Tommy”. The side-characters are Mr Preedy and Private Kaur, both made in Fuse too. Finally I used “Steve”, Mixamo’s pre-made WW2 soldier, as a catch-all peripheral character.

However, while it’s ludicrously easy to drop Mixamo characters into Unreal, then drop animations in for each character, you’ll hit a stumbling block as soon as you need a character to do something Mixamo doesn’t provide.

In PRAZINBURK RIDGE I’ve got characters doing a lot of putting gas masks on, taking them off, picking up heavy objects, etc. To get these actions into the film, I needed to either animate them myself or have them motion-captured. Since motion capture usually requires editing anyway, and hand animation applying, it is obvious there needs to be a way to get a Maya rig for these characters, to animate with.

Autodesk Maya 2018_ untitled_ 30_07_2020 11_36_20.png

The main problem with Mixamo these days is that the Auto-rigger script for Maya has been abandoned completely, there is no mention of it on the Mixamo site. This script allowed you to take a Fuse character that had been jointed and skinned via the automated Mixamo process on the site, then put that into Maya and rig it so it has controls you can actually animate.

Of course, there’s a million ways to get around this - as long as the exported skeleton FBX from Maya is the same as the Mixamo skeleton, it’s fine, rig it how you want. And certainly the resultant rigs from the old Mixamo method are not great at all. But it’s an off-the-shelf solution that requires no rigging on the part of the user so I wanted to share it.

Download the script here.

You need to download the “Unreal” version of your character from Mixamo in T-pose, import it into Maya, and run the Auto-Rigger script.

Download this version. I couldn’t get the other version to work correctly.

Download this version. I couldn’t get the other version to work correctly.

Check “Export mesh with skeleton” if you have facial animation. You should import your character reference before you do so.

Check “Export mesh with skeleton” if you have facial animation. You should import your character reference before you do so.

When you’ve animated the character use the Exporter make sure you export FBX 2016. If you’ve animated the face, you’ll need to have your character imported instead of referenced.

With my characters and animations, as well as an animation pipeline in place (at least for now), I knew the next stage was the big one - entering Unreal!