3D Animation VFX

The Walk: A Blender Short-film

The Walk is a three-minute CGI and visual-effects-based short film that follows a character as he travels through a dystopian city affected by rising sea levels. As people adjust to their new lives, they survive on boats and in cities built above the water. The plot revolves around a single main character, a musician who is making his way through the vibrant and colorful city.

The project was inspired by Dynamo Dreams, a recent short film released by Ian Hubert, a well-known VFX artist. He created a short film that was vibrant and well-crafted, and he was able to seamlessly incorporate real-life elements into a completely CGI environment with cameras in 3D space.

Figure 1. Dynamo dreams before and after.

Process
Script, Environment, and Previz – After writing the script, I did a rough block out of the environment in which the story would take place. This was just so I could have a clear visual image of what the world would be like and then finalize the camera angles. I decided to challenge myself with a few shots that were a little more technically difficult to execute.

Figure 2 and 3. (Left) Block out of environment. (Right) Blocking out camera.
  • The first shot was the walk through the apartment. My plan for this shot was to have the actor walk backward on the set after reaching the end which I would later cut out and stitch in post-production, and key-frame them in 3D space to give the illusion that he is in a much longer space. I blocked out the cut points to be hidden behind the walls so they would not be visible.
  • The second point was where the character was seated on the boat. I wanted to add a camera rotation at this point, but I wouldn’t be able to do so due to a lack of space on set. The plan was for the character to rotate on set, on a chair, that would later be parented to the main camera. Technically, if I rotate the camera and the image plane at the same rate as the character, they should cancel each other out and create the illusion of a camera rotation.

Green screen Setup
Before shooting, I broke down the script into different scenes. This allowed me to make the necessary changes to the script while also getting an idea of how each scene would play out. The next step was to get the set ready — this included the green screen setup as well as the lighting.

Figure 4. Green screen setup in studio.
Figure 5. Scene breakdown for shooting.

Camera settings – The camera setup came next. Because I had never worked on a green screen project before, I spent some time researching the various settings that would be best for my film. Color profiles, ISO, aperture, focal length, and so on. For this project, I decided on using the SLog2 color profile as it captures a dynamic range of colors allowing for more control during the color correction stage. After I tested it with different light settings I finalized the following setting for my film.

  • Lens 16 mm
  • Frame rate 23.98p
  • ISO — 1000
  • Aperture .F5.
  • Shutter speed 1/25
  • Quality — 4K

These produced the best results for me. The 16 mm lens provided me with a wide frame, allowing me to photograph a larger area. The ISO and aperture were set so that my subject was properly exposed and had less grain. I set my shutter speed to the lowest possible setting to reduce motion blur as much as possible. Having the proper settings was critical because it would ensure that I would not have any issues with keying or motion tracking later.

Figure 6. Color profile tests.
Figure 7. Color profile tests.

Motion tracking and lighting – When shooting on a green screen, it was critical to have even lighting over the entire screen, and to keep shadows to a minimum. For this, I had to prepare a variety of lighting setups for each scene. I kept two lights behind the actor that would not be moved so that the green screen would be lit evenly. I also used two different colored lights to highlight the characters.

Figure 8. Lighting setup for scene.

Production
Filming – I had scheduled 15 days for filming, which included finalizing the characters’ costumes, going over the scenes with the actor, and finally a few days in case any scenes needed to be redone. The main shooting of the film took only three days after the costumes were finalized. I then went on to run some tests to see if any shots needed to be re-shot.

Figure 9. Character costumes.
Figure 10. Behind the scenes filming scene 2.

Color correction, motion tracking, and keying – After color correcting the footage in Premiere Pro it was now time to start tracking my shots. I brought my shots into the blender and tracked them. The tracked shots were then taken into the compositor for keying. I used blenders keying nodes to key the green screens. I had to create masks for the best result. The garbage mask removes all of the unnecessary items from the scene. The rotoscope mask was only required for a few scenes, and I created one whenever a keying issue was visible. Then I moved into masking, and created a rough rotoscope of the character’s interior to prevent the keying from entering the character.

Figure 11. Footage before and after color correction.
Figure 12. Tracking the shots in blender, using the marker on the green screen.
Figure 13. Keying out the green screen and the tracking marker.

Assets preparation – I had three main assets in mind when I started prepping my film for production: a boat, two robots, and an elevator. Due to time constraints, I was unable to create every single detail of the model and instead I kitbashed the parts from various models and assembled them for my assets.

Figure 14. Flying bot assets: the bot was a model from Sketchfab that I re-textured. I also added details such as dirt, dents, and stickers to add realism.
Figure 15. Ferry robot was also a model from Sketchfab. Light texturing was done on the text displays.
Figure 16. After rigging, the robot was brought into Mixamo to add the animation. This was a tedious process because the character did not come ready for rigging and animation.
Figure 17. An animated robot.
Figure 18. I used Kitbashing to model the boat and to add details on the boats such as chairs and light posts.
Figure 19. I also textured the boat to add as much detail as possible.

Bringing footage and camera into the scene
The keyed footage was then brought into the scene and parented with the motion-tracked camera. I placed the character in the correct positions in the scene using the rough block outs of the environments I created earlier.

Figure 20. Bringing in the keyed footage into blender, and matching it with the motion-tracked camera.

Environment building
Using the characters’ positions and camera movement, I began to build a more detailed environment. At this point, I was using texture-based modeling, which is essentially image-based asset creation.

I sourced my textures from Textures.com and simply extruded parts of the buildings to match the texture as closely as possible. I then used the UV maps to fix and adjust any stretching or imperfections in the model. I used this method to create the majority of my scene. To save time, I also imported a few building models from Sketchfab and Ian’s Patreon for some of the close-up shots. I tried to include something interesting to see in each scene and make the space appear large and populated.

Figure 21. Making buildings using texture-based modeling.
Figure 25. Final scene environment.
Figure 24. I made sure to keep the environments open to make it appear large and populated.
Figure 23. Here I also added some puddles on the floors to add some subtle details to the scenes.
Figure 22. Scene 2 market building.

Adjustments to the character positions
Some of the scenes where the characters were gliding or sinking into the floor contained errors. These issues primarily arose in Scenes 1 and 2. I had to manually adjust each keyframe in order to do my best to get the characters’ feet lined up correctly for all of the scenes.

Figure 26. Manually keying each key-frame to prevent the character from gliding and the foot from sinking
into the floor.

Environment changes
After completing a draft version of the scene, I consulted Mr. Mike who suggested covering up the characters’ feet. He also advised me to include something more interesting in the first shot to pique the viewer’s interest. The scenes require more detail in the background, so I began to construct more buildings for better composition.

Figure 27. Scene 1 Environment progression.
Figure 28. Scene 2 Environment before and after.

Re-texturing and adding details
At this point, I also began re-texturing all of my buildings. Because I had only used images to construct the buildings, the majority of them lacked details. I had to go in and add grudges and roughness to the buildings to make them look more realistic. This was accomplished with the help of the blender’s nodes.

Figure 29. Adding concrete texture as bump maps to add details to the walls of the building.
Figure 30. Progression of the scene 1 building texture. I combined multiple textures to pack in many different details for this wall because this was a closeup shot.

Lighting
I was using Eevee to render out my scene and because of this I had some lighting constraints. Evee does not use path tracing, so it is unable to capture realistic light bounces. To compensate, I needed to add irradiance boxes, which calculated and faked bounce lights, but I had to be careful with them because they would significantly affect rendering time. I was also limited to only 128 lights per scene when using Eevee, so I had to plan ahead.

Lighting, in my opinion, is one of the most important aspects because it brings the scene to life. Furthermore, proper lighting would be required to make the character fit into the scene. I began by placing lights near the character, attempting to match the location of the lights on the physical set as closely as possible. To separate and add depth to the scene, I used a combination of orange and purple lights. I also added highlights in post-production, to direct the viewer’s attention to specific areas of the scene.

Figure 31. Before and after lighting.
Figure 32. Before and after lighting.

Adding details
It was time to add some details now that the environment had been completed. The majority of the details came from Ian Hubert’s Patreon. Garbage bags, boxes, and other such details are scattered throughout each scene.

Figure 33. Adding garbage and electrical objects for environmental details.
Figure 34 Adding air conditioning units and wires created realism in the scenes and helped to cover up any imperfections in the building’s textures.
Figure 35. I added graffiti on the walls to cover up empty spaces and used this an opportunity to include little Easter eggs in my scene. Here is the logo of the final showcase to add a graffiti detail on a wall.

Crowd Simulation
I created a particle simulation of crowds of people in the market and open areas using Ian Huberts’ crowd assets. I struggled a little with these simulations, trying to place them in the correct position and doing my best to avoid any physics simulation glitches. I also had little control over where and how individual people in the crowd moved, so I had to simulate them several times before I got the perfect one which I baked and saved to my scene. I created a total of six crowd simulations for various scenes in this film.

Figure 36. Crowd simulation to add life to scenes. I used 3D models of characters and particles simulates to make them wander around aimlessly in the environments.

3D Characters
Ian Hubert provided all of the assets for the characters in my scene. I had intended to use some of the ground footage in the skies, but I didn’t have enough time to key out each character. The 3D character assets were rigged, making it easier to add animation to them. For some, I simply used Mixamo animation, while for others I used Mocap data. I couldn’t find any looping animations, so I used non-linear animations in blender to add repeats and make them appear to be looping.

Figure 37. I added more detailed animated 3D characters closer to the camera to cover up some of the glitches in the crowd simulations and break the monotony.

Rendering
I divided my scenes into layers for rendering, which I then composited to form the final image. Because I was now working with layers, I had to render out my ocean in cycles since Evee does not capture just the light and shadows of an object without rendering it.

Here are some rendered layers before compositing:

Figure 38. Breakdown of the various render layers in Scene 2 before compositing.

Compositing and color grading
I used After Effects to do my compositing. Here, I used the various passes I rendered out to fine-tune the final.

Figure 39. Here is the development of the final result as I stack the different layers and passes on top of each other in After Effects.

Sound design
The sound design was the final step in the process. I kept the film’s sound design as simple as possible. I plainly layered various sounds from Epidemic Sounds and YouTube in Premiere Pro and added in fades and audio gains to smooth them out.

Figure 40. Sound design done in Premiere Pro.
Figure 42. Before and after shot scene.
Figure 41. Before and after shots of Scene 2.

In conclusion
This was my first green screen and CGI project, and I learnt the bulk of what I did for it in just a few weeks before the semester started, and the rest while working on it. As a result of my lack of experience I ran into a lot of technical problems, particularly with the motion tracking, and I had to redo the process several times before I got it right. Throughout the project, I found myself continuously putting out fires that I could have easily prevented if I had been prepared or recognized that what I was doing would cause problems down the line.

However I really enjoyed the project and had a great time working on it. The assignment provided me with a deeper grasp of the process of creating CGI films. I learned so many new techniques and got to experiment with different equipment and tools during the process. But the biggest takeaway for me personally is realizing how much I enjoyed doing 3D and Vfx work. This excites me and I can’t wait to learn and see what more I can create with it in the future.

Leave a Reply

%d bloggers like this: