A realistic city composition from sketch, through block-outs, to final render.
The end goal for this task was to develop our ability in layout and composition through creating a self-contained scene. I also experimented with the use of volumetrics in low level fog and the factory smokestack.
The brief for this task was to create an orthographic scene to a layout plan which we were to sketch beforehand. This was to make help up to think about the composition of the piece before starting to create assets to go into the scene. The tasks were broken up as follows:
I began by drawing out composition grids in Paint Tool SAI and drew curves on which I would place my assets. I used the rule of thirds on three of the compositions, and a combination of thirds for the vertical axis and centre weighting for one. I also drew points on grid intersections where I wanted focal points to be placed.
For my first composition 1.2.1, I chose to have a high focal point in the top right, leading down to a secondary focal point in the lower left which would balance the scene, preventing it from feeling too heavily weighted to the right.
I wanted to provide additional interest by adding different shapes into the buildings, placing a short round building on the lower focal point which would contrast with the tall square tower on the higher focal point.
Next, I added a high focal point in the middle with buildings getting shorter towards the edges of the scene. This created a centre weighted composition which is balanced, but relatively uninteresting to look at 1.2.2.
For this composition, I chose to experiment with a descending spiral composition, having buildings reduce in height as they go around the spiral 1.2.3. This resulted in another centre weighted composition that was very busy, and overlapping buildings obscured the intended spiral.
Finally, I wanted to try to create something different. I decided to design a valley-like composition with the shortest buildings in the middle 1.2.4. This is interesting because it is very different to a usual scene composition and is still horizontally balanced since it is also symmetrical.
I decided to use this composition for my modelled scene.
I accentuated the break in the middle by sketching in a railway line separating the two sides, and made each side have very different building types. I decided on an industrial factory complex on the left complete with tall smokestacks, and a residential area on the right with a combination of high-rise buildings and terraced houses. To fill the space in the upper middle, I chose to place an isolated building in its own area.
I set up my scene in Blender, with an orthographic camera at 30° elevation and blocked out all the buildings with primitive objects: cubes for most of the buildings, and cylinders for the smokestacks and silo - accurate to my drawing 2.1.1.
I used a flattened cube arrayed with a curve modifier to block out the spline meshes: the road, railway, and fences. This made it easy to adjust the shapes of the curves to fit the plan and to check the composition.
Once I had blocked out the whole scene, I decided that I wanted a little more visual interest at the back middle of the scene. Whilst the lonely barn provided an auxiliary focal point, it still appeared to be empty of detail, especially to the right where the railway exists the scene.
To add variation – and as the original plan was to include a field, the only natural ground in the scene – I chose to create a hill. This was made by subdividing the ground plane and moving a few vertices up with proportional editing. This instantly gave more interest, as it contrasted with the rest of the scene comprising of completely flat ground.
However, the hill made the terrain too steep for the railway to follow and still look natural. I initially tried to create a cutting but that made the sides too steep, and a retaining wall on the right-hand side looked out of place.
Instead, I added a tunnel. I cut out a hole in the terrain and continued the floor underground for the track to follow 2.2.1, then modelled a simple tunnel portal to hide the gap. This also added an additional point of interest to that part of the scene.
Another benefit is that the track no longer trails off the end of the world, and not being able to see the end of the container train creates mystery - allowing imagination to make the train appear longer. I made sure to tuck the terrain into the tunnel walls so that no gaps are visible. 2.2.2
The final composition change was to the road, keeping it elevated until the edge of the scene as an overpass. I also began detailing some of the block-outs: adding supports to the overpass, legs to the silo, an overhead pipe in the factory to the left, making the fences into segments, and choosing where streetlights would be placed 2.3.1.
I began adding textures to the block-outs, to begin to add realism to the scene. This began to give context to each building which allowed me to adjust their proportions to fit in the scene more appropriately.
I also started modelling in additional detail, such as the air-con units and skylights on the roofs of the residential buildings 3.1.1, and the gardens for the terraced houses.
I had an image of the sky through a chain fence, which I wanted to use to create the transparency between the links. Since the sky was very brightly exposed in the image, there is a value threshold which the sky is brighter than, and the metal is darker than.
I used a colour ramp with constant interpolation to mix between the material and a Transparent BSDF 3.2.2. Moving the black point in the colour ramp allowed me to separate accurately between the metal material of the fence which was a lot darker than the sky 3.2.1.
For the ground plane, I mixed between three separate textures: the rough concrete in the factory, the smooth concrete under the skyscrapers, and the grass on the hill. To achieve a smooth transition between them, I added all three to the same material and connected them with Mix RGB nodes 3.2.3.
To the factor of these, I connected new image textures. This allowed me to use texture painting as a black and white mask to specify which parts of the terrain would be influenced by which texture and could smoothly blend between them 3.2.4.
I began testing the volumetrics for the smokestacks; I chose to use a physics simulation for this. I created a large cube which would contain the smoke, which I marked as a gas domain. Within this, I added two emitters, one above each smokestack; a Wind Force Field, which I angled to the side to make the smoke rise at an angle; and a Turbulence Force Field, to add randomness to the rising smoke’s movement 3.3.1.
I added a HDRI to light the scene, with the sun positioned to the right of the scene. This helped to light the scene in a balanced, realistic way; and the sun position gives contrast to the scene, making the residential area brighter than the industrial area.
This is how the scene looks after the changes listed above 3.5.1; it has begun to look like a real scene, albeit with a few buildings that still needed modelling. The textures have began to add life to the scene and basic details have been added.
To make sure that the houses, roads, and walls all cut off exactly at the scene edge, I used a Boolean modifier set to intersect on a cube that encompassed the entire scene. This meant that anything outside would be removed. A problem due to this is visible on the side of the first terraced house - where the UV map has become distorted.
Once I had finished modelling and adding textures to the last few buildings, I noticed that scene felt very square as all the buildings were aligned to the grid. To solve this, I rotated two of the buildings: the barn on the hill and one of the industrial buildings that had not yet been detailed 4.1.1.
This added a bit of variation to the look of the scene which - paired with the curves of the fences, road, and houses - made the scene feel a lot more natural.
I replaced the flat roofs on all the factory buildings with angled roofs to match the buildings closest to the camera. This gave the industrial area a coherent look with all the buildings matching the same style, whilst also contrasting with the flat roofs on the right. Similarly, I tapered the factory towers to reduce the number of parallel lines 4.1.2.
To give variation to the train cars, I used the Random Object Info input to modify the hue of the metal materials 4.2.1. This gave a random colour to each wagon, adding additional variation to the scene 4.2.2.
I also used a Random input to mix between a smooth and rusted metal texture, to give even more variation between the tanker wagons. I limited the value range so that no wagon would be completely rusted.
I started adding small details to the buildings, beginning with the windows and doors to the industrial buildings which I added as separate meshes outside of the buildings 4.3.1. The textures were taken from pictures of factory fronts, and I roughly imitated some of the geometry to match.
Whilst the level of detail is very low, I knew that the scene would be rendered from high above so the small imperfections would not be noticeable.
The bin on the left was made by accident. There was a cube by the railway on the block-out, which I thought could be an electric meter box. However, when I was assigning materials, I accidentally chose the metal shipping container, rather than the plain metal 4.3.2.
The random object info node in the container material gave the box a green hue, which inspired me to create a bin instead. I angled the top and assigned it the material from the corrugated iron garage doors to complete the model.
I modelled the lip and ladders to the silos using the wireframe modifier to create the metal bars. This allowed me to make the bars consistently sized in a relatively intricate form, whilst the editable geometry is fairly simple 4.4.1.
To complete the aesthetic, I added a low-level haze with a volume and set the density to a 3D Musgrave Texture. This gave a patchy, dust-cloud like appearance. I also slightly tweaked the volumetrics from the smokestack.
All the textures and volumetrics were now in the scene, and the modelled detail complete 4.5.1.
To further increase the realism and variation in the textures, I decided to modify the material used for the windows. Initially, I had simply used the image, but this left them feeling flat.
Instead, I used the same method as I had with the chain fence, but instead of separating the metal from the sky, to separate between the window glass and frame. Using this as a factor to mix between different materials for the glossy windows and matte frames added a subtle yet beneficial difference to the overall look.
I fixed the orientation of roof textures which were facing the wrong direction and adjusted some of the UVs. I also changed to a slightly warmer coloured HDRI with a higher sun so that the shadows were not as long - those from the highest skyscrapers ending just at the start of the industrial area.
This is the completed render of the scene 5.2.1. I am very happy with how it came out, and the small details add a lot to the look of the scene. Whilst all of the models are very low-poly, they are appropriate for the camera position and produced a realistic render.
I learnt a lot of new skills from using different features such as physics simulations for volumetrics and starting from a sketch for the whole composition gave a good guide to lay out the scene in an interesting way. Overall, I am very happy with the outcome of this project.
For a bit of fun, I decided to bring the camera down to ground level and render some images. As the scene was designed with the camera at a specific distance and angle, many models looked strange or were lacking in detail – especially since buildings were not detailed on the sides that are not facing the camera.
Instead of fighting this and trying to find angles to hide the problems, I decided to use Cycles to render the scene with one sample, and denoise using Optix. Inspired by old-fashioned point-and-shoot cameras, I also limited myself to using the same focal-length and square aspect ratio, to challenge myself to find interesting angles and compositions without moving any of the assets in the scene.
Whilst they are low fidelity and the lack of detail can be seen – both in the models and from the low sample denoising smoothing over details – it was a lot of fun exploring the scene and taking pictures.