PBR Volume 02 Rev05

Download as pdf or txt
Download as pdf or txt
You are on page 1of 31

The Comprehensive PBR Guide

by Allegorithmic - vol. 2
Light and Matter : Practical guidelines for creating PBR textures
Cover by Gaëtan Lassagne, written by Wes McDermott
Table of Contents
• What is PBR? - 3 • Maps common to both workflows - 18

What are the benefits? - 3 Ambient Occlusion - 18

What does it mean for the artist? - 3 Creating Ambient Occlusion - 18

• Metal/Roughness Workflow- 3 Height - 19

Dielectric F0 - 5 Creating Height - 19

Base Color - 5 Normal - 21

Creation Guidelines - 6 Creating Normal - 21

Metallic - 7 • Substance PBR Utilities - 22

Creation Guidelines - 8 Materials - 22

Raw Metal - 8 Bitmap2Material3 - 22

Corroded or dielectricl layer - 9 PBR Base Material - 22

Roughness - 10 PBR Substance Materials - 23

Creation Guidelines - 11 Reflectance Values - 23

Resolution and Texel Density - 11 Dielectric F0 - 23

Creation Guidelines - 12 Metal Reflectance - 23

Pros and Cons of Metal/Roughness Workflow - 12 Correction - 24

• Specular/Glossiness Workflow- 13 PBR Metal/Roughness Validate - 24

Diffuse - 13 PBR Safe Color - 25

Creation Guidelines - 13 Conversion - 25

Specular - 14 Metal/rough to Spec/Gloss - 25

Creation Guidelines - 14 • Appendix - Charts - 26

Raw Metal - 14 Is the surface metal? - 26

Dielectric - 15 Reflectance Values - 27

Glossiness - 16 Correct/Incorrect Comparisons - 28

Creation Guidelines - 16

Resolution and Texel Density - 16

Creation Guidelines - 17

Pros and Cons of Specular/Glossiness Workflow - 17

Technical edit by: Nicolas Wirrmann and Jeremie Noguer

Copy edit by: Alexandre Bagard

Page 1 vol. 2 - Practical guidelines for creating PBR textures


Light and Matter
Practical guidelines for creating PBR textures
Physically Based Rendering (PBR) can be thought of as more of a methodology than a hard standard. There are
specific principles and guidelines, but not a true standard and thus there can be different implementations. These
differences can typically be found in the map types used i.e. the workflow, the BRDF and how data values for
roughness/glossiness could be remapped for customized implementations. There are even implementations that
change the map names, but the underlying usage is still the same.
In this guide we will discuss the two most common workflows, which are metal/roughness and specular/glossiness as
shown in figure 01. The Substance toolset for authoring PBR maps, which is comprised of Substance Designer,
Substance Painter and Bitmap2Material 3, support both workflows. The Substance PBR shaders for metal/roughness
and specular/glossiness use GGX BRDF and do not utilize any value remapping for roughness/glossiness. However, if
any custom remapping is needed, this can easily be implemented in the Substance material. Furthermore, custom
shaders are supported in the Substance toolset, which means you can adapt Substance to any customized pipeline.
It’s important to state that while both workflows each have pros and cons in their implementation, one workflow is not
particularly better than the other. What is truly important is that you understand the core principles behind PBR. It’s
the concepts and guidelines that make the PBR maps you author accurate and not the workflow itself. The workflows
represent the same data, but they implement the data in different ways.
In Volume One of "The Comprehensive PBR Guide," we defined PBR from a technical and theoretical standpoint. In
this 2nd Volume, we will discuss the practical application of authoring PBR textures and provide a set of guidelines that
are based on the foundations established in Volume One. We will begin by redefining PBR from an artistic perspective.
From there, we will discuss the metal/roughness workflow to address the principles and guidelines. We will then follow
up with the specular/glossiness workflow and only detail the differences in the authoring methods. Therefore, it is best
to read through both workflows to get a full idea of the overall guidelines for authoring PBR textures.

Figure 01

vol.2 - Practical guidelines for creating PBR textures Page 2


What is PBR?
Physically Based Rendering (PBR) is a method of shading and rendering that provides a more accurate representation
of how light interacts with surfaces. It can be referred to as Physically Based Rendering (PBR) or Physically Based
Shading (PBS). Depending on what aspect of the pipeline is being discussed, PBS is usually specific to shading
concepts and PBR specific to rendering and lighting. However, both terms describe on a whole, the process of
representing assets from a physically accurate standpoint.

What are the benefits?


We can view the benefits of PBR from an artistic and production efficiency mindset, which are as follows.

1. It can be easier to create realistic assets as it removes the guesswork of authoring surface attributes such as
specularity since the methodology and algorithms are based on physically accurate formulas.
2. Assets will look accurate in all lighting conditions.
3. Provides a workflow for creating consistent artwork, even between different artists.

What does it mean for the artist?


We as artists need to think differently about the maps that describe the attributes of a surface. There are new map
types with rules and guidelines to follow.
We need to throw out the concepts of diffuse and specular maps from traditional rendering workflows. These maps
only served as workarounds so to speak for approximating light interaction with materials. Advances in computer
hardware and rendering allow us to now more closely simulate the physics of light.
In PBR, the shader handles the heavy physics lifting through Energy Conservation and BRDF, while we as artists create
maps that are guided by physics principles. It takes out the guesswork of material values and allows us, as artists, to
spend more time in the creative aspects of texturing. While it is important to adhere to guidelines and author maps
correctly, it doesn't mean that we now have to disregard our artist intuition. In fact, it’s the artistic perspective that
truly brings character to a material, revealing its story through carefully crafted detail and expression. It’s important
not too get overly caught up in the physics. Just because we are working in a more physically accurate environment, it
doesn't mean that we can't do stylized art as well. For example, Disney's physically based reflectance model was
designed to be a "principled" approach meaning that it was geared more towards art direction rather than a strictly
physical model. So we should know the principles and utilize the guidelines, but not be slaves to them.

We as artists need to think differently about the maps that describe the
attributes of a surface. There are new map types with rules and guidelines
to follow.
Metal/Roughness Workflow
The metal/roughness workflow is defined
through a set of channels, which are fed as
textures to a sampler in the PBR shader. The
maps specific to the metal/roughness
workflow are base color, metallic and
roughness as shown in figure 02 and we will
discuss each of these map types in the sub-
sections below. The PBR shader will also
utilize ambient occlusion, normal and possibly
height for parallax mapping as shown in
figure 03. These map types are common to
both workflows and will be discussed in the
"Maps common to both workflows" section.
In the metal/roughness workflow, the
reflectance value for metals are placed in the
base color map along with the reflected color
for dielectrics and the reflection at grazing Figure 02

Page 3 vol. 2 - Practical guidelines for creating PBR textures


angles is handled by the BRDF. A metallic map is utilized, diffuse (reflected color) and specular balance are
which works like a mask to differentiate metal and controlled through the metallic mask, which means you
dielectric data found in the base color map. The dielectric can’t create a situation where the diffuse and specular
F0 values are not authored by hand as the shader can combine to reflect/refract more light than is initially
handles them. When the shader sees black in the metal received.
map, it treats that corresponding area in the base color
map as dielectric and uses a 4%
(0.04) reflectance value as shown in
figure 04. As we discussed in Volume
One, the 4% value covers most
common dielectric materials. It’s
important to note that all values, such
as dielectric F0, metal reflectance and
brightness ranges for albedo color, are
derived from actual measured data. As
we look at each map type, guidelines
will be discussed, which are based on
measured data.
In Volume One, we discussed the
notion of energy conservation where
the light reflected off the surface will
never be more intense than it was
before it hit the surface. In terms of
implementation, the shader typically
handles the control of energy Figure 03
conservation, which is the case with
Substance. With the metal/roughness workflow it is not
possible to break the law of energy conservation. The

The reflectance value for metals are placed in the base color map along
with the reflected color for dielectrics

Figure 04

vol.2 - Practical guidelines for creating PBR textures Page 4


Dielectric F0
The F0 for common dielectric
materials is typically set to 0.04
(linear) 4% reflective. In the metal/
roughness workflow, this value is
hardcoded in the shader at this 4%
value.

Some metal/roughness
implementations such as those found
in the Substance toolset and Unreal
Engine 4 have a specular control,
which allows the artist to change the
constant F0 value for dielectrics. In
Substance, this output is labeled as
"specularLevel" and is supplied by a
texture sampler in the metal/
roughness PBR shader. It represents
the range of 0.0 - 0.08 as shown in
Conversions from sRGB to linear were done using the gamma 2.2
figure 05. This range is remapped in Figure 05 approximation. See linear space rendering in Vol.1 for more details.
the shader to 0.0-1.0 where 0.5
represents 4% reflective

If you need to manually set the F0 for a dielectric, you can do so using the "specularLevel" output in the Substance
graph within Substance Designer as shown in figure 06. We will discuss F0 for dielectrics in depth in the specular/
glossiness workflow as you have full control over F0 in the specular workflow.

Figure 06

Base Color (RGB - sRGB)


The base color map is an RGB map that can contain 2 types of data: reflected color for dielectrics and reflectance
values for metals as shown in figure 07. The color that represents dielectrics represents reflected wavelengths as
discussed in Volume One. The reflectance values are present if an area is denoted as metal in the metallic map.

Page 5 vol. 2 - Practical guidelines for creating PBR textures


Creation Guidelines
The base color map can be thought of as
somewhat flat in tonality i.e. lower
contrast than a traditional diffuse map.
You don't want to have values too bright
or too dark. Objects are actually much
lighter in terms of tone than we may
remember them in our minds. We can
visualize this range in terms of the
darkest substance being coal and the
brightest being fresh white snow. For
example, coal is dark, but it is not 0.0
black. The color values we choose need
to stay within a brightness range. In
regards to brightness ranges, I am
mostly referring to dielectric reflected
color. In figure 08, you can see an
example where the dirt value has fallen
below the correct brightness range. For Figure 07
dark values, you should not go under 30
- 50 sRGB. The range for dark values could be more We stated that the base color contains data for reflected
tolerant at 30 sRGB and stricter at 50 sRGB. For bright light in terms of dielectric materials and thus it should be
colors, you should not have any values that go above 240 devoid of lighting information such as ambient occlusion.
sRGB. There can be exceptions for adding micro-occlusion in
cases where the shader would not be able
to represent this level of detail with only
an ambient occlusion channel as shown in
figure 09. However, if micro-occlusion is
added to the map, it still needs to be
governed by the brightness ranges.
The values in the map that indicate the
reflectance values for metals should be
obtained from real-world measured values.
These values are going to be around
70-100% specular, which we can map to
an sRGB range of 180-255. In the
Substance PBR Utilities section, we will
discuss tools that provide preset F0 values
for common materials. Also, the metal/
roughness charts provided by Sébastien
Lagarde are great resources as well.
Figure 08 http://
seblagarde.wordpress.com/2014/04/14/
dontnod-physically-based-rendering-chart-
for-unreal-engine-4/

Values that indicate the


reflectance values for
metals should be
obtained from real-
world measured values

Figure 09

vol.2 - Practical guidelines for creating PBR textures Page 6


1. Color represents albedo for non-metal materials and reflectance values for metals.

2. Base color should be devoid of lighting information with the exception of micro-occlusion.

3. Dark values should not go below 30 sRGB (tolerant range) - 50 sRGB (strict range).

4. Bright values should not go above 240 sRGB.

5. Reflectance for raw metal is going to be high in the range of 70-100% specular, which we can map to 180-255
sRGB.

As you will read in the Metallic section below, the base color also can contain metal reflectance values. If dirt or
oxidation is added to the base color, then this will cause the metal reflectance value to be lowered to a range that
should not be considered as raw metal. The addition of dirt or oxidation must also be accounted for in the metallic
map. The metallic map value must then also be lowered in these areas to denote it is no longer being considered as
raw metal. For example, in figure 10 you can see that rusted metal is treated as dielectric and set to black in the
metallic map.

The metallic map operates similarly to a mask as it tells the shader how it
should interpret data found in the base color.

Figure 10

Metallic (Grayscale - Linear)


The metallic map is used to define which areas of a material denote raw metal. The metallic map is a grayscale map. It
operates similarly to a mask as it tells the shader how it should interpret data found in the base color. The data in the
metallic map doesn’t contain real-world data that is directly used as material value. It simply describes to the shader
which areas in the base color should be interpreted as reflected color (dielectric) and which areas denote metal
reflectance values. In the metallic map, 0.0 (black - 0 sRGB) represents non-metal and 1.0 (white - 255 sRGB)
represents raw metal. In terms of defining raw metal and non-metal, this metallic map is often binary i.e. black or
white, metal or non-metal. In practice, when the shader looks at the metal map and sees white, it then checks the
corresponding areas in the base color map to get the reflectance values for the metal as shown in figure 11.

Page 7 vol. 2 - Practical guidelines for creating PBR textures


Figure 11

Creation Guidelines
Metal surfaces have two important aspects as it relates to texturing, which are that their reflectance values are going
to be high in the range of 70-100% specular and some metals can be corroded. We will look at these two aspects
individually as we discuss the creation guidelines.

For metal areas that fall in this range, they will need to have a reflectance
range of 70-100% reflective

Raw Metal
The metal map is to be authored
as 0 or 1, metal or not, and is
used to define a raw, polished
metal state. As a general guide,
the grayscale range for raw metal
will be defined as 235 – 255 sRGB
in the metal map. For metal areas
that fall in this range, they will
need to have a reflectance range
of 70-100% reflective in the base
color map which we can map to
180-255 sRGB as shown in figure
12. Again, these values are based
on real-world measured data.

Figure 12

vol.2 - Practical guidelines for creating PBR textures Page 8


Corroded or dielectric layer
When weathering a surface, the metal
may need to be regarded as oxidized
or compensate for other environmental
aspects such as dirt and grime layers.
Metal that is oxidized needs to be
treated as dielectric e.g. rusted metal.
The same is true for metal that has
been painted. For example, if you look
at painted metal where portions of the
paint have scratched or chipped away,
the metal exposed is the “raw” metal
(white in the metallic map) and the
paint is a dielectric layer (black in the
metallic map) as shown in figure 13.
The metallic map can represent a
blended state between metal and non-
metal that is represented by Figure 13
transitional gray values in the map.
The key is that if the metallic map has gray values lower
dirt across multiple channels. On the Material Color Blend,
than 235 sRGB, then you would need to lower the “raw”
you can control the dirt layer’s effect on metal by
metal reflectance value in the base color. For example,
adjusting the metallic value slider as shown in figure 15.
think of a dirt layer that partially obscures portions of raw
metal as shown in figure 14. The dirt is dielectric and if
you were to leave the metallic map at full white, then it
would treat these dirt areas in the base color as the
reflectance value for metal. The dirt color value is much
lower than the value needed in order to represent the
70-100% reflectance for polished metals. By lowering the Metal that is oxidized needs to be
metallic map value in areas represented by the dirt, you treated as dielectric e.g. rusted
create the appropriate blend between the dielectric and
metal reflectance values. metal. The same is true for metal
The opacity of the dirt layer can indicate how much to that has been painted
lower the reflectance value in the base color. There are
no hard-and-fast rules here. What you are doing is
moving from a high-reflectance surface (conductive) to a
lower reflectance surface
(dielectric). However the
degree in which this
transition is taking place
may vary.
The Substance toolset
allows you to easily work
with weathering effects and
control how the effect will
propagate to the channels
through multi-channel
support. Substance
Designer and Substance
Painter allow you to change
parameters on a Substance
effect, which will
automatically adjust the
channels that are controlled
by the Substance effect.
For example, in Substance
Designer, you can use a
Material Color Blend node
to apply an effect such as Figure 14

Page 9 vol. 2 - Practical guidelines for creating PBR textures


Figure 15

1. Black (0.0) is non-metal and white (1.0) is metal. There can be transitional grayscale values to account for
oxidation or dirt.

2. If metal map has values lower than 235 sRGB, then the reflectance value needs to be lowered in the base color
map.

Roughness (Grayscale - Linear)


The roughness map describes the
surface irregularities that cause light
diffusion as shown in figure 16. As
discussed in Volume One, the
reflected direction will vary randomly
based on the surface roughness. This
changes light direction, but the light
intensity remains constant. Rougher
surfaces will have larger and dimmer
looking highlights. Smoother surfaces
will keep specular reflections focused,
which can appear to look brighter or
more intense even though the same
total amount of light is reflected.
In this map, black (0.0) represents a
smooth surface and white (1.0)
represents a rough surface. The
roughness map is the most creative
map as it allows the artist to visually Figure 16
define the character of a surface. In
essence, it allows you to creatively tell a story about the condition of a surface. What is its environment? Has it been
handled with care or disregard? Has it been exposed to the elements? The condition of a surface tells a lot about the
environment it is in and thus further relates to the overall design of the assets and worlds you are trying to create.
With roughness, there isn't really a right or wrong. The artist has full creative control. A good place to start with
roughness is the normal map. The normal map will often contain key surface details that should also be represented in
the roughness map as well.

vol.2 - Practical guidelines for creating PBR textures Page 10


Creation Guidelines

1. Be creative and tell a visual story about the surface.

Resolution and Texel Density


A byproduct of using the metal/roughness workflow is UVs that are not scaled to provide an adequate texel
that it can produce a white edge artifact as shown in density based on the document resolution. Providing a
figure 17. We are discussing the metallic workflow, but good texel density for UVs is the best method for
this issue also appears with the specular/glossiness minimizing any edge artifacts shown in figure 20. In
workflow as well. However, it is not nearly as visible figure 20, both texture sets are using the same 2048
because the effect is reversed i.e. there is a black fringe pixel resolution. However, the image on the right shows a
instead of white as shown in figure 18. poor UV layout with a low texel density.
This fringe is apparent in
the transitional areas
between materials where
it goes from a dielectric
to a very bright metal
due to texture
interpolation as shown in
figure 19. With metal/
roughness, the base color
contains a brighter value
for the metal reflectance
that is interpolated with
the non-metal diffuse
color, which produces the
white edge. With
specular/glossiness, the
diffuse map contains
black since raw metal has
no diffuse color. The
black value is
Figure 17
interpolated with the
non-metal diffuse color, which in turn, produces a black
fringe.
The document resolution and texel density have a direct
impact on the visibility of edge artifacts. For example, if The document resolution and texel
you use a hard edge brush to create the transitional density have a direct impact on the
areas between metal and non-metal, a low document
resolution will still soften the edge and thus exacerbate
visibility of edge artifacts
the artifact. This low-resolution issue is also caused by

Figure 18 Figure 19

Page 11 vol. 2 - Practical guidelines for creating PBR textures


Figure 20

Creation Guidelines

1. Texel density and resolution impact the white edge that can appear in the metal/roughness workflow. Be sure
that your UVs provide an adequate density to match the document resolution to minimize artifacts.

Pros and Cons of the Metal/Roughness Workflow

Pros

1. Can be easier to author and less prone to errors caused by supplying incorrect dielectric F0 data.

2. Uses less texture memory, as metallic and roughness are both grayscale maps.
3. Seems to be a more widely adopted workflow.

Cons

1. No control over F0 for dielectrics in map creation. However, most implementations have a specular control to
override the base 4% value.

2. Edge artifacts are more noticeable especially at lower resolutions.

vol.2 - Practical guidelines for creating PBR textures Page 12


Specular/Glossiness Workflow
Just as with metal/roughness, the specular/glossiness breaks the law of conservation. This means that when
workflow is defined through a set of maps, which are fed authoring the textures, you wouldn’t see the actual result
as textures to a sampler in the PBR shader. The maps corresponding to the texture data.
specific to the specular/glossiness workflow are diffuse,
As you will see, the data that the maps are representing
specular and glossiness as shown in figure 21. Although
is the same as in the metal/roughness workflow. We will
the specular/glossiness workflow uses more familiar
follow the same guidelines, however, the difference will
names such as diffuse and specular, it is important to
be in how the maps are authored. The data will be placed
make the distinction that these maps are not the same as
in different maps, but we will follow the same principles.
their traditional counterparts. Substance uses the term
As stated earlier, all values, such as dielectric F0, metal
diffuse, but some implementations may refer to diffuse as
reflectance and brightness ranges for albedo color, are
albedo. The PBR shader will also utilize ambient
derived from actual measured data. As we look at each
occlusion, normal and possibly height for parallax
map type, guidelines will be discussed, which are based
mapping, which as mentioned earlier, will be discussed in
on measured data. In this section, I will not repeat the
the "Maps common to both workflows" section.
exact information as it was covered in the metal/
In this workflow, the reflectance values for metal and F0 roughness section. Instead, I will focus on the differences
for non-metal materials are placed in the specular map. and where distinctions need to be made for the specular/
With the specular/glossiness workflow, you have 2 RGB glossiness workflow.
maps: one for diffuse color (albedo) and another for
reflectance values (specular). With the
specular map, you have control over the
F0 for dielectric materials within the
map itself.
As we stated in the metal/roughness
workflow, the PBR shaders in Substance
handle energy conservation. This
becomes even more important in the
specular/glossiness workflow as the
specular map provides full control over
the dielectric F0, which means the map
is more susceptible to contain incorrect
values. For example, a white (1.0)
diffuse and a white (1.0) specular value
can combine to reflect/refract more light
than was initially received, which in turn

Diffuse (RGB - sRGB) Figure 21

Just as with the base color map from the metal/roughness workflow, the diffuse map contains albedo color. However,
it doesn't contain any reflectance values.

Creation Guidelines
The diffuse map is only albedo color. The areas that indicate raw metal will be black (0.0) because metal doesn't have
a diffuse color as shown in figure 22. In the case where oxidation has occurred, the metal area would contain color, as
it’s no longer treated as raw metal. The same is true for dirt or other effects that create a dielectric layer over the raw
metal.

The guidelines for the diffuse map in terms of tonality are the same as the base color map. However, the exception is
that if raw metal is present, then a value of 0.0 (black) is allowed and it is not governed by the guidelines for the
darkness ranges.

1. Color represents albedo for non-metal materials and black (0.0) for raw metal.

2. Base color should be devoid of lighting information with the exception of micro-occlusion.

3. Dark values should not go below 30 sRGB (tolerant range) - 50 sRGB (strict range) except black for raw metal.

4. Bright values should not go above 240 sRGB.

Page 13 vol. 2 - Practical guidelines for creating PBR textures


Figure 22

Specular (RGB- sRGB)


The specular map defines the reflectance values for metal and the F0 for non-metal as shown in figure 23. This RGB
map allows for different values for dielectric materials to be authored in the map. This is different from the metal/
roughness workflow where dielectrics are hard-coded at 4% reflectivity and can be modified only through the
specularLevel channel. Just as we
covered with the metal/roughness
workflow, the F0 data should be
derived from real-world measured
values. The F0 for dielectrics will be a
grayscale value and the metal
reflectance can be colored as some
metals absorb light at different
wavelength.

The specular map


allows for different
values for dielectric
materials to be
Figure 23
authored in the map

Creation Guidelines
Since the specular map contains the F0 value for both metals and non-metals, we will break the map into a separate
category for each material type.

Raw Metal
The F0 value should be based on real-world data. Just as we covered in the metallic map, the reflectance for raw
metal will need to be lowered if there is oxidation or some layer that indicates non-metal. In the case of the specular/
glossiness workflow, dirt or oxidation will raise the diffuse color for raw metal in the diffuse map and lower the
reflectance value in the specular map as shown in figure 24. (IMAGE) Also shown in figure 24 is an example of a dirt
layer on raw metal. The dirt in the specular map contains the appropriate F0 value for dielectric. In this case, I am
using 0.04 or 4%.

vol.2 - Practical guidelines for creating PBR textures Page 14


Figure 24

Dielectric
The F0 for dielectric materials is authored in the specular map as well. Here you have full control over the F0 value,
however, it is important to use the correct data. As we discussed in Volume one, non-metals (insulators/dielectrics) are
poor conductors of electricity. The refracted light is scattered and/or absorbed (often re-emerging from the surface)
and thus they reflect a much smaller amount of light than metals. We stated that the value for common dielectrics
would be around 2-5% based on the F0 as computed by the index of refraction (IOR). With the exception of
gemstones, the F0 can be within the 0.02-0.05 (linear) range for common dielectric materials as shown in figure 25. In
terms of sRGB, we are looking at a scale of values between 40-75 sRGB, which overlap the linear 0.02-0.05 (2-5%)
range.
If you can't find an IOR value for a specific material, you can use 4% (0.04 - plastic). Gemstones are an exception and
they have a range of 0.05-0.17 (linear) as was shown in figure 21. In the metal workflow, the shader is mapped to a
range of 0.0-0.08 (linear) when using the specularLevel channel as zero is needed to represent air as shown in figure
25.

Figure 25 Conversions from sRGB to linear were done using the gamma 2.2
approximation. See linear space rendering in Vol.1 for more details.

Page 15 vol. 2 - Practical guidelines for creating PBR textures


1. Specular map contains F0 for dielectrics and the reflectance value for raw metal.
2. Dielectrics reflect a smaller amount of light than metals. The value for common dielectrics would be around 2-5%
and in terms of sRGB, the values should be between sRGB 40-75, which overlaps 0.02-0.05 (linear) range.
3. Common gemstones fall within the 0.05-0.17 (linear) range.
4. Common liquids fall within the 0.02-0.04 (linear) range.
5. The reflectance value for raw metal is going to be high in the range of 70-100% specular, which we can map to
180-255 sRGB.
6. If you can't find an IOR value for a specific material, you can use 4% (0.04 - plastic).

Glossiness (Grayscale - Linear)


The glossiness map describes the
surface irregularities that cause light
diffusion as shown in figure 26. In this
map, black (0.0) represents a rough
surface and white (1.0) represents a
smooth surface. It is the inverse to the
roughness map in the metal/roughness
workflow. This map has the same
artistic guidelines as we covered in the
roughness section above.

Describes the surface


irregularities that
cause light diffusion

Figure 26
Creation Guidelines

1. Be creative and tell a visual story about the surface.

Resolution and Texel Density


We discussed earlier how edge artifacts could appear in both workflows. This was discussed in-depth in the metal/
roughness section, as the edge artifacts are more apparent in that workflow. It was also mentioned that with specular/
glossiness, the diffuse map contains black
since raw metal has no diffuse color. The
black value is interpolated with the non-
metal diffuse color, which produces a black
fringe as shown again in figure 27.
Here I will reiterate that the document
resolution and texel density have a direct
impact on the visibility of edge artifacts.
For example, if you use a hard edge brush
to create the transitional areas between
metal and non-metal, a low document
resolution will still soften the edge and
thus exacerbate the artifact. This low-
resolution issue is also caused by UVs that
are not scaled to provide an adequate
texel density compared to the document
resolution. Providing a good texel density
for UVs is the best method to control this
Figure 27 issue as shown again in figure 28.

vol.2 - Practical guidelines for creating PBR textures Page 16


Figure 28

The document resolution and texel density have a direct impact on the
visibility of edge artifacts

Creation Guidelines

1. Texel density and resolution impact the black fringe that can appear in the specular/glossiness workflow. Be sure
that your UVs provide an adequate density to match the document resolution to minimize artifacts.

Pros and Cons of the Specular/Glossiness Worflow


Pros

1. Edge artifacts are less apparent.

2. Control over dielectric F0 in the specular map.

Cons

1. Because the specular map provides control over dielectric F0, it can be more susceptible to incorrect values being
used. It is possible to break the law of conservation if it is not handled correctly in the shader.

2. Utilizes more texture memory with an additional RGB map.

3. Can be more confusing as it uses similar terminology to traditional workflows but requires different data. Also it
requires more knowledge of physically based guidelines e.g. correct F0 for dielectrics, black for raw metal diffuse
color and possible energy conservation if not handled in the shader.

Video walkthrough available at http://www.allegorithmic.com/pbr-guide

Page 17 vol. 2 - Practical guidelines for creating PBR textures


Maps common to both workflows
Ambient Occlusion
The ambient occlusion (AO) map defines how much of the ambient environment lighting is accessible to a surface
point. It only affects the diffuse contribution and should not occlude the specular contribution. Some engines such as
Unreal Engine 4 have an option for screen space reflection to simulate local reflections. The best combination is to use
AO with screen space reflections.
In Substance PBR shaders, the
ambient lighting (generated by the
environment map) is multiplied by
the AO. The AO map is supplied by
a texture sampler in the PBR shader
and is an optional channel as shown
in figure 29. The AO should not be
baked into texture maps, but only
supplied as its own channel to the
shader.

AO only affects the


diffuse contribution
and should not occlude
the specular Figure 29
contribution

Creating Ambient Occlusion


In Substance Designer, AO can be baked from a mesh or converted from a normal map using the integrated baking
toolset. In addition, there is an ambient occlusion node for converting height to AO as shown in figure 30.
Bitmap2Material can be used to generate AO from a source image as shown in figure 31.

Figure 30

vol.2 - Practical guidelines for creating PBR textures Page 18


Figure 31

Height
A height map is often used for
displacement in rendering and with
PBR, it can be used for parallax
mapping which helps to add more
apparent depth and thus greater
realism to normal and bump mapping
as shown in figure 32. Substance
Designer uses the relief mapping
parallax algorithm. The height is
supplied by a texture sampler in the
PBR shader and is also an option
channel. In Substance Designer, the
effect can be controlled using the
relief parameter on the shader as Figure 32
also shown in figure 32.

Height can be used for parallax mapping which helps to add more
apparent depth and thus greater realism

Creating Height
Similar to AO, height can be baked in Substance Designer from a mesh using the integrated baking toolset. In
addition, there is a normal to height node for converting height from a normal map as shown in figure 33.
Bitmap2Material can be used to generate height from a source image as shown in figure 34. You can even paint
height data using vector or bitmap painting tools in Substance Designer. However, the best method for painting height
is by using Substance Painter to paint detail directly on the 3D mesh as shown in figure 35.

Page 19 vol. 2 - Practical guidelines for creating PBR textures


Figure 33

Bitmap2Material can be
used to generate height
from a source image

Figure 34

Height can be painted


in Substance Painter

Figure 35

vol.2 - Practical guidelines for creating PBR textures Page 20


Normal
The normal map is used to simulate surface detail and its usage is the same in PBR as it is in non-PBR workflows.
However, since the normal map simulates surface detail, it can be beneficial to have the surface details from the
normal map also affect the roughness or glossiness maps as well.

Creating Normal
A normal map can be baked in Substance Designer from a mesh using the integrated baking toolset. In addition, there
is a normal node for converting height into a normal map as shown in figure 36. Bitmap2Material can be used to
generate a normal from a source image as shown in figure 37. You can paint height data using vector or bitmap
painting tools in Substance Designer and convert them to normal data using the normal node. Height data painted in
Substance Painter can be exported as a normal map and you can paint normal data direclty as well.

Normals can be baked or converted using the Substance toolset

Figure 36

Bitmap2Material can
be used to generate
normal from a source
image

Figure 37

Page 21 vol. 2 - Practical guidelines for creating PBR textures


Substance PBR Utilities
In this section, we will discuss several Substance utilities that can help with authoring PBR textures and setting correct
reflectance values. The utilities are divided into sections based on materials, correction and values. These nodes were
built based on the principles and concepts covered in this guide.

Materials
Bitmap2Material 3

B2M 3 is a standalone app (Indie/Pro) or packaged Substance material (Pro Only) that creates PBR maps for metal/
roughness or specular/glossiness workflows from a single source image input. It can create tileable maps and excels at
creating albedo (using its light cancelation functions), normal and height maps. It is a great utility for creating base
textures for materials as shown in figure 38.

Figure 38

PBR Base Material

This node is a utility for creating a full base material and can be found in the Substance Designer Library under
Filters>PBR Utilities as shown in figure 39. It supports both metal/roughness and specular/glossiness workflows. It
provides common presets for raw metal materials and also allows you to set the dielectric albedo if creating a non-
metal. There are controls for
roughness and glossiness depending
on the workflow, which also have a
grunge amount option. Alternatively,
you can choose to add custom map
inputs which works well if you are
importing base maps created in
Substance Painter. Using this
method, you can quickly create a
material node that can be blended
with other materials.

Video walkthrough available at


http://www.allegorithmic.com/
pbr-guide

Figure 39

vol.2 - Practical guidelines for creating PBR textures Page 22


PBR Substance Materials

Substance Designer and Substance Painter ship with PBR calibrated materials. They are a combination of procedural,
hand painted and photo generated materials compiled into the Substance format. As Substance materials, they can
have the benefit of being dynamic with various parameters for controlling different aspects of the texture. They
provide a fast and efficient method for working with PBR content without having to author the maps from scratch.

In Substance Designer, the Substances can be found in the Library under PBR Materials. There is also a set of hand-
painted PBR materials provided by Gametextures.com. You can download the extra Gametextures.com PBR
Substances from your Allegorithmic account.

In Substance Painter, the Substances are found in the Material tab on the Shelf. There is also a set of materials from
Gametextures.com as well. The Gametextures.com materials can be downloaded from your Allegorithmic account and
installed to the Material tab.

In addition to the content provided with Substance Designer and Substance Painter, the Substance Database contains
a vast amount of PBR calibrated materials, which also are a combination of procedural, hand painted and photo
generated materials compiled into the Substance format.

Reflectance Values
Dielectric F0

This node outputs F0 values for common dielectric materials as shown in figure 40. You can choose from preset values
and it also has an IOR input field that takes an IOR and computes the F0 value. It was designed for dielectric
materials and can be used with the specular/glossiness workflow.

Figure 40
Video walkthrough available at
http://www.allegorithmic.com/
pbr-guide

Metal Reflectance

This node outputs reflectance values for common raw metal materials and it can be found in the Substance Designer
Library under Filters>PBR. You can choose from several preset metal values as shown in figure 41.

Page 23 vol. 2 - Practical guidelines for creating PBR textures


Figure 41
Video walkthrough available at
http://www.allegorithmic.com/
pbr-guide

Correction
PBR Metal/Roughness Validate

This node is designed to work with the metal/roughness workflow and is a utility which checks for incorrect values for
the base color and metal maps as shown in figure 42. It can be found in the Substance Designer Library under
Filters>PBR and the node outputs a heat map moving from red->yellow->green where red is incorrect and green/
yellow is correct. With metal, it checks the corresponding F0 values in the base color for areas indicated as metal in
the metallic map (greater than 235 sRGB). The heat map displays the range in which the F0 range may be too low.
For the albedo, it checks to see if dielectric brightness ranges are correct.

Figure 42 Video walkthrough available at


http://www.allegorithmic.com/
pbr-guide

vol.2 - Practical guidelines for creating PBR textures Page 24


PBR Safe Color

This node corrects values in the base color or diffuse maps as shown in figure 43. It makes sure that values fall within
the corrected brightness ranges for dielectrics. It can be found in Substance Designer's Library under PBR Utilities.

Figure 43 Video walkthrough available at


http://www.allegorithmic.com/
pbr-guide

Conversion
BaseColor_metallic_roughness_to_diffuse_specular_glossiness

This node converts maps from the metal/roughness workflow to specular/glossiness as shown in figure 44. It can be
found in Substance Designer's Library under PBR Utilities.

Figure 44

Page 25 vol. 2 - Practical guidelines for creating PBR textures


Appendix - Charts
Is the surface metal?
It can be helpful to break down a surface into the metal or non-metal categories. I will often begin the texturing
process by first examining the material and asking myself if what I am creating is metal or not. Through this inquiry,
you can derive some guidelines for the texturing process as we have covered in this Volume and as shown in figures
45 and 46. Figure 45 is using the metal/roughness workflow and figure 46 is specular/glossiness.

Figure 45

Figure 46

vol.2 - Practical guidelines for creating PBR textures Page 26


Reflectance Values
Figure 47 shows the F0 ranges for dielectrics. Dielectrics reflect a smaller amount of light than metals. The value for
common dielectrics would be around 2-5% and in terms of sRGB, the values should be between sRGB 40-75, which
overlaps 0.02-0.05 (linear) range. In figure 48, you can see both dielectric F0 and metal reflectance values. With
metals, the specular range is within 70-100% and maps to the sRGB values of 180-255.

Figure 47 Conversions from sRGB to linear were done using the gamma 2.2
approximation. See linear space rendering in Vol.1 for more details.

Figure 48 Conversions from sRGB to linear were done using the gamma 2.2
approximation. See linear space rendering in Vol.1 for more details.

Page 27 vol. 2 - Practical guidelines for creating PBR textures


Correct/Incorrect Comparisons
In figure 49, you can see an example of maps created correctly and incorrectly using the metal/roughness workflow.
The dirt and paint dielectric layers have too dark of an albedo value and the dirt is marked as raw metal in the metallic
map. Also, the metal reflectance value is set too low in the base color as it doesn’t reflect the 70-100% specular range.

In figure 50, you can see an example of maps created correctly and incorrectly using the specular/glossiness workflow.
All of the raw metal has too bright of a value in the diffuse map. It should be black. The dielectric paint and dirt layers
have too dark of an albedo value in the diffuse map. The dirt layer has too bright of an F0 in the specular map. The
dirt F0 doesn’t match the range for dielectrics.

Figure 49

Figure 50

vol.2 - Practical guidelines for creating PBR textures Page 28


Allegorithmic develops the new generation of 3D texturing software: Substance Painter, Substance Designer and
Bitmap2Material. With most AAA game studios using these tools, Substance has become the standard for creating
next-generation PBR (Physically Based Rendering) assets.

For more information on Substance, please visit our website at


www.allegorithmic.com

Page 29 vol. 2 - Practical guidelines for creating PBR textures


vol.2 - Practical guidelines for creating PBR textures Page 30

You might also like