Perfect Tile System - Do you guys want this for the Marketplace?

Hi seandennis! If you’re modeling each brick out with polygons, you’re going to run into problems with UVs, texturing, and, of course, performance. Flat UVs would cause pixel stretching: yes, even the best displacement methods (POM and tessellation) will stretch the pixels, but you’d still be stuck with stretching along basic polygon lines as opposed to a more fluid displacement method through displacement maps. You’ll also have issues with lightmaps as there will be plenty of very dark inset edges meeting very bright spots, and this can cause a lot of light and shadow bleeding all over your model. And it will not be possible to color each brick individually unless you make a custom texture capable of doing that.

Unfortunately, my system is a tiling material, not a high poly object material, but for a good reason. It actually colors each brick individually as opposed to tiling a huge blurry texture at random over it. The generation is provided by a noise map where each pixel (or two pixels) represents a single brick. You can’t do that in a controlled way with random UVs where the bricks are scattered all over the place. There is no way to ensure each brick has its own appropriate normal map, either. So, your building looks OK from a distance, but I bet if we got up close there’d be tons of issues with the texture blurring out and the individual bricks themselves remain undefined, without proper normals. And no, I don’t mean tiling a normal map over it, but ensuring the normal map is appropriate for each individual brick.

Now, realtime graphics are just a fake way of achieving good results. No, you won’t have a perfect 3D displaced mesh using the methods I described, but the results will be so darn convincing and run so fast, I doubt you’ll still say you need a 3D high poly brick wall. And you really don’t. You just need a wall that looks very good.

Ideally, you can just model a flat wall and be able to make a convincing material surface with tiling repeated assets and controlled variation along with proper displacement and normal mapping methods for a more consistent and reliable result. This is exactly what my system provides. With less space than what’s necessary for a single 1k map, I can get you enough variation to cover that entire building and make sure each brick has its own proper normal and texture map. If you want displacement, there’s different tiers of parallax displacement, and if you want vertex displacement, you can try tessellation. The benefit of tessellation is your lightmaps won’t be affected, and you have more precise control over the LODs, along with how deep your displacement insets and how it tiles. You can pretessellate your mesh in order to give it more vertices ahead of time and reduce strain on the shader to spawn polygons. This will give you much more consistent, reliable, and flexible results than the method you described, and it will still be fairly easy to render. With less polys, it definitely would be.