My name is Daniel Esterhuizen. I'm a Unity Developer having worked professionally with AR and 2D. This will by my first exciting journey into the world of realistic rendering and environment design. I have no skills in modeling or texturing so I'll need to use creativity and store assets to overcome that limitation. I'm very excited to see where this goes!
I was most inspired by the following images:
The idea of a technologically advanced race eking out an existence in a harsh wasteland really inspired me.
I decided to do something desert related. Looking at desert reference images I was motivated by the amazing sunsets and wanted to incorporate that into my vision.
It has been 3 days since the crew of Frontier Facility X14 evacuated.
The Station systems are now running on backup power. There is no one left except the tireless surveillance drone activated to ward off opportunistic scrappers.
The facility lies silent as the sands sweep across the surrounding desert.
Building the Scene
The following is a summary of my creation process. For more a detailed insight I highly recommend browsing through the Work-in-Progress logs located at the bottom of this page.
Goals and Challenges
I started the Neon Challenge with a mindset geared towards creative prototyping. I didn't want to build a scene for a specific shot or story, but rather to create an environment in which great imagery could be found and refined.
Another goal was to write as little code as possible. Being a programmer by trade I don't often get to build environments from scratch - I wanted to approach Unity as an artist would.
With no skills in 3D modelling, texturing or animating, I would rely heavily on the asset store to find my models. When I couldn't get something, I'd need to find a solution creatively.
After everything started to pan out I took up the challenge to subtly tell the story through the environment and mood.
Let's get started...
I took a very "gung-ho" approach to building my environment.
The first step was to get a desert terrain. I did so with the Desert Night asset and PBR Desert Landscape. I then needed to get an interior for my facility - I opted to use the Unity Corridor Lighting Example for this.
I kept most of the interior in darkness except for a lonely handlight and I was digging the mood.
At this point I saw how great it looked to have the desert light spill into the corridor and made sure to have that visual in my finished product.
The next step was to build the exterior facility platform. I was overwhelmed by the options on offer in the Asset store and I settled for the 3D Sci-fi Base Vol. 1 pack. I mocked up my platform using Unity cubes and then replaced them with proper assets. I also built a cliff-face around the facility entrance. I knew my facility looked rather weird so I combated this issue by focusing my visuals where they looked the best.
Props were next - I feel this is where I got great use out of the Asset Store - everything from wrenches to plush toys were used. In the cases where I couldn't get what I needed, I created them from either scaling and rotating base building assets or a Frankenstein-style mashup of assets and primitives. A few examples of these are the large lamp, radar lights and much of the decor on the workshop table. Whenever I felt stuck or needed some inspiration I'd head to the Asset Store and form ideas from what was available.
With most of my static assets in place, everything was looking rather... static. Particle systems were the solution! I made ambient dust and vent smoke, as well as covering the desert with modified dust storms from the Unity Particle Pack. Light probes were important here as I used Light Probe Proxy Volumes to accurately light my smoke - this can be seen on the gas as the interior door opens.
I finished up my environment by adding Volumetric Lighting and Atmospheric Scattering by SlightlyMad. Volumetric Clouds by Kode80 were also added. Getting these three solutions to work together was a bit of a pain and resulted in a multi-camera setup, but thankfully Unity recorder and the Post processing stack didn't have any issues with this. I'd hazard that I spent about a third of my time building the complete environment.
While building my environment I made the decision that there would be no human subjects, only the remaining traces of human, but I still needed a star for this show! I chose this drone and applied some modifications to it in the form of:
Replacing the gun with a spotlight.
Masking out animation on bones that I wanted to hand animate in Timeline.
Creating a small script to handle propeller facing in Timeline.
With my actor ready to go I animated a simple patrol path for it to follow - my thinking was to give the drone a believable routine and then find good camera shots throughout it.
At this point I started developing a strong relationship with Timeline. I had never used the system before but I knew it was what I had always wanted for Unity's animation system.
The drone's root motion - spotlight movement, lens zooming, light intensity and even lens flare - is animated in timeline. I played its various audio effects using an audio track.
I needed a supporting actor (actress?) and purchased a gecko from the asset store. This too was animated in Timeline to great effect and syncing the audio was a breeze.
Speaking of audio, the ability to trim and slow down audio clips helped me a lot, especially in getting the drone's buzzing to sound right.
My entire scene sequence was done on a single Timeline and I used track groups to save my sanity.
I cannot write anymore about Timeline without elaborating on Cinemachine - without it, I would only have a static hunk of metal in the desert.
Camerawork turned out to be a big component of my scene, probably because I enjoyed working with it so much. Cinemachine gave me the tools to live true to creative prototyping. You can compose, alter and experiment with shots at such a rapid pace that it's a wonder my submission isn't 10 minutes long!
My first experiment was a dolly camera moving around the facility which can be seen in my WIP 1 video. This formed the inspiration for the drone patrol.
Having grasped the basics of using Cinemachine, I played around with many different setups. My end product consisted mainly of static cameras, 5 dolly tracks and many follow cameras for the drone. I would have liked to use some of the more interesting body and aim types, but kept things simple to avoid going overboard. A friend already commented that my camerawork had a Hideo Kojima flavour, which made me chuckle. I'll quickly detail how some of the shots were created.
Intro Shots - Done using static to static camera blends with cuts. The workshop shot was done with a dolly.
Drone Reveal - A camera with a high lookahead time was needed to track the fast moving drone from a distance. The FOV was animated to get a zoom.
Drone Arrival - A blend from a drone close-up camera to a shoulder camera that then blends to another shoulder camera that has follow dampening. This gives a nice pullback effect that then slingshots via a blend into the facility's upper platform.
Platform Tracking Shots - Starts with a Dolly that blends into another rear dolly. Lower section consists of a single dolly.
Drone Flyover - A static floor camera that blends to the rear shoulder camera of the drone.
Drone Zoom to Gecko - A blend between the Drone's POV camera and a zoomed camera which has the Gecko as a look at target.
Gecko Approach and Exit - After walking into frame during which the gecko is licking its eye, the camera blends to another camera with the same orientation except without a look at target. This allowed for the gecko to then walk off screen while the camera remains static and then blends upward.
I made sure to add motion noise on many of my cameras as it added an additional level of realism, especially with the windy atmosphere. Timeline and Cinemachine are powerful tools when combined, but the addition of the Post Processing Stack brings it all together to form a cohesive visual experience.
I used the Post Processing Stack v2. Early on I enabled the "must have" effects: Depth of Field, Ambient Occlusion, Bloom, Chromatic Aberration and Motion Blur. Initially I activated color grading only for the ACES tonemapping. While setting up a global profile for the post processing is all well and good, to get full use of the Post Processing Stack one must combine it with Cinemachine and Timeline. This was done using Cinemachine Post Processing extensions.
A major effect that was animated on most cameras was the Depth of Field. This was done to continually guide the viewer's focus and create more believable zooms. Vignette also played a role when zooming in. The black fade in and out which is used in the opening shot and when moving through the floor was done with a vignette and a black color filter.
One of my favourite effects, which truly incorporated the use of all 3 systems, was animating the depth of field focus offset in Timeline on a Cinemachine Post Processing extension. Simply put, what that mouthful means is to change the focus of the camera. The effect can be seen during the sunset shot and the gecko closeup.
A fun use of the Post Processing Stack was creating a visual effect for the drone's POV shot. I didn't want to resort to writing a custom shader so I did it using only the stack. It was achieved with grain, a red color filter and a change from the ACES to Neutral tonemapping. The latter change made it seem like the drone has weak night vision.
Color grading came last and I have to admit I was cautious not to ruin everything. I added some orange to the shadows and blue to the highlights. I also added some saturation and post-exposure to counteract the darkness from ACES tonemapping.
The tagline of my project was "What might we discover?" and I think the answer is "A lot about Unity's new features".
Jokes aside, this was a great learning experience. Beyond the technical skills gained, I also learnt a lot about environment design. I feel my cowboy approach only succeeded to a degree and more careful design and planning would have gone a long way.
It's also important to keep in mind that Timeline and Cinemachine make it easy to mix things up, so it pays to experiment and prototype.
As a first-timer I'm damn pleased with my creation and would gladly do another!
See bottom of article.
Session 1 - Location, location
I spent my first chunk of time raiding the asset store. There is a wealth of good content and I could not help but to spend some cash. I decided to try keep my purchased asset total under $15 for the challenge and a list of assets used so far can be found at the bottom of this page.
After finding suitable models, I set to... watching tutorials. I wanted to be aware of everything available to me before winging it. I quickly visually mocked up some scenes to get an idea of what I wanted to do.
At first I tried creating a night scene after getting the Night Desert asset combined with cliffs from PBR Desert Landscape.
I was disappointed with the direction in which I was going and decided to take a step back and look at creating the sci-fi facility instead of the surrounding desert.
I looked through the assets and thought it would be a good idea to base the interior of my facility on the Unity Corridor and then fly out to an exterior scene through an entrance. I stopped right before starting on my lighting setup for the corridor.
Here is the first true WIP screenshot! Soon there will be light...
Session 2 - Indoor Lighting
Building up my interior lighting was great fun.
I wanted to have the section leading out to be dark and powered down due to some faulty wiring - this would also allow me some dramatic lighting as well as some nice sparking particles in the darkness as my door to the desert opens up.
After getting my basic lights set up inside, I decided to play around with Unity's Post Processing Stack v2. I used v2 because I felt that the new "Volumes" feature would offer some interesting effect changes between indoors and outdoors. I turned a bunch of the effects on and the difference is staggering. I'll get back to finalizing the post-effects once the scene has come together a bit more.
Session 3 - Dust, sweat and wind
So much for keeping under budget! I realized I'll need to confront my lack of 3D modelling skills.
I purchased some modular sci-fi assets for building my exterior scene. I opted to get the 3D Sci-fi Base Vol 1. I also got this nice drone, who I'll have zooming about the facility exterior.
Getting him to work nicely will be a task for a later session.
At this point I also decided that the surrounding desert should have a looming sandstorm.
I created a rough "Sand Storm" particle system to visually mock-up from which direction the storm should approach.
Due to all the dust and sand in the air, a volumetric lighting solution is critical! I tested some of the options and settled on using SlightlyMad's solution for now.
My next step will be to concept, construct and light the exterior of the facility. I also need to get some atmospheric scattering in as I might want to animate my sun.
Session 4 - Environment Lighting
Moving out into the desert, I wanted to have a sunset scene. I added atmospheric scattering using another of SlightlyMad's solutions. When combined with the volumetric light I managed to create a very dusty and hazy atmosphere. After a lot of tweaking I settled on the settings and moved on to make my facility exterior.
Session 5 - The Outside
With my sun sorted I proceeded to make a rough mockup of my facility exterior. After drawing some concepts, I wanted the corridor to lead out onto a multi-tiered platform. I singled out the following as being important features on the platform.
Satellite dish & Communications computer
Lower tier engineering bay
Outside lockers, basin, storage
With that idea in place, I started putting the main building pieces together. I realized at this point that it might be more trouble than it's worth to build an entire "Desert Facility", so I lazily placed the rest of the building inside a cliff - that saved me a ton of work!
At this point I started playing with ideas for cinematic shots. My method is to fly around in Play Mode and screenshot anything that looks good, then when I get started with Cinemachine I'll have a library of nice locations. This is an ongoing process.
My next task is to add props, detail and light to the environment. I'll also need to give some thought to story and events.
Session 6 - Downstairs
Moving onward, I added detail to the key exterior locations. I put a lot of focus on the lower section of the exterior. I wanted to give that area a sort of "Engineering Bay" feel with a more industrial and messy look compared to the rest of the station. I managed to finish up the workshop and decided I'll add more detail on a "will it be seen?" basis.
I also decided on some story details to drive myself in the correct direction when adding detail. Check the Story section at the top of the post to see the details.
One of the enjoyable tasks I encountered was combining assets to create props - whether it be making lights, shelves, random sci-fi doodads and more. I learnt the power of looking at stock assets as pieces that can be combined, resized and otherwise manipulated to form something better or new. Radio tower + Lamp Head = Sci-fi light.
Session 7 - Cinemachine, learning the ropes
I've been suppressing my excited urge to import Cinemachine. Since I started I've wanted to do a flythrough of the environment as a starting point to learn the basics of the new camera system. I am glad to say that I found the learning curve for Cinemachine to be quite low, but that does not mean the tool is any less powerful. In fact, despite my lack of cinematography skills, even I was able to get a half decent dolly shot with little effort. This was also my first chance to use Timeline and it's a game changer!
To get to grips with Cinemachine and Timeline, I started with a number of stationary environment shots. With the basics down I wanted to do something more dynamic. Due to there being no moving characters in the scene, a dolly shot seemed like a logical choice.
I started with the dolly track viewed below. There are two virtual cameras that share the dolly, each with a different look at target. I blend between the two cameras to view the sunset and the door. At the end of the dolly I blend down to a second dolly shot that explores the lower section.
This was a dry run and I hope to replace the dolly with a Surveillance drone soon.
When getting near the workbench section of my fly-through, I was experiencing some bad Depth of Field blurring. To solve the issue I added a Post Processing Volume to that section of the track to adjust the DoF effect. Problem solved! I'm hoping to use this feature again in a more creative way.
Session 8 - Probing the Lights
Lazily, until this point I have not been adding any light probe groups to my scene - most probably due to my lack of moving objects. I'm at the point where that is changing. I started to add particle systems for leaking water vapor to some of my floor panels and pipes.
I noticed how bright the effect looked in low light. After some research I discovered Unity's "Light Probe Proxy Volumes" (LPPV) and set to reading the manual. What I learnt is that you can use these to distribute light data across the geometry of a mesh instead of just sampling from a single light probe. This is exactly what I needed to get my steam looking like it's reacting to the surrounding light. Using the shader example provided on the LPPV manual, I created a soft particle shader that utilizes the ambient light from the LPPV.
The result is rather subtle, but for now I'm happy with it. I'll definitely use it again for some nice effects. Here is my light probe setup for this example. It's rather... overzealous. I'll need to tone it down.
Session 9 - Building a better drone
Progress has been a mixed bag over the last few days. I spent time adding detail to some of the existing areas in the form of pipes, cables, vent smoke and steam. I built a rough computer section for the radar as the bottom tier was feeling empty.
Among all this was a bunch of smaller tasks like setting up light and reflection probes for the facility and finalizing baking for environment shadows. The latter had me using a "mixed type" directional light to correctly bake shadows on the desert surface.
The most fun I'd had in the last few days was creating the first section of my final video submission. Using what I had learnt from Cinemachine, I created a new sequence which involves the drone flying toward the facility for a routine patrol.
While making this animation, I was unhappy with the drone having a minigun as it didn't fit with the tone I wanted. So I removed it and created a red spotlight as a replacement. With a bit of animation masking I've created a setup that allows me to pivot the light around using timeline allowing for some nice focused lighting.
You'll notice there is a Cinemachine virtual camera on the drone's eye. I wanted to make a drone POV shot and used Unity's Post Processing Stack to create a simple effect that serves the purpose for now. The components used were Grain, Vignette
and Color Correction.
Everything is still feeling very rough. I'd like to spend some time polishing the environment with more dynamic details as it all feel a bit static. Beyond this I'll be expanding on my intro sequence and the cinematic aspects.
Session 10 - Clouds and Loneliness
With my sky looking rather barren, I found a great cloud solution using Kode80 Clouds. With the use of reference images I improved my desert sky.
Over the next few hours I further refined my camera composition and movement to suit the lonely and abandoned tone I wanted to capture. In doing so I added a few more establishing shots before making the transition to the drone approach.
I spent some time reading up different types of camera cuts and cinematography best practices. I was happy to see how easy Unity made it to implement these using Timeline and Cinemachine.
With my establishing shots done, my next step is to add some audio and improve the camera work for the drone related section of my submission.
Session 10 - Full Sequence
One week left. I'm at the point where I've completed the near final animation sequence and camera work. From now on I'll be focusing on adding:
Detail to to the environment
More particle systems and improvements on current ones
Smoother camera transitions
More realistic animation on the drone
A short sequence where the drone feed tracks a gecko inside the facility
Final post-processing, especially color grading
There are also a number of weird graphical oddities which I need to address. The last push is here! I'm hoping that my final submission will look much better than my WIP 2 video.
Session 11 - Sci-fi Gecko scanning
Working through the checklist from my previous post I have improved the audio with the addition of drone whirring, camera zooming, wind blowing and a few beeps and boops.
A callout to the "Camera Sound FX" asset - I used the zooming sounds it provided. If I actually had buttons being pressed or knobs being turned, this would be a go to asset.
Another addition was the HUD graphics for the first person view of the drone. I purchased "Sci-Fi UI Arsenal" for this purpose.
The animating graphics in it are awesome, however the creator has not converted them over to the Unity UI or Sprite systems. This has been a little hurdle and has led to a less than perfect implementation. With a bit of time I might do the conversion on my side.
I am a big fan of subtle storytelling and I wanted to try clue in more about the story using the graphics found on the drone's HUD. I've done a first pass and will try come back to it before my final submission.
Another big addition was that of the gecko section. Upon reviewing my video I felt the first person drone view into the facility was boring as nothing was really going on. From a suggestion, I purchased a gecko asset and added it in. It took a bit of legwork with cinemachine and lighting to get the feel right but I'm really happy with the results so far. I also feel like the gecko adds a nice atmosphere and brings up some story questions about this facility.
How did it get there? How is it surviving? Is the facility safe?
Moving forwards I'll continue working on my checklist. A final pass of all the Post-Processing effects will probably be next.
Session 12 - Polishing
Two days left. I've taken to critically examining each shot in terms of composition, motion and focal point. Cinemachine makes it very easy to alter these, even when you have an enormous timeline! With a drag of the mouse or a change in dampening you can completely alter the feel of a shot, allowing for some rapid "Shot Prototyping"
An example of this would be my drone arrival shot. It used to be a purely static, over the shoulder shot that stuck to following the drone. I completely changed the motion by adding a second camera with a dampening on it's follow and then transitioned in timeline to the arrival camera instead of cutting. The whole shot has a lot more dynamism to it. The ease of altering camerawork led me to add more blends between my Cinemachine shots. Fun fact - at this point I have 32 Cinemachine Virtual Cameras in my scene.
I've also spent some time correcting all my rough animations for the drone. The asset came with an idle animation, which I play on loop with an animator. I then animate a parent object of the drone around in timeline to achieve it's rotation and position in the scene. I found that converting between timeline infinite clips and animation clips was a godsend for adjusting timings and then moving the entire sequence around. I also animate a number of odd values on the drone such as the lens flare, buzzing audio volume and volumetric lighting density. All are done to aid in certain effects.
As mentioned in an early post, I masked out the imported animations on the drone's spotlight attachment in order to animate it by hand in Timeline. However, I could not use the same method on the propeller attachments as they required their imported animation data. I needed a way to animate these and so, I wrote a very simple script to set their rotation in LateUpdate (ie. After animation changes have been applied). I then animated a public variable of the script in Timeline and tah-dah! Rotatable propeller wings.
I just started work on a major review of my Post Processing setup. I kind of regret leaving it until so late as I am seeing what a big impact this can have. But more on that later!
Session 13 - Finishing touches
This could be my last "Making of" post. The past session started with me adjusting my Unity Post Processing Stack effects. The effect that needed the most work was Color Grading. As previously mentioned, I was late to realized how powerful and important color grading is.
I've always had the ACES tonemapping enabled to give a realistic look. However ACES does make shadows a lot darker which needed some adjustment. Using the Waveform display as a guide, I bumped up the Post-Exposure a tiny amount to counteract the darkness from tonemapping. I then added a bit of saturation to bring out the colors. The Trackballs are very powerful and can completely alter the mood of your visuals. I took a very conservative approach when working with them and simply added a bit of an orange-red to the shadows and a blue to the highlights. From the beginning, I wanted my color scheme to be a play between oranges and blues in a sort of Sci-fi vs Desert as well as having some moody dark lighting to emphasis the "evacuated" theme.
Currently I have a global Post Processing Volume for effects like Ambient Occlusion, Color Grading, Bloom and Motion Blur. I then override Depth of Field, Vignette and Chromatic Aberration on a per-camera basis using Cinemachine overrrides. The fade to black effect that is used at two points in the cinematic is achieved by blending to another global volume that is purely black with a strong Vignette to give a circular effect during the blend.
I do a lot of Depth of Field changes using the "Focus Tracks Target" setting of a Cinemachine Virtual Camera and then animating the "Offset" in Timeline. Without that feature, a lot of my camerawork would not have been possible.
In many of the shots the surrounding desert and sky was too yellow. After some detective work I discovered that my combination of Volumetric Light, Clouds and Atmospheric Scattering were all fighting in terms of colors and intensity so I pulled up some more reference images and adjusted each system. The sky is a lot bluer now and overall things feel more realistic.
Throughout all these changes I would look at each camera shot and ask myself "Does this feel right?" I want each shot not only to be visually interesting but also to add to the world's story. This process had me adding some faded photos to the workshop, adjusting the look of dangerous barrels, adding more clutter and more. I want the scene to feel like everybody left in a hurry without time to grab what they owned.
Another finishing touch was the addition of ambient smoke and dust. This was done using Particle Systems and while most are rather subtle, one such effect that needed to be noticed was the gas suction from when the Facility door opens. I reused the Light Probe Proxy Volume method on this system to great effect when coupled with the drone's spotlight.
That's it for this update. A few more tweaks and my final video will be up.
Session 14 - The End
I've added a few tiny changes before my final update. The cuts to the drone felt quite jarring so I added/faded in audio to alleviate this. I did one final pass of moving objects around the scene and adding some small detail props. It's been quite a journey!
The following is a list of all the assets used to build my scene