These are the 3rd and 4th environments i made recently for the indie pc game Metris Street Football, by Metris code : Venice Rialto bridge and Thai village.
Specs are same as previously: Unity 5, PC game, current gen level of detail, 1 month of work time each env, modeled in Blender, textured in Substance. With the addition of using Shader Forge for the water and colored buildings in Thai village.
These levels are a bit bigger than previous ones, and the main challenge was to be selective on what assets to make to fill them and have variation, without loosing too much detail on the single item, but of course, luckily, the fixed point of view of a sport arena game does allow to keep props simple, quick and dirty (compared to an fps asset that is !) and still get a good ‘ensemble’ view.
Strictly speaking there’s no LODs in these, but Venice and size of the view of Canal Grande required that the further buildings be less detailed than those just behind the goals, it turned out very quick and effective to put the models of the detailed/hero lowpoly ones in a Blender scene (diffuse textures only in a Cycles material), render front views of 2 canal sides and then retrace low(er) poly shapes over the rendered 2d card. (in gallery you can see also an attempt to use a curved skybox type plane with a rendered background, but the camera has be able to go 1-2 floors high in a sport game replays, so that wouldn’t work at all)
The other thing about the buidlings is visible in left image of gallery: showing the final diffuse, using a brick tiled detail and base diffuse color (unique unwrap) . That’s something i like to work with : seems a straightforward technical thing to overlay a detail on a base, but actually involves a fair bit of painter/photograph eye to pick each time the right blend mode, color and saturation of both maps to combine and whether to use a mask to refine the mix (all of course bound by limits of realtime, even when something like ShaderForge makes it very intuitive to do with its nodes)
The last image in gallery above shows the baked light : static on the left , realtime on the right. There wasn’t a strict need to use dynamic GI for this kind of game, but i think unity’s approach makes a lot of sense in general, blending an advanced and dynamic solution that has low resolution and a simpler, static one that has detail, like soft shadows and contact bounces. This was done just before Unity added an option to add direct light AO to static bake ..which just goes in that direction , but the result is similar (contact shadows here are from a soft baked sun and sky)
Above some of the models : classic Venice boats, a load of windows doors and other facade details used on the buildings, and the Rialto model : the substance painter view is ..full of holes :) because i didn’t export parts/modules that could reuse textures from other parts But it includes mirrored objects.. never got baking errors from those, and i guess i could setup Painter to show everything but only bake some, but this works fine, only requiring sometimes to do an exploded placement to get better ao (as usual i bake normal in small separate chunks by matching hi/lo poly objects names, but bake ao from everything to give more ‘food’ to procedural materials to make their effects)
Below more screenshots of finished level :
And the other level is Thai village : Venice was done just after and reused the water shader (though changed ..much muddier) This level has a bit less architecture, but also a lot of natural landscape, requiring some special attention to light and shading .
The water shader is technically simple , just some more nodes than a standard material: a base, a single detail reused in 2 scales to get resolution without repetition, a static mask for foam around objects (all animated with texture panning) and a planar reflection from stock unity effects.
It’s always risky to start adding nodes to a realtime material, before you know there’s a ton of them ! but afaik this should be still a simpler solution than SSR or transparency effects.
The atmospheric scattering plugin (from Blacksmith demo, at low settings) does add a lot in these types of landscapes : yes.. it’s a fog, but one that takes light direction into account, and a lot more natural looking than a simple fade to flat color.
Something that proved important here : limiting the work to the camera angles actually used in game. This level is based on a real world location, something amazing about the photos of this floating Thai village is the variety of roofs .. but those are hardly visible in game and anyway not so important to need many variations.
he houses on the waterfront, in reality, also are each very different, so i made a few models, then added a shader with a color mask for wall paint areas and a vertex color channel to get unique colors on the foreground buildings.
Below images of the individual assets in substance and more screenshots :