The nature of our project lends itself well to lots of tiling assets. The trick to making tiling assets believable, it to make them look like unique versions of the same thing. In the same way that no two manholes on a New York City street would collect exactly the same wear, We don’t want any two tiled assets in our game to look like exact copies.
To this end I’ve been building some simple tests in Unreal to get the most mileage out of our props.
To give you some background on the layout of this test scene, it’s just a bunch of simple BSP cubes. The floor and back wall have a neutral grey material with no specularity applied to them. You’ll see the color of the floor and back wall change though. This is because the level is lit with a single light with Lightmass (Global Illumination) set to 6 bounces. Since the only real color in the scene is red, everything else gets chroma-shifted in that direction.
First off, the scene with a 128×128 Brick texture applied to everything:

Next, the same material with a grunge mask, locked to the world position.

You can see that the grunge mask adds a bit of nice detail to the otherwise plain surface, but still it’s fairly obvious that it is just an overlaid texture.
Finally, the same material with a grunge mask locked to the world position, and a detail mask of a larger tiling scale locket to the world position. This detail mask is designed to add detail near the ground to make it look as if dirt and grime have collected there.
In the course of putting together this project, I made another personal discovery, Global illumination looks a little silly when the entire scene is dominated by one color (In this case, Red.) In actual application this shouldn’t be an issue.
Finally, here’s the material network I created for this demo. The only thing not shown in this picture are the scale values in the TexCoord nodes. I played with the values to make the grunge appear more subtle, and to make the detail layer fit the block height.
