An Unreal Control Rig

After finally getting Suzy’s hair in a reasonable state, I have turned back towards her rigging. Rigging a character is a challenging process, and there are people in the industry that work mainly, or solely, rigging characters and creating animations with those rigs. I knew that this was going to be a difficult step in the ever evolving process. So I devised a strategy for setting up Suzy, and if all went well (spoiler: it didn’t), we would use this process for all of the characters in our games.

Originally, animation was going to be performed in a combination of programs. For Suzy’s facial animations, I had planned on using Blender to take advantage of Rigify via the UE2Rigify plugin. That fell through when I discovered that the facial animation keys were not being baked to the source rig. No baked keys means no facial animations in the exported animation sequences. Not ideal, clearly.

For the ‘macro’ animations I had planned on using Cascadeur. This software not only allows you to rig your characters and animate them, but it also performs physics simulations to ensure that your animations are reasonably accurate. I was really excited about learning Cascadeur and animating Suzy with it. That fell through when I discovered that there is a limit of 128 bones in your skeleton. Suzy’s skeleton is over 200. I thought that I may be able to work around that by removing many of the bones in Suzy’s skeleton and using the simplified skeleton in Cascadeur. Not ideal, but it would have worked.

Not being able to animate Suzy’s face was a real show-stopper, though, and forced me to look into other technologies. That led me to take a closer look at ‘Control Rig’, a plugin developed by Epic to allow game developers the ability to fully rig and animate their characters directly in the Unreal editor. I had taken a brief look at it in the past, but foolishly dismissed it. “I’m going to use Blender or Cascadeur“, I though to myself, “so, what would I need this for?” On top of that, Control Rig was experimental, so there was no guarantee that Epic would continue to include the plugin with the editor. Definitely not ideal.

But, in desperation I turned back to Control Rig, and I am glad I did. After looking further into it, I can see that it will give us substantial benefits. By creating the rig IN the editor, it will allow us to animate directly in the editor and save those NLA sequences as separate assets. Because we are using the editor as a DCC tool, we are assured that all of the scale and rotation issues that may crop up from external DCC software are a non-issue. But the biggest advantage of Control Rig is the fact that a developer that is creating character assets to sell on the marketplace will be able to include the rig along with the rest of the assets that make up the character. The customer will be able to create their own custom animations with the exact same rig used to generate the original animation sequences that are supplied with the asset pack. The deciding factor came when Epic’s developers stated in one of the live streams that Control Rig was not going to be dropped. It was being used in the creation of Fortnite, so it was safe to use in our workflow.

By using Control Rig, we will be sure that what we are seeing in our created animation sequences will be exactly what we will get. And, just as importantly, we will be able to supply our marketplace customers with a fully defined rig directly in the editor. That rig will be self-contained in the asset pack, which means we will not have to support rigging the character in multiple (external) DCC packages. The customer will get a full-featured rig and we will only have to support a single DCC package. Now, that is ideal.

Rigging is Hard

I am in the process of creating Suzy, the star Capuchin monkey of the game we have in development. She needs to have accurate movement and the ability to make complex facial animations (Capuchin monkeys are very animated, no pun intended). The rig needed to animate her is very complex, and is the most challenging rig I have ever attempted. This isn’t saying much, because I am an inexperienced technical artist and a terrible animator. Encouraging words, I know.

This has been a long learning process overall. Learning to create the hair effects has been challenging, but fun. It took more time that I anticipated, but this is to be expected when you have to learn not one, but two separate hair systems (Blender and then Houdini). But when it comes to creating the rig, I have essentially jumped head first into the deep end of the pool.

The skeletal structure of the bones need to be defined so that a wide range of movement is possible, without severely distorting the mesh in unrealistic ways. To that end, twist bones are used to make sure that the mesh doesn’t collapse on itself when the arms or legs are moved. There isn’t nearly as much information on correct usage of twist bones for rigging as there is for modeling, so some trial-and-error was necessary.

Hopefully the bone structure that I have defined will be suitable for a wide variety of animations because we plan on selling this asset on the Unreal Engine Marketplace. If Suzy were just going to be used in this game alone, I wouldn’t worry so much about her rigging…I could rig her for our specific use-case. But once she is ‘in the wild’ there is no telling what a developer might do with her.