Sunday, December 6, 2015

Using Blender, Mixamo Fuse and Substance Painter for 3D Models


The 3D tools available today offer some interesting features and conveniences as compared to what was available even a few years ago. Could your 3D workflow benefit from using one of these tools?








I was extremely interested in trying Mixamo Fuse. The interesting feature behind this free software is its ability to manage humanoid models, clothing and hair. One can use the provided assets that come with the tool, or create their own and import them in the tool. My hope was to be able to create clothing and hair that would be easily shared between a variety of models. What made this even better would be the ability to auto-rig the models using Mixamo's cloud rigging service. In order to test this workflow, I had to make some clothing to import and I wanted to do so from scratch. This meant I needed a 3D modeling program that could create the mesh and export as FBX.




You can find the model here on Sketchfab.
Checkout the timelapse video here.



Blender

While there are more prominent and feature rich 3D Modeling tools, Blender's advantage has always been its price point. Free is always a good thing, especially when you get as much as Blender offers. Not only is the tool capable of generating 3D meshes from scratch, it also offer the ability to UV unrwap, texture paint, animate and render.


Clothing modeled in Blender

Making clothing to import into Fuse isn't very difficult, but I found that it took several tries to get my clothing to import the way I wanted. I started by using Fuse's tutorial for making Custom Clothing and found it extremely helpful. The easiest way for me was to start with the base mesh they provided and either extrude or create the clothing around the base model.

In order to work in Fuse, each piece of clothing must be modeled as its own object within Blender. It must be UV Unwrapped and its a good practice to create an Occlusion Mask as well. The Occlusion Mask was somewhat difficult to get right, but I found that assigning a blank white texture to the base model and Texture Painting black onto the parts of the body I wanted the clothing to hide provided good results.


Fuse

As I mentioned earlier, Fuse provides the ability to share individual pieces of clothing amongst differing humanoid models. This could be a pretty intersting way to manage models used in games as its fast and easy to make permutations. For example, if we model 3 types of pants and 3 types of tops, we have 9 possible outfits that could come out of Fuse with relatively low effort. I like the concept, that I could create a database of clothing and hair to pick from. There were some drawbacks as there often are in 3D modeling, when it comes to objects overlapping. Not all clothing and hair will work together, unless carefully designed in advance.


Gloves, a top, shorts and boots in Fuse prior to assigning materials



Unfortunately my shorts and gloves won't work with some of Fuse's tops

Fuse uses a color map to distinguish between materials on the clothing objects. For example, if I had a designed a medieval breastplate, I might have one material for the metal and one material for leather straps. The metal would be painted a single color like red and the leather would be painted green. This allows you to assign different materials to your clothing based on the color map. Fuse even supports Substances that can be exported from Substance Designer and tweaked within the tool.

While I was able to texture paint in Blender to differentiate between the different materials of the clothing, I found that it was much easier to add detail and modify the normals of the clothing (for things like wrinkles in the cloth) in Substance Designer. So I opted to just paint the entirety of the clothing a simple red. This told Fuse to treat the clothing as a single material. After the clothing and hair were imported and working in Fuse (positioned properly and no visible parts of the body poking through), I uploaded my model to the cloud directly from Fuse. Within a few minutes I was able to download it as an FBX with some Mixamo animations. Let me tell you, I greatly appreciate being able to skip the skinning and rigging step that would normally be required to animate a model.


Substance Painter

You could setup materials within Fuse and export from there, but I really wanted to see what Substance Painter could add to the workflow. An alternative method could involve using Substance Painter to paint the model after exporting from Fuse and saving the Substances back into Substance Designer. Then you'd have to reload them into Fuse and that could become another time consuming loop. I decided to just import my model and textures into Substance Painter to fix them up and export them for use in Unity.

The main benefit of Substance Painter is that it can create very detailed and interesting textures. The tool makes it easy to paint details and patterns on clothing in both 3D and 2D views. Overall I was extremely impressed, though the software did suffer from occasional slowdowns. You'll need a fairly powerful graphics card in order to run it smoothly. My old GTX460 was slightly lacking.


Substance Painter is great for 3D texturing and PBR

Physically Based Rendering (PBR) with the Standard Shader was a new feature added in Unity 5. The graphic fidelity of the game engine improved drastically with the new approach. In order to take advantage of the improved rendering capabilities, we need to be able to generate some extra maps. Substance Painter made it incredibly easy to generate a new Albedo, Metallic and Normal map while painting directly onto the model. No baking required. I was very impressed with the quality that was obtainable, even by myself, a novice to the tool.


Unity

From Substance Painter, I exported a new Albedo, Metallic and Normal map for my clothing. I used the FBX model with some animations that came from Mixamo's Cloud rigging and replaced the original textures with the new ones painted in Substance.


Model in Unity with Substance Painter textures

Again, I'm pretty impressed with what's possible using these tool sets. Blender, Fuse and Unity are all free tools that can produce professional quality work. Substance Painter can be purchased as part of the Substance Live package from Allegorithmic for a reasonable price. I hope this post can be helpful for others who are also experimenting with workflows using the tools available for someone who doesn't have a professional size budget.

Using Mixamo makes it easy to get a Mecanim compatible model animated quickly within Unity


No comments:

Post a Comment