Wednesday, November 20, 2013

High Quality Game Characters for the Masses


Over the past years Mixamo has devoted it's time and resources to making high quality animation available to everyone with an interest in 3D with an emphasis on game developers.  As we've reached the point where the animation system is as refined as it is, you can throw any bipedal character at it and literally have it animating within a minute, we decided we needed to step back and build up our asset pipeline.  We created the Auto-Rigger so people can upload a bare character mesh to the site and it is rigged based off of the work of industry artists.  Our engineers created a facial tracking system that can create facial animation from anyone with a basic webcam. We have documented support for workflows in various 3D applications and game engines and created scripts to make working with our assets more intuitive once they're out in the wild. Our goal has been to remove as many barriers to using our system as possible, so we looked to the beginning of the pipe and began to wonder how we could get high quality game characters into the hands of devs who don't have the resources to make them.





So came the realization of Fuse.  Our answer has been to develop a custom character creator which gives users the ability to make their own characters that are instantly compatible with the rest of our pipeline as well as versatile in their use elsewhere.  Also we wanted to make sure that it would be able to grow along with the community and be open to advanced users so it's versatility in the amount of possible creations can build to be nearly infinite.


Quality has been the highest priority when creating the base assets for the customizable characters.  We decided we needed to have artists be at the healm of the initial the asset creation but needed a way to make their work modifiable in order to provide end users the ability to change them in useful ways.  

What you see when looking at artist's work on blockbuster game characters is that the work is done in layers.  It starts from a high resolution sculpt in a program such as ZBrush or Mudbox where the artist has the most freedom and then various assets are extracted from there for use on the lower resolution game character mesh.  What happens in between is that the elements are composited on top of each other much like the layers in Photoshop and add up to a final composition.  In our case our layers would be all the features that make a character unique such as skin tone, eye color, facial hair etc.  

This is where our partner Allegorithmic's Substance Designer becomes integral.  Substance Designer is a node based application used to create dynamic procedural textures for use in games.  This made it possible for us to make the composition of the character's texture maps dynamic and modular.  All individual features can be shared between characters and the controls of these features can then be exposed to users in Fuse so they can change the color of highlights in hair or increase the strength of the normal map on the fabric substance applied to the sleeve of their character's jacket.

Then of course there is the 3D meshes and the underlying tech that sparked our interest in making the application as well as inspiring it's name. This is the ability to 'fuse' or connect geometry to eachother on the fly. This gives us the ability to share assets between characters for more variation and more importantly gives us freedom from a solely blend shape based system since we aren't completely reliant on the topology of characters being exactly the same.  The ability to fuse unique geometry to each other gives complete flexibility in character design.  

Next up is local deformation on the meshes so we can give control of individual shapes such as facial features.  More additions are forthcoming; all prioritized based on the voices of our users. It all adds up to an incredibly powerful and fast character creation tool now in the hands of pros, indie devs, and enthusiasts alike.

Help us make Fuse the best tool for the community by participating in our survey.