Hi everyone! Welcome to another blog post on the Spell Sisters game, which will be entirely focused on texturing this time around! My role in the asset production has come to a close after the texturing and exporting of the models and textures, as another team member is in charge of the animation stage of the pipeline. I have fulfilled my role extensively to the game’s specified brief completely and the Lead Game Designer, as well as the other team members, are very satisfied with my contribution. This post will be working on documenting my texturing workflow I used in the game’s production pipeline and wrapping up my contribution to the project overall. I have textured all the assets for the game, so there might be a bit to cover, so bear with me!
Texturing the Characters
I used Substance Painter to texture all of the game assets – it’s an amazing program and I have found it has improved my workflow immensely. It was easy to produce work on scope and to time constraints with this program, as I didn’t actually have too much time to texture – definitely not as much time as I would have liked! But with Substance, I didn’t have to sacrifice quality in the face of the project deadlines. It was really easy to get nice results.
To start off with, I had to create an ID map to use within Substance which would allow me to mask off certain sections of the model and paint them selectively. This is a vital step in the pipeline, as it allows for a much smoother and efficient workflow while texturing. You can see my ID maps below.
With the ID map done, I exported the unwrapped Models as an obj file from max. I then imported both the obj and the normal map into Substance. Painting with a normal map applied is immensely useful, and greatly aids in adding that extra detail, however subtle.
It would take me thousands of words to fully explain how powerful substance is, so I’m only going to outline what was the most important in my texturing process. Painter utilizes a layer system with some really great options, including the colour id mask, which I used and then added a fill layer to. This was a really quick way of getting skin down. Fill layers are always the base I use for each separate piece of geometry. I then add as many paint layers as I need on top to create the needed details. As an example, I use the base layer uniform skin on the fill layer.
I then add a paint layer for shadows, highlights, cool and warm areas, skin pores and imperfections. I then add a blend layer to bring it all together. I use a similar process for all of the elements on the characters.
The great thing about substance is that every time I paint, I can use varying levels of metallic, roughness and height to determine surface properties. This makes the texturing process run a lot faster. Substance also allows for different blending modes for layers and opacity levels. For example, on the shadows I might use multiply, and on a dirt pass I could lower the opacity to make the aesthetic more or less intense.
Once I was done with the textures on both of the character models, there was one last step. I made two separate substance files for the Ghost and Older Sister, in which I changes the saturation on the clothes, shoes and eyes using the filter option to create an orange team diffuse map. Some layers required level adjustments to get the colours looking right, but the process was relatively easy.
Now that all the textures were done, both for the orange and blue team, it was time to export them from substance. Substance has an excellent export system, im which you can choose the pipeline’s specifications that youd wish to export to. I exported the maps with the Unity 5 preset, which is the engine the game will run on.
The exported maps were – Albedo, Specular/Smoothness and a new normal map, which incorporated the height detail I had added within substance to the original normal map. Unity uses a different shader rather than Unreal, which is what Im used to. Instead of metallic/specular being separate to roughness/smoothness (Unity uses smoothness instead of roughness), the maps are combined in the export, and using the specular shader rather than the standard (standard utilizes metallic, which isnt the best for character models), Unity is able to read the smoothness and specular value from the map. You can see the maps used below.
The Albedo Maps are pictured above. One for each team member.
The Normal Maps exported from Substance. The new detail added was skin pores, so it is far too small to see from far away.
The Spec/Smoothness Maps.
I also created an emissive map for the Ghost Girl, which the game students wanted to have a mouth and eyes that glowed red. The emissive map was created by simply colouring the areas I wanted to glow in red, and making the rest of the map complete black. When put into the emissive channel in Unity, it glows really nicely. You can see the map below:
I imported all the required assets into Unity when all the textures were ready, and set up all the shaders correctly. For the characters, I used the specular setup on the standard shader, as that worked better than a metallic workflow. (I experimented with the metallic/smoothness maps, and they didn’t acheive the result I was looking for.)
Above you can see some of the shaders I set up in unity.
The Orange Team.
The Blue Team.
The two teams!
Texturing the Wall and Hedge
The Wall Hedge asset is not actually my model – another team member modelled this, and as a last minute task, I took on the texturing job so he could focus on the animations for the characters.
I had never actually textured any sort of environmental asset before in substance, so I was excited to texture this asset. I used mostly the same pipeline as I did with the characters, with just a few changes.
I created an ID map as usual:
Within substance, I created a fill layer and used the “Brick” material on the wall part of the asset (the green ID colour). This added height detail and a glossier surface. From there, I tweaked the wall to be the colour I wanted and added dirt and scratches to the surface on other paint layers. I also added highlights and shadows, as usual.
I took a bit of a detour from substance for the making of the normal map of the hedge. I got a seamless, tileable hedge texture free for personal use:
I brought this image into ShaderMap, an awesome program which I recently bought. It creates normal, displacement, specular and AO maps from images. I used it to create a normal map from the hedge image, and here’s what I came out with:
Awesome normal map! I composited this into the normal map from Substance, bought the new normal map back in so I could paint more detail in using the help of the normal map on the hedge, and then I was done! I exported the textures using slightly different settings from the characters maps – instead of Specular/Smoothness, I used Metallic/Smoothness, which simply worked better for this sort of asset.
And here’s the final product in unity! I used the standard shader for this asset, not the specular setup.
I learned so much from texturing these assets, especially about PBR shading in relation to Unity 5. I had a lot of fun with these assets, and it was great seeing them come to life! Now that all the texturing is done, my role in the project has come to an end. I delivered all the assets to the specified brief for the games students, and even took on extra responsibilities than intended. All of the assets produced were kept within the style of the game, and they all served the end project vision. I was able to tweak the assets to suit the project’s changing needs, and make any changes the games students requested. At first, the game was leaning towards the horror genre, but when the game changed, I was able to meet the new brief with the existing assets and simply modify them to better suit the games new requirements. I have now handed over all the assets and textures, and they have been implemented into the game. The group is very happy with my contribution, and I have really enjoyed providing assets for this project.