A Quick Intro to PBR/Civ 6 Textures

sukritact

Artist and Modder
Joined
Sep 21, 2010
Messages
2,931
Location
Bangkok
.DDS Plugins for:
Photoshop | Gimp 2

Civ 6 seems to have switched to a PBR model for their texture work. PBR is a method of texturing that has become extremely popular in the game industry as a way to standardise the appearance of materials and in certain cases to achieve realism (Civ 6 is stylised yes, but taking the leaderscreens as an example, the materials feel realistic).

To those of us coming from a Civ 5, these means a different set of texture maps are required. So here's a quick to the maps used in PBR texturing. I'll be using the texture I made for Hadrian's Armour as an example.


BaseColor:
Often also called Albedo, it is simply the color of the material you are trying to represent. Gold is yellow, stone is grey, etc. Pretty simple. Something to note for people from civ 5 though. These the color should purely represent surface color. There normally is no need to include any shading detail on these maps as you might have done in civ 5.


Ambient Occlusion/AO:
The reason that shading info isn't needed anymore is because of Ambient Occlusion. Before this information used to be combined into the Albedo and Specular maps, but it is now handled separately. AO is a map that represents how much light the model would be exposed to if it were lit with even ambient light. Bake it out from Blender/Maya/3Ds or just use a pure white map.


Metalness:
How metal something is: in terms of the material that is. So gold is 100% metal (pure white), and paper is 100% not (pure black). Normally stick to only black and white with no grays. Sometimes metalness is used to simulate the look of certain fabrics, such as silk, which is what I'm doing here, hence the gray where the purple is in the Albedo.

Glossiness:
Glossiness represents the smoothness of the microsurface of a material. So a chrome ball is completely smooth (white) and something like dirt is much rougher (black). So you can see my here armour is smoother than my cloth. I've attached a chart to give an idea of value ranges. Some of us may be more familiar with Roughness maps: simply invert that to get a Glossiness.


Normal:
This represents smaller changes in the surface of material. Think dents, dings and small crevices. It's a theoretically more complex map to explain, but suffice it to say that it uses the RGB colors to store where the material should deviate from the actual geometric surface of the mesh.


This seam in the armour hasn't been modeled. It's just done with a normal map.

This is a hard map to make by hand, and it's best to rely on other tools like: CrazyBump, Bit2Map, AwesomeBump (this is the free one), to generate it from a height map. For most cases in Civ 6, you should be able to get away with a map is is a solid 128,128,255 in color (representing a completely flat surface).

All this can end up being a little hard to do purely in Photoshop, but you shouldn't have a problem if all you're doing is models for buildings and units. If you do hope to eventually work on 3D leaderheads however (if and when we figure that out), you may want to look into tools used specifically for texturing 3D models, most notably Substance Painter and Quixel. I personally recommend the former.

If you're interested, here's an article that goes into much more detail on the ideas behind PBR. My intro here is essentially a condensed version of that, summarising a lot of stuff and leaving out the bits not relevant to Civ 6.​
 
Last edited:
Awesome! This is much more comprehensive and knowledgeable than my rough summary. :)

Can I ask what you are using to open the non-base layers? Photoshop I presume.
 
Awesome! This is much more comprehensive and knowledgeable than my rough summary. :)

Can I ask what you are using to open the non-base layers? Photoshop I presume.
In this case, these are my own textures, so they're all pngs :p

I've been able to open the base/albedo and normal maps just fine in Photoshop. I can open the glossiness on some models. The rest don't seem to want to cooperate. But this is standard for the game industry these days, and given what I've seen, I've no reason to suspect that it'll be much different.
 
FYI: All types of DDS texture can be opened with Gimp 2 using the gimp-dds plugin. Here are all the Redcoat textures:

redcoat_textures.jpg
 
Worth noting as well that leaders use more maps.

For the clothing, they have a FUZZ map (probably used to give a feeling of fuzz to the fabric), an ANISTROPY map for metals and for the skin they have 3 maps corresponding to the subsurface scattering of the skin, which are the TRANS, TRANSMISSION and BLURWIDTH. These are all uncommon in PBR workflow (which usually only have the ones mentionned by sukritact, but they must have built a custom shader for their custom engine using those maps, which gives a much nicer effect in my opinion)

I would love to know how the engine use those maps and how to build the shader with those maps, as I don't know any realtime renderer that use these. Maybe Marmoset does? Questions for the devs I guess.
 
Thank you for this handy explanation, sukritact! I hope to compensate by generating a plethora of 3D models (albeit mostly fantasy genre) for use by the modding community :D

BTW, I always thought that PBR = Pabst Blue Ribbon? :lol:
 
Hi @sukritact do you happen to know why so many of the landmark textures have this weird blue tint? My instinct is to say that's how it knows where to change certain colors but that also doesn't really feel right.
Capture.JPG
 
Hi @sukritact do you happen to know why so many of the landmark textures have this weird blue tint? My instinct is to say that's how it knows where to change certain colors but that also doesn't really feel right.

Some textures seem to have the Red and Blue channels inverted i.e. they appear to be stored in BGR rather than RGB. In Photoshop you can swap the Red and Blue channels using the Channel Mixer by set the Red output to be 100% Blue Channel, 0% Red Channel and then set the Blue output to be 100% Red Channel, 0% Blue Channel.
 
Some textures seem to have the Red and Blue channels inverted i.e. they appear to be stored in BGR rather than RGB. In Photoshop you can swap the Red and Blue channels using the Channel Mixer by set the Red output to be 100% Blue Channel, 0% Red Channel and then set the Blue output to be 100% Red Channel, 0% Blue Channel.
Further observation makes me believe it's through creating tex files when the B and R channels got swapped. Thus when we look at Asset pantry textures they are all blue but when we create our own texture, we don't have to channel mixer our map and just export regular 8.8.8.8 should be fine.
 
Top Bottom