Bet that was your face when you saw my new eyebrows!
I’ve heard I’ll be getting a tongue and some shiny new teeth as well, but not yet… Not a priority they say…
What a week and weekend! Black Friday really was a great one this year, allowing me to buy, among other things, the Substance Suite.
But I get ahead of myself, let’s start with week 37 which I dedicated to scripting new rigging tools for myself in Python. Since sharing is caring I extended one of them until it was user friendly enough for anyone to use.
It is a very simple script that allows for easy skinned joints selection based upon your own naming conventions. It’s the first in a range of free scripts I’ll be making available via my new Gumroad, so check it out!
Let’s move on to some art, here’s the first edition of Lech’s new texture, completely generated inside of Substance Designer with procedural eyebrows.
Comparison between new and old.
In the end however, I wasn’t happy with the look of this newly generated texture, I felt it took some of Lech’s personality away, at the very least, it changed it, also, the eyebrows were difficult to control and looked a bit too realistic for my taste.
What happened next, you wouldn’t believe! I split the graphs… Let’s start with the most important part, the skin generator, it simply takes inputs in the form of the textures generated from the high poly and outputs three textures. Albedo, Normal and Rest (R: AO G: Metalness B: Smoothness A: Emissive).
Skin graph click me!
A final note on the above graph for the people interested in the “FaceTemperatureHue” frame to the left, it’s simply a lot of shapes that create a pattern of red, yellow and blue based upon the science of face color areas. Look it up, it really does add a lot of (make sure it’s VERY subtle) interest to the face, which, when it’s half of your character’s body, is very important!
Next up is the eyebrow generator, which is a separate graph that can generate pretty much any kind of eyebrow I can image, it’s a bit clunky and when I start working on a mustache/beard generator I’m going to have to go about it more cleverly. As Neofur was also on Black Friday I’m planning on using the outputs from these to generate a separate texture for the inputs that Neofur needs as well.
Eyebrow graph click me!
Arguably more important than the graph itself is the parameters, here they are in all of their glory, rotating hairs, changing colors, moving, scaling and warping, what else could you need?
Here are three different brows that I’ve generated, once I’ve made the beard and mustache generator I’m probably going to recreate this one as well so I’m counting these as a low priority WIP for now.
Finally we come to this, the least impressive looking graph, it simply takes the bakes textures and inputs them into the skin graph, takes the skin output and blends it together with the eyebrow generator, in the case of Lech I’ve added some extra nose reddening since that fits in with his backstory.
Combine graph click me!
Here are a few steps inside of Unity where I’ve been using the Amplify Shader Editor to put together a custom shader capable of using the textures that Substance Designer has generated for me.
An important part of my workflow is that the UVs of all of our humanoids have the more or less exact same UV-layout, this allows me to use Transform 2D nodes to mask special regions and still know that the graph will work for another character.
Some things are not going to be the exact the same as you may imagine, Lech gets a small nose reddening and someone else may get some work done on a scar, something that is constant is however, lips and the fact that they are never the same size nor do they ever cover the exact same area. This is why there’s an extra, hand authored black and white map to take care of lips and mouth bag.
The final thing I worked on was an Ambrosia substance, not sure about it, why not leave a comment on it on our Facebook page, I’d love to get some input!
If you like this post, then please consider retweeting it or sharing it on Facebook!