The island is very geometry intensive, with rare use of detailed normal maps. This allowed us for relatively fast modelling, without spending too much time unwrapping meshes.
It also highlighted one of the engine strengths, the lightmapper, that worked the best when you have actual geometry to calculate the bounces.
Unfortunately, we couldn’t do everything this way. Floors with small stones would be too heavy to render in real-time and in these cases we had to resort to the usual normal map trickery of pretending to have detail where we don’t.
I found the process to be slightly trickier than usual since the world is stylized in a way that textures are almost flat, relying on the mesh detail, so we had to simulate that geometry on the texture without looking out of place.
This meant, to create the floors, I had to make them just like if they were going to be used in-game, and then use that to create the final texture.
Below is some of the tillable 3d floors I did, using the same style as the in-game geometry:
Sometimes jumping to Zbrush to create variants, so I could get some blending:
I would then do a top down tillable render from that mesh to get an accurate Normal, Ambient Occlusion and Blend map:
And then use these renders to create the in-game texture. It was a back and forth process, seeing how it looks in the engine, tweaking the AO and normal map strength and painting diffuse colors until it fit with the rest of the island:
Here is how it looks in game, sometimes impossible to tell that it’s not actual geometry. Notice that at the end of the corridor I used actual geometry, directly from the 3D scene for the textures, so it feels more natural:
Another example, this time in a Portuguese pavement: