Overview
This guide will help you use the Dota 2 Template shipped with Substance Designer 3.5 to create and customize Dota 2 characters for the Workshop much more easily than through a traditional workflow.
Installation
- A Dota 2 specific shader for Substance 3D view (a big thank you to Luigi Kavijian and Drew Watts on Polycount for letting me port their fantastic work to SD!).
- A Substance graph (.sbs) and its resources.
- The Axe character model from Dota2.
Upon install, the template and mesh will be saved in your SteamsteamappscommonSubstance DesignersamplesFree Content folder.
The shader will be saved in the right Substance Designer 3.5 folder so you don’t have to worry about it.
If you can’t find the template content in your install, you can download it over here[dl.dropboxusercontent.com].
All you have to do is drag and drop the DOTA_Axe.sbs file in the Substance Designer window or double click on it to open the template.
Simple isn’t it ? Wait for the rest 🙂
Template Overview
Before trying to use the DOTA 2 Template, please take a moment to watch through some of the basic video tutorials and online help available HERE[www.allegorithmic.com] or HERE (if you have a Digital Tutors subscription)[www.digitaltutors.com] to familiarize yourself with Substance Designer and not feel overwhelmed by what will follow.
When opening the DOTA_Axe.sbs file, you will see the graph used for compositing the textures in the main Graph view. There are comments over the most important parts of the graph that explain what each step does.
In the left Explorer view, you can see the content of the package:
- The graph itself
- The Resources folder contains all the textures and masks you need for a DOTA2 material as well as the character (or item) mesh.
- The axe_Resources folder contains textures baked by Substance Designer to help creating the final outputs (Ambient Occlusion, Curvature and World Space Normal map).
Double click on the mesh in the Explorer to display it in the 3D view. If no textures show up on the mesh, right click anywhere in the template graph and click on “View”. Now everything you do will be propagated to the 3D view on your model in real time.
If the mesh looks shiny, it’s probably that the shader is not right. Make sure you have only one material and that it’s using the right shader using the Material menu. (a known issue may create a second material on top of the original one, get rid of it)
By browsing through the graph, you will see that it is actually a pretty accurate recreation of Valve’s Dota2 Texture Guide, step by step, but instead of using XNormal or Maya for the bakes, we can automate all that inside of Substance Designer.
1. The AO bake is blended with a simple plain color.
2. A fake top-lighting is added by using the World Space Normal map bake.
3. A very simple color map is painted and blended as overlay.
4. Small details are added on top of the diffuse using the Curvature bake.
5. The last step involves masking out some parts of the diffuse to add a “worn edges” effect only on metal parts using the curvature bake again.
Our diffuse texture is ready!
All the bakes can be automated in Substance Designer, making the base color map used in step 3 the only part that needs real creation time. You will see in the graph that this color map is actually extremely simple and rough and can be painted in a few minutes only.
In the Axe example, the normal was already existing, but you can bring both your low poly and high poly meshes in the package and bake your Normal map directly inside of SD 3.5.
There are many masks and additional maps in a Dota2 shader.
Having these masks as separate bitmaps is a lot easier when iterating on those. This is why each mask has its own bitmap and the RGBA compositing is done in the graph. It allows you to work on one mask at a time and see the results directly in the 3D view.
If you look closely, you will see that some of these masks don’t even require any specific authoring, they are simply created out of the color map in the graph in a few nodes only.
Using the Template with your own assets
In this part, I will assume your are familiar with the basics of Substance Designer: Baking maps, importing or linking assets and basic graph and nodes understanding.
First you will need to bring your mesh(es) in the package by drag and dropping them in it.
Then you can start baking the maps that will drive the texture compositing by right clicking on your low poly mesh and choosing “Bake Model Information”.
Start by baking the normal map if you don’t have one already, then bake an AO, Curvature and World Space Normal Map.
Be careful when setting the baking options. The normal orientation setting needs to be set to OpenGL for your bakes to work correctly with Dota2 Normal maps.
Once these maps are baked, simply dag and drop them on the existing bitmap nodes to replace their content.
You should now have a final texture that has all the details from your own mesh, but the colors from Axe.
To create this color map, you have a choice: you can paint directly in SD 3.5 by creating a new Bitmap node and using SD’s painting tools, or you can create your color in an external program like Photoshop and import it in the package. You can use the normal map or Curvature as a background guide to see which color should go where.
If you are using Photoshop to paint the Color map, you can link your PSD file by drag and dropping it into the graph. This will allow you to see the changes on your 3D model as soon as you save your PSD.
If you paint inside of SD 3.5, the texture will update automatically with each stroke.
You may have to get rid of the metallic edge part in the end, depending on your object, or you may need to simply modify the mask by updating the keys positions in the gradient node.
For the masks, the choice is yours: You can create them in SD 3.5 by extracting them from the existing elements you have in the graph, or you can paint them in Photoshop or Gimp and simply link the files, like you did for the color map.
You can even simply edit the files that are in the Resources folder directly so you don’t have to import new ones.
When you are happy with the results, simply right click on the graph in the Explorer window and choose Export outputs as bitmaps, done.