Gal Ravid-Tal talked about the Scrappy cinematic, explaining how he made the robot look rusty but cute and showing the lighting setup that allowed him to easily test different moods.
In case you missed it
More from the artist
Introduction
Hi, I'm Gal Ravid-Tal, a 3D/Unreal Engine generalist and compositor currently working at Platige Image. My experience includes movies, TV shows, commercials, and product visualizations.
Scrappy
The Scrappy project began with gathering references from Wall-E, Fallout, junkyards, and wastelands. I broke down the process into stages: modeling/layout, look development, rigging, animation, rendering, and compositing. Documenting key elements to explore was crucial for laying a solid foundation.
I was particularly inspired by the emotional connection established with characters like Wall-E. The combination of a post-apocalyptic setting with an adorable character resonated with me deeply.
My goal was to create a visual that met today’s CGI and VFX standards while capturing the essence of both Wall-E and Fallout. I aimed to utilize Unreal Engine's full capabilities for character and environment development, testing new rigging tools and showcasing Scrappy’s personality through animation.
After collecting images and notes, I analyzed how to implement key elements into my concept. This involved studying Wall-E for its emotional expressions and examining the environments, camera animation, and lighting techniques.
I wanted to create a world that feels approachable yet retains the gritty aesthetic of a wasteland, ensuring it remains engaging for all audiences. To find a balance between Wall-E’s charm and the realism of Fallout, I examined various scenes, paying attention to color, tone, and layout.
Blockout
I approached composition with the goal of keeping Scrappy cute. Using references from Wall-E, I considered proportions for his head, body, and wheels. This initial step helped me visualize the character’s silhouette and ensured that details would communicate Scrappy’s essence effectively.
To set the scene, I utilized Quixel Megascans to source old, rusty metal parts, dragging them into an empty environment. This allowed me to creatively push the potential of each asset. By establishing a solid foundation with basic shapes, I could visualize progress quickly, ensuring clarity in both close-up and distant views.
Modeling
While most of my assets came from Megascans, I did manipulate some parts for functionality, such as creating holes for moving components using Unreal Engine’s modeling tools.
I focused on adding realistic details like screws and metal patches to enhance the character's believable design. This iterative process involved balancing shapes and breaking symmetry to create a more complex assembly without overwhelming myself with numerous distinct parts.
By using Megascans, I saved a lot of effort so I could have more time for creative thinking and problem-solving.
Since I used Quixel Megascans assets, there was no need for retopology or UV unwrapping. My goal was to create it all inside the Unreal Engine with accessible free parts.
Texturing
Thanks to the quality of the Megascans assets, I spent time fine-tuning shader parameters like color, specularity, roughness, and normal maps. I aimed to tell a story through the textures, adding dusty, rusty, and oily details to reflect Scrappy’s adventures. Using decals from Quixel Bridge, I layered dirt and graffiti on key components to enrich the character's narrative.
Rigging
For the rigging stage, I followed the post process rigging tutorial, creating the basic wheel rotation and steering.
Since Scrappy has some other parts and functionality that I wanted to create, I learned how to use different functions to create the procedural part wiggle effect (that saved me a lot of time in animation) and the piston rig.
Since I wanted to keep it non-destructive, I created dummy shapes to represent the volume and some key elements and assigned the skin weight for them so I could later just parent my complex assembly to them, without the need to skin weight the actual Megascans assets, this method allowed me to keep everything editable until the very last part of the project, knowing that I can always add/remove some parts if needed.
Composition
I started by placing Megascans assets for the ground and adjusting materials to create a cohesive look. Once I established a base camera movement, I focused on layout and scattering only what was visible to the camera, optimizing time and effort.
Since I wanted to create some junk clutter, I decided to use the PCG system inside UE.
With a simple setup of grid points and some random transformation operations, I was able to procedurally create a junk pile that I could place in different places in the scene.
Since it's just for background and will not be visible from a close distance, I allowed some intersections between the objects to get the impression of a junk pile.
After I was happy with the layout, I manually placed some additional assets to break up repetitions or bad intersections, this way, I could save time and focus more on the creative look and layout. Using this method is also non-destructive since I can change the scattered objects at any time, allowing me to quickly test and iterate new variations and ideas.
Lighting
After spending some time looking at some selected reference images from Wall-E, junkyards, and Fallout, I had a clear understanding of what I wanted to achieve and how I should approach it.
Unlike the typical post-apocalyptic sky, which has a hazy, orangy dark mood, I decided to go with a clearer sky and some blue colors like you can sometimes see in the Fallout TV show, it will help to separate Rusty Scrappy from the background, it will create nice separation for him and will make him stand up more against the background.
I used directional light as the key sun light along with a sky light actor for the global ambient lighting filling the dark areas. This lighting setup allowed me to test different moods really quickly, and it was easy to adjust for any other shot.
A simple lighting setup makes it easier to debug your scene, and sometimes it's just enough for what you need, as I can always add lights to emphasize some elements.
Rendering
I used Lumen for global illumination as it's really fast and can get amazing results. For rendering, I decided to use UE5.4's Render Graph, it's a node base setup that is equivalent to the movie render queue in UE but gives you much more control and flexibility over the rendering stage: you can split your shot into layers, deciding how many samples each layer will have, creating collections that can be turned on/off during rendering, create matts, and much more.
I used this graph to create a setup that is similar to the rendering setup you will see in traditional VFX pipelines where the environment, character, and FX being rendered separately allows finer control in the compositing stage.
So, in Unreal's editor, I created folders for the elements, and all I had to do was drag my assets to the folder where I wanted them to be.
Knowing that I wanted my render to look super clear and sharp, I rendered my shot in 4K along with some additional temporal sample count for more detailed motion blur to save some disk space and to have faster playback in compositing, I saved my image sequence as EXR with DWAB compression.
For the compositing stage, I use Nuke; I rebuild the beauty image by bringing back the different layers and merging them together, and since each layer is independent, I could work on some color corrections for each of them, getting Scrappy more visible, changing some colors for the haze and the environment and making sure that everything is working together.
Down the stream, I use some glow and diffusion to get this hot sunny look, along with some subtle chromatic aberration that also helps to "break" the super sharp render. For the final step, some global color grading, grain, and cinematic 2.39 crop were applied.
Animation
The animation stage was super fun, thanks to the rig and the procedural options, I was able to create the animation really fast; for the directional move, I just had to move the controller that rotates the wheels, and with some manual keys for the body and the head, I added some personality and expressions. Since I had some global jitter control for all the parts, I was able to add another level of detail to the parts, making it look like he's sloppy and his parts are loose.
My goal in the animation stages was to show how goofy, cute, and sweet Scrappy really is. So by making his body jump, rotating his fan, and running his engine faster, I could add some personality to his character.
Sound played a crucial role in enhancing the project’s emotional impact. I sourced free sounds from Pixabay, layering them to match visuals in After Effects. Choosing I Don't Want to Set the World on Fire by The Ink Spots connected the project to the Fallout universe, tying everything together.
Conclusion
The entire project took about two weeks, with a few hours dedicated each day. The main challenge was designing Scrappy to look cute and expressive without conventional facial features. Limiting myself to using only Megascans assets pushed my creativity in exciting ways.
This project taught me how to find innovative solutions using predefined assets and highlighted the efficiency of Unreal Engine’s robust toolset. I thoroughly enjoyed the process and look forward to future projects where I can continue to explore and grow as an artist.