Tutorials MossCreationWithSubstanceDesigner Final
Tutorials MossCreationWithSubstanceDesigner Final
Engine
Table of Contents Introduction
Reference Hunting Unreal Engine In this little tutorial we will be taking a look at how we can make a
Moss material using Substance Designer and then making it look
good with some simple shader magic inside of Unreal Engine. This
References? In-engine setup
Tutorial will not be going super deep in all the different aspects as
01 Introduction 5 01 Testing the output of the Substance 19 some of them might be simple to setup for yourself with some
easy to find tutorials or explanations from the Unreal Engine Wiki
02 Using Megascans as a base 5 02 The master material and parameters 19 or other sources.
03 Parallax occlusion mapping node 19
Substance Designer Hopefully this short but sweet little tutorial will help you make
04 Fuzzy shading node 19 your own moss for your environments.
Get started in Substance 05 Master material overview 20
2 3
Moss for Unreal Engine | Reference Hunting Moss for Unreal Engine | Reference Hunting Moss for Unreal Engine
References?
01 Introduction 02 Using Megascans as a base
Reference hunting and using them is a big part of creating a The best example to get closer to more realistic result is using
believable materials, you might have gotten bored of sections like Megascans or other forms of scanned data that give us insight into
this one by now from other tutorials but this is because a lot of the values of the different textures and how they are composed,
people are trying to hammer this into your mind. There is a good this will give you a batter indication on how to build a good
reason for that, if you get good references, then this will help you roughness or height map for your textures. Additionally you can
get close to the proportions, details and other important elements also have a look at other people's work to get even more insight
of that specific prop, environment or in this case, material. into how they have setup their individual maps.
It’s important to take a step back and see what we need out of the
reference, so I was specifically looking for the different shapes that
moss has and trying to find closeup views that really show the
smaller details of the individual moss strands, this will make a nice
base for the moss wall that I was looking to create. Other than that
I was also looking for the main shapes for the individual chunks of
Reference
moss that you can typically see on those moss walls.
01 Hunting
Megascans reference - Roughness Megascans reference - Basecolor
5
Moss for Unreal Engine | Substance Designer
04 Focus on the Heightmap
Get started in Substance
When building the material you want to start out with the
01 Getting started in substance heightmap, because you are going to build up all the masks and
information you might need for all the other texture maps.
This can probably be the most daunting thing if you haven't
worked with substance designer or any node based editor before. So start building the height first and then looking how we can get
But don't worry about it, take your time to do some research, the other textures from this texture. This allows us not to get
watch some of the introduction videos that allegoritmic does, they distracted by all the other stuff happening in substance designer,
help a ton to get you up to speed. This is also the reason why for this moment we will add some
placeholder colors to Metallic, roughness and Basecolor, these
We wont be doing a deep dive into all the information that you should be changed to your personal preference though, we do this
need for a fresh start in substance designer so this will require so we can visualize the texture maps properly and if we do this with
some former knowledge. Hopefully what I will do in this little the same setting every time this will help you even more to focus on
tutorial is give you some additional insight in some of the other the heightmap first.
things you can do to make your life in Substance Designer a bit
easier too.
First let’s see if we can add a base layout to get you started. For this
we need to have a look at setting up a base template like the one
we have below. Keep in mind that this is just an example of the
setup you can make, and is meant to serve as a good starting point.
Then for the maps we will be using this being Height, Normal and
Ambient Occlusion we connect everything to a levels node which
will act as a reroute node for us to attach all the other nodes to.
Substance
#02
Tip! #01
02 Designer
Select the connection between two nodes
#01 and press “Space” to open a menu
which will allow you to search for nodes
#02 and will then add them as a node on
the connection you have just selected #03.
7
Moss for Unreal Engine Moss for Unreal Engine| Substance Designer
05 Taking your time to get familiar
As mentioned before this tutorial will not go into all of the details
Tip!
on how to get started when creating materials, so I’m making the
assumption that you already have a base knowledge of the Create a new template:
program itself.
#01 Create a new substance designer file
with the correct outputs (found in the
The main thing you need to get used to is taking your time to
properly get started with the program, the way you blend stuff
nodes menu) and save this file In a #03
together and all the other things that comes with it. However, we location where you want to store it.
are going to look into some tips and tricks that will help you create #02 Link to the folder within the substance
better and more optimized materials as well as speed up your graph directory by going to Preferences > #04
workflow. Projects > General > Substance Templates.
#03 Now when you create a new material
06 Additive or subtractive work the template will be available to add from #01
a list.
The most important thing to
keep in mind when starting “… Try and see your #02
out with substance designer is #01
the manner in which you
material as you
work, either you work in a way would see a sculpt,
that you start with the you need to build it
minimum amount of height up layer by layer ...”
and then start adding layer on
top of it (Additive) or the other
way around, which is probably less used Is working in a way where
you start with the maximum height and that subtracting layer from
the main layer. Most people will use the additive way of working as
it might be the easiest way to get into this.
07 Exporting to SBSAR
This is where the power comes in with exporting materials to your
game engine, this type of format will allow you to use all the
parameters of the procedural nature of the material creation and
create quick variations or do minor adjustments on the material
without going back into substance designer.
8 9
Moss for Unreal Engine | Substance Designer Moss for Unreal Engine | Substance Designer
For this we use the same texture as the main branch and throw it
into a “transformation 2D”, this allows us to transform whatever
we use an the input, in this we can scale,move and rotate the shape
we give it to using the 2D preview screen and use the box do do the
transformation. #02
10 11
Moss for Unreal Engine | Substance Designer Moss for Unreal Engine | Substance Designer
03 Combining the different tile samplers
Tile sampler setup
Now that we have the different tile samplers setup, we will have to
This is the probably the sections where the most stuff happens go back to before the tile samplers if we want to build up the masks
even though it's only a single node that holds all the fun, in this to generate the separate sections of moss. To start out we will need
#01
section we will be looking at the tile sampler node, one of the more the Spheroid base mask that we generated in the section before
powerful nodes if you are thinking about spreading a lot of things this one and try to turn that in a mask that we can use to generate
around on texture. the random patches of moss.
01 Different tile samplers For these masks I used the “The floodfill node is
flood fill method, so that this super powerfull and
Now that we have prepared all “… Tile samplers are does is that it will take a mask
the different shapes that we
the bread and and will fill it with a fill that will can be used for a
will be using for the tile allow us to perform different lot of applications, I
samplers we will have a look on butter of most of my operations on this mask. the still need to figure
how to set them up. So let’s materials, this node way that this works in this case out more myself...”
connect the first shape to the is so fun to play is that I will turn this Spheroid
first tile sampler and get to around with ...” base mask into a flat black and white mask with an edge detect set
work! Probably the first thing to a low value. We then use a flood fill to generate the initial step
you notice is that it’s not picking up the shape and it’s still and then use a flood fill to Random colors, this will give us exactly
displaying the base shape. We can change this in the “Pattern” what we need to generate the different masks with the following
section of the tile sampler and set this to “pattern input”. There section.
are a lot of other shapes that we can use to preview the spread and
amount of the sampler if we aren’t using our own shape yet. So now that we have the randomized gradient we need to extract
the different sections another node called a Histogram select, this
Now when it comes to the important settings there are a TON of will scan the values in a texture and will then include them in the
different options within this node, which is also why it makes it one mask if they are in "range" of a "position" on the black and white
of my favorite nodes to use and listing them all below would be a scale. All we need to do now is turn up the contrast to 1 to fully get
little awkward as you can just look them up in the official a black and white mask.
documentation anyways. So what I would suggest is that you play
around with all the settings yourself and see what is the most We can then use the first “There are multiple
useful for yourself. histogram select for the first
tile sampler, a subtraction of ways of getting
02 Tile sampler options the first histogram scan from these masks and
the second one and for the blending them
Some of the basics to just get started are the amount of shapes we third one we use a combination together, make sure
want to spawn, controlling both the X and Y amount with the #01 of the first and second to experiment...”
parameters with the same name. As mentioned before we can histogram scan and subtract
change the shape with the “Pattern” dropdown menu, we can that from the third histogram scan.
also add multiple of these custom shapes by adjusting the
“Pattern Input Number”. Some of the other more basic options as Then finally we can just add them together into one nice mask by
seen in picture #01 are things like changing the “size”, “Random just adding the different sections on top of each other with some
Size”, “Scale”, “Scale Random”, etc... But these kind of speak for blend nodes set to “Add”. Then to finish it off we can just add an
themselves and are just fun to play around with when testing “Auto levels” node to adjust some of the levels and balance them
things for yourself. some more.
#02 shows another fun one to use if the “Mask random” this neat
little option allows you to create some randomness within the
amount of shapes that we spawn, this will add the random look of
it, most of the time I add a small amount of this just to create a little
bit of variation.
Some of the other options that are really fun to work with are thing
like “Color Random” in #03 which allows you so assign a random
random color to it, so for example for this moss material I use it set
to white and then push the randomness to the max. This will then
create the variation between the whites and instead of having the
one layer where everything is the same value and will thus create
different layers.
#02
#03
Tip! #01
03 Roughness setup And finally the most simple section of all, we can feed the
heightmap information that we got from the previous section
straight into an Ambient Occlusion (HBOA) node, giving you control
So in the base color section we looked into using gradient maps to
over the amount of AO with some simple controls like the scale of
add some color into the result of the height map, but we can also
the texture itself, the depth that you want in the texture and the
set it to be using gray scale instead of color. This makes it perfect to
radius or spread of the “Ambient Occlusion”.
use for the roughness map too. We basically use the same way of
working as we did in the base color part, we take all the results of
the Tile Samplers and then feed them into the Gradient maps and 07 Exporting as SBSAR
blend them afterwards. Then there is some additional stuff that I do
at the end, the overall look and feel was way too shiny for moss so So now that the setup for the
I just added an Invert Gray scale and then add a levels node to add material is done we can have a “… SBSAR will create
some more control for me to play around with. look at some of the options the needed hiarchy
that we can change before we and texture setup
04 Normal map output publish (or export) the material for Unreal Engine as
#03 to Unreal Engine and start soon as you import it #08
testing it. The main one that we
Then we get to the more easy stuff to setup, especially for this moss
need to look at here is the ...”
example. What we can do for the normal map is get the information
“Output Size” and will determine the size of the final texture that
from the height maps and run that through a "Normal" node, this
are being exported out.
node then gives you control for the intensity of the normal map #01
itself. To add some more variation to the normal map we can add
an additional normal node and then blend those two together with 08 Exporting as normal textures
a blend node with some of the moss sections as the mask. This will
add some additional subtle detail in the normal map texture. The But if you aren’t looking for exporting as an SBSAR (I don’t really
last thing we need to do in this got specific cases for this but you might have to at certain points
“… The normal map section is add in the base though! ) We can do this by going to the moss material in the
node gives you full structure of the moss. So we can explorer section and right clicking on the material name, in my
control over the sample this from the material in case this is “Moss” and then selecting “Export outputs as
the beginning in the Spheroid bitmaps”.
intensity based on base section. We can then add
the size of the all the details off the moss This will then give us the options that we need toe xport all the
texture ...” strands to the base texture of outputs as different bitmaps.
the Spheroid base texture.
#04
05 Height output
#02
So we have the final height output for all the moss sections
combined and the final height texture from the Spheroid base
texture, so let's combine both of these sections. Let's start with
doing some minor adjustments to the Spheroid base texture first
by running it through an Auto levels node to balance the black and
white values, then balance it with a levels node and then blurring it
a bit to smoothen it out a bit more.
Tip!
We can create parameters and use them
This is all done to my personal needs for the texture to blend it with in Unreal Engine, for this we need to make
the moss texture strand texture. All these adjustments like the the values that we want to adjust
levels node are added after the fact when I realize that I want to go
in and manually balance the output a bit more. Same goes for the
parameters first within the nodes that we
last levels node right before the output node, which is something want to adjust (example uses the “Noise”
that I balance by getting the material into the game once all the node) #01 we can then find them in the
textures are done and then go in and tweak it to my needs. properties and export panel panel #02#03
#05
16 17
Moss for Unreal Engine | Substance Designer
In-engine setup
Now that the material inside of substance Designer is done it's time
to have a look at the texture inside of Unreal Engine, this section
will talk on setting up the material in the Engine with a focus on the
fuzzy shading node, which will greatly help the look of our
materials.
Then once we have the basic material (or the master material in this
case) we can make a material instance by right clicking on the
master material and selecting “Create Material Instance”
After we have set up this node we can then link it up with the
different UV inputs of all of our textures to get the desired effect,
you might want to play around with making all the values
parameters and playing with the material instances instead of the
main material. This will greatly speed up the whole process.
Unreal
edges will shine a bit more than the core of the material, so this
works really nice with the blobby base of our material.
03
Maybe a better way to understand for people that recognize the
work "Fresnel" this is basically what it does as well as some other
stuff too. With this node we can control the edge brightness (The
Engine
Fresnel), the core darkness and the power of both. Let's add the
"Fuzzy Shading" node for both the Basecolor and the Ambient
Occlusion, then make use of the "Promote to Parameter" trick
once more to create some quick parameters. I loved testing them
separately, so this is also why I added two separate sets of
parameters for the fuzzy shading nodes.
#04
19
Moss for Unreal Engine | Substance Designer
#05
20