My Name is Joshua O.I and I'm a self-taught freelance 3D generalist. I’m from Nigeria and my passion is to create beautiful art and animations and I have been doing so for about two years. I use software such as Blender, Substance Painter, and Marvelous Designer to bring my ideas to life.
About Sad Robot
This is a small project I worked on recently for the Blender52 weekly theme “Robot”. I drew inspiration from the design of Astro Boy and Voltron. The whole point of this project was to create a worn-out and abandoned robot. The feeling I wanted to convey was one of waiting—the feeling of a sad robot.
I wanted to make the robot have a see-through plastic chest with the power core light shining through. This would flicker in the animation, showing a low power state for this robot.
This project was made using Blender 2.93, with Substance Painter for texturing. I worked on this using a Dell G5 5500 with an i7, 16GB RAM, and 8GB NVIDIA RTX 2070.
I started off the project by modeling the head and continued till I got to the feet. I ended up experimenting while modeling since I hadn’t made a concept drawing as reference. I extruded and changed shapes till it looked good.
After modeling and unwrapping, I imported the robot model into Substance Painter for texturing. At this point, I decided on what type of look to give the robot. I initially started texturing the robot using a plastic material but later changed to a metal base.
I felt worn edges would be more visible on a metal base with scraped-off paint. A metal robot would look more rugged than a plastic robot, as well.
With this in mind, texturing was more direct, and with Substance Painter's built-in smart materials, creating edge wear and scratches was easy. I also added a lot of dirt to show that he has been working a lot in a dirty environment.
In the texturing phase, I decided not to include rust on the model—mostly scraped paint and scratches on the surface from damage in use.
With the model back in Blender, I generated a rig using the Rigify add-on and parented parts of the robot to it. Areas like the tube on the neck and the spine were parented with automatic weights to allow for mesh deformation during animation. Using shape keys for the eyelids made it easy to animate blinks and minor expressions (serious or sad).
The environment design is simple.
- A sidewalk by a train track overrun by plants and grass.
- A pile of tires for the robot to sit on.
- A trash can and a cup to add to the scene.
- Background elements: The fence, little bushes, and some trees.
I used the Scatter5 BETA add-on for the grass and flowers. The add-on’s spray tool was a lifesaver and made it easy to both manually place scattered plants in areas where I wanted them to be, and to scatter dead leaves on the sidewalk.
In order to keep my scene light, I only focused on areas that would show up in my camera view for both the animation and still render. This would save render time.
A basic train tunnel was made and then extruded for quite some distance. The end was enclosed so that light could not pass through. The image below shows the full environment setup for both my renders and the short animation.
Several of the models for the environment are from my past work. The tire, the train tracks, fence, bin, cup, and ropes are all models I had made previously, so setting up the scene was quick and simple. The tires were made in Blender and textured with Substance Painter. I used the displacement modifier to achieve the bumps and tread of the tires.
This is a basic animation I created to show the robot in this environment. You can see a breakdown of the animation below, showing the robot posing, and some clips from the rigging process.
The grass and flowers were animated with Scatter5 BETA 's built-in wind and turbulence settings. As for the trees and ferns, I simply animated them by using the noise modifier on the animation curve of the simple deform modifier. By adding keyframes on the angle of the modifier on both the x and y axes, the noise modifier varies these keyframe values and gives the plants a waving motion.
I added wave modifiers to create more organic movement of leaves of the plants as well as the trees moving in the background.
As an emitter, I used a plane to emit small dirt particles around the scene. This added a little effect to the animation render. I intended to add proper blowing dust, but it would have significantly lengthened my render time.
To get smooth camera movements in the animation, I parented the camera to a circle empty. This approach allows easy keyframes of rotation and scale to make the camera glide out quickly while focusing on an empty with the use of tracking constraints. I find this method easier when you need to make the camera swing around a model.
Different lighting setups were tested, and the best option came down to just an HDRI for the scene. I added point lights to illuminate the chest cavity of the robot to enable rendering of the inner parts of the robot. The core light of the robot is an emission shader, which is easily controlled with keyframes to create flickering effects or indicate power up or down states of the robot.
The animation was rendered in Cycles at 128 samples, and basic compositing was done in Blender. Below you can see the simple setup I used for this render. After rendering, I denoised and added mist and ambient occlusion using nodes.
I color-graded my renders again in Blender to add Vignette and other effects. The screenshot below shows the setup I used to get the final images for the animation. These images were then rendered as a video file using Blender’s video editor.
I gained a lot of experience during the 15 hours I spent working on this project—especially in getting good camera angles, camera focus, and animating my environment. I hope to make more animations using the sad robot in the near future.
You can see the full timelapse for modeling and texturing the robot below.
Thanks for your time and I hope you gained something from this brief write-up about my small project.
About the author