Roads Materials (Asphalt / Concrete) - Tracks
Firstly please take note of the following pages:
- IBL Road & Curb Shaders
- PBR - Using Road / Curb Shader
- Roads - Modelling & Mapping
- PBR - An Introduction / Authoring Guide
When setting up road materials, we split our maps into two sets. We have our low frequency maps (mapped will less frequent tiling: Albedo and Blend Wet maps) and high frequency maps (mapped more densely: Overlay, AoSpec and Normal).
The high frequency map should be free of individual stones and super fine details, and these details should be in the low frequency maps.
We can create sets of low frequency maps for different types of asphalt and concrete, and then apply these to our low frequency maps.
Albedo Values
Because we use overlay maps, which are centred around 0.5 luminance, overall they will retain the luminosity of the albedo map whilst adding detail. This means our overall balance needs to be adjusted by the albedo map only.
Let's take a look at the real life albedo values for asphalt.
Linear | sRGB | |
---|---|---|
New Asphalt | 0.04-0.05 | 59-65 |
Aged Asphalt | 0.1-0.18 | 89-116 |
Here we can see that a range of 60 - 115 sRGB is acceptable for Roads.
In practice at Le Mans we set the median asphalt value for new asphalt to 72, and the median asphalt value for medium aged asphalt to 89. In general we would recommend keeping the median value in the range of around 60 to 100, and to keep the luminosity range quite narrow.
Texture Resolutions
Remember for performance it is very important to optimize the resolutions of your textures. Below is a guide for texture resolutions. These are a base guide.
Map | Max Resolution | Notes |
---|---|---|
Albedo | General Roads: 4096x2048 4 way generic tile: 2048x2048 | If you need only a few road materials, then you can probably get away with 4k x 2k. If you need a lot then you should consider only using 2k x 1k if possible. |
Overlay | 2048x2048 | This map gives the fine detail of the road and is highly tiled. Use a maximum of 2k x 2k. Generally we would only have 2 or 3 sets of surface types and share these, however if you need to have many it is best to consider if we can use some at 1k x 1k |
Groove | 2048x1024 | We would expect there to be one map shared on all materials in a scene. |
Marble Dust Mask | 2048x2048 | We would expect there to be one map shared on all materials in a scene. This one can probably be optimized to 1k x 1k too. |
Road Detail | upto 8k | This depends on the size of the scene. Usually this would be planar baked onto all surfaces so that we can bake details in. We should try to use the smallest size possible whilst keeping all the details there. |
AO Spec | Same as Overlay | Typically this map will use the same UVW as the overlay map and it should share the size limits of the overlay too. You maybe able to live with this map being one resolution smaller than the overlay. |
Normal | Same as Overlay | Typically this map will use the same UVW as the overlay map and it should share the size limits of the overlay too. Generally we do not wish to down size this further as we are likely to loose normal details. |
Blend Wet | 50% less than Albedo | Generally we should keep these textures saved at least one resolution lower than the albedo map. It is possible to share blend wet maps between materials however they should share aspect ratio with the albedo map. You will want to create unique maps for special maps with certain details in them (such as painted asphalt atlas for example). |