Thursday, 9 August 2012

City

I'm just back from a week's vacation in New York with my family.    I wanted to make a city scene in Blender while the images of the city are still fresh.

I took the basic approach for building the city from Andrew Price's city tutorial,  but I took most things further than he attempted.  I wanted to be able to animate the city and zoom from height down to street level.  To acheive this, I needed to use low poly models as far as possible but be good enough and detailed enough for close up animation.

Here are some stills from the finished set-up.

City Overview
Some quick stats.  The city has 1,901 buildings.  You will see where the 1 comes from at the end.  The buildings are made up of 20 unique models that are arranged via a particle system over a grid of verticies (technique courtesy of Andrew's tutorial).   

One touch I am especially pleased with is adding a lattice to the main ground plane that allows hills to be created across the city to give additional variation in height for the horizon.  By having the roads and other elements also linked to the lattice,  everything stays in alignment.

Descending to street level
Most of the effect comes from textures.  65 image textures (most of the building ones from CGTextures.com),  with masking to vary the reflection effects for windows and shop fronts and to add some displacement to flat surfaces.

Street Level.
The street we were staying in in Manhattan had a view just like this, with the sky visible at the end of a long "canyon" of skyscrapers.

I have  fixing the wheel arches of the vehicles on my to-do list.  I have never done a vehicle model.  Apart from the wheel arches, I enjoyed making these low poly versions.  I must get round to adding vehicle modelling to my skills at some point soon!


Broadway

 Some more stats: the city contains a lot of vehicles,  all of them animated and moving along pre-defined paths.  84 Taxis, 9 Police cars, 8 blue sedans, 8 black SUVs.   

It was quite fun making sure there were no collisions at junctions as I worked on the speed and timing of the traffic.  I quickly realised there was just no way of getting the streets to feel conjested at this scale, it would take many thousands of vehicles.  For a heavy traffic scene, I would need to model one or two streets only and split the action into smaller cut scenes.  My cover story for this city is that the animation was done early in the morning,  see the sun angle and long shadows supporting my claim ;)

 
Wee Shuftie Tower

In New York, I saw that Donald Trump has at least two towers with his name on them.  He is in the process of building a golf course where I live in Aberdeen.  Well, this is my city, so....    voila - Wee Shufty Towers.   It is actually modelled after one of Donald Trump's towers in Chicago.

I added some static billboard people to this final scene.  It was not practical to animate enough people across the city to be convincing,  and during the animation,  lots of people standing still looks really odd.  If anyone has ideas on how to animate low poly crowds,  I would be very interested to hear.

Blue Skies

Finally, some nice blue skies to go with Wee Shuftie's new corporate headquarters.

Here is the rough render animation I did to test timings.  I kept the render times for this version to about 30 seconds per frame with 10 iterations of Cycles in Blender.  But with my final version now at 1,167 frames,  even this rough version takes about 15 hours to produce.



The test animation was well worth doing,  it produced a list of items I was able to work on to improve.

  1. Road markings wrong scale - fixed
  2. Cars off-road - fixed
  3. Scaffolding too short - fixed
  4. Landing vibration on camera too severe - fixed
  5. Need to fake rotating wheels on cars in close-up - fixed
  6. Need to create reflection masks for shop fronts - done
  7. Add loop-cuts to bulding rooftop balconys to improve close-ups - done
  8. Fix traffic light sequence - not done,  decided to run the red light :)
  9. Scrap the end-scene with dodgy looking studio and replace with Wee Shufty Tower as a more fitting corporate HQ.
  10. Spotted a lamp-post off the kerb - fixed
  11. Pavement (sidewalk) textures need replaced - fixed
  12. Remove un-needed lamposts and traffic lights from parts of the city not seen.  I originally had lights on every single street!
  13. Average out the burst of speed on landing - unrealisic. - to do
  14. Smooth out the turn on the first corner - to do
  15. Add billboard people to end scene. - done
  16. Step through each frame looking for boring shots and adjusting elements and composition in each - still tweaking

I am still tweaking frames before hitting the go button for the final render. I will give it a few days to make sure I am happy before doing the big render run.

UPDATE:  I realised I could use the same technique to add cars as used to add buildings.  This made it possible to add a few thousand more cars to the scene.  You can almost hear the honking!

I also narrowed the road to more realistic proportions on the streets but left the avenues nice and wide.  To do this I had to go back to the basic structure of the scene and re-work quite a bit.  I also had to model additional low buildings as the overall density became too much.




This is starting to feel right,  tweaking continues...