Unity City was created in one week by one person - me - using the power of the Unity Engine and its accompanying tools. The project showcases a dark urban center in a dystopian future - taking place somewhere in North America. The city sits right on the coast, with the ocean visible in the distance. The inhabitants don't leave often, but when they do, they must be back to their living spaces before curfew.
Part 1: Core Layout
As previously mentioned, I created Unity City in about 1 week. As soon as I heard of the challenge, I got to modeling tens of buildings to use for the city within the time span of about 2 days while simultaneously placing them at random around my scene. Images of the buildings in the process of being modeled (and the total number of buildings I created from scratch) can be seen in the images below.
Part 2: Details
It's clear that plenty of buildings were modeled - need I show more? Once the core layout of the city was set, I begun adding smaller details as shown below.
After placing the tables, it occurred to me: how could there be tables without any shops? There was one problem, though: how could I place shops inside generically modeled buildings with no holes with which to insert the shops? It then occurred to me that I through a clever trick involving object render queues I could stop rendering the part of the building that the shop would take up. This allowed me to place shops wherever I wanted no matter the building type. This saved many hours of work and worked quite well.
It was around this time that I also remade the UV maps on most of the buildings so as to draw from a few high-res textures instead of having every window on one texture. The results are shown below.
Around this time, I decided that, for the city, to change the time of day to evening as the sunlight would better contrast with deep, blue shadows amid bright lights. On top of this, I also added street lights, the earliest holograms, more shops, and city squares! The screenshot below shows it all coming together.
Part 3: Atmosphere
Everyone knows that atmosphere is a HUGE part of games, and while my city was just starting to look cool, it didn't FEEL cool - not yet anyway! I started by adding more details - like holograms, tables and storefronts. I also added a terrain and really fleshed out the streets, making them uneven and adding hills. In the below picture, you can see the terrain and improved roads in action, along with some earlier post processing I had put in place.
After this, I progressively made the time of day later to see how it rolled with the city. It worked quite well every time - and every time after I'd adjust the sun just a little bit to see how I felt with it. The image below shows the city after all skyscrapers and buildings were in their final positions - the atmosphere was slowly but surely taking shape!
Shortly after this, I realized that I could further make the scene prettier by mingling the clean, minimalist design with a dirtier, more cluttered feel. This manifested in, at first, rain and later on foggy volumetric smoke achieved via the Particle System. I placed this around bright lights and holograms to simulate thick air and wet conditions. Around this time, I also upgraded to Post Processing Stack 2 to increase the quality and the visual fidelity of the post processing.
To add to the atmosphere, I decided it would be a good idea to add an ocean in the background. Towards the sunset, the terrain drops off in a rocky fashion. To make the ocean look better, the Project Manager provided funding to purchase a water asset from the Asset Store. Unfortunately the fog was a little too dense to spot the ocean waters in the video, but if you look hard enough at certain points you'll be able to make it out.
As a final measure to show that this wasn't some empty city - to make it feel alive - I added hovering security drones, flying cars racing by and pneumatic tubes that quickly transport citizens to their destinations. I was able to use the Asset Store to obtain the human inhabitants of the city. This saved countless hours - I no longer had to spend my time creating people and could focus on the more important aspects of the city. All I had to do was animate and quickly code a simple AI to allow them to roam the city.
Part 4: Cinematics
For the cinematic fly through of the city, I was able to use Cinemachine. Cinemachine allowed me to quickly set up a smooth path for the camera to follow as well as added some noise to give it a hand-held feeling. I thought that made it feel much more natural and present in the world. Cinemachine saved a significant amount of time because it saved me the trouble of creating a lengthy, confusing animation for the camera - all I was required to do was set the progression of the camera through the track via the animator - this was very simple. I was also able to accomplish all of the above without any foreknowledge of Cinemachine - it was very easy to understand and user friendly.
To switch between cameras, enable/disable effects and set animations I used Unity's Timeline. This is a great tool for cinematics as it saves the developer the trouble of writing gratuitous amounts of code to control in-scene objects, which is definitely something I would have had to do had I not had the Timeline - who knows how much longer it would have taken me to do now simple activities.
Finally, I added some in-scene royalty free music from incompetech.com to match the atmosphere. After some tweaking, I built the project. To record it, I used Nvidia's GeForce Experience Shadowplay.
Aidan "Lone Developer" Caruso
Morph 3D Male/Female
Next-Gen Soft Shadows
"Hiding Your Reality" Kevin MacLeod (incompetech.com)
Licensed under Creative Commons: By Attribution 3.0 License
Unity's powerful tools allow developers to quickly create beautiful scenes in as quick as - in my experience, anyway - just 1 week. Cinemachine, Post Processing Stack 2, the Timeline and the Asset Store all came together providing just the right combination of resources to allow me to create something I can be proud of.
Oh wow, you actually read this far down. Here's an unfunny Unity meme I made to reward you: