Animated CGI hand


I've spent the last few weeks working out how to make this simple 3D animation in Blender. It's been a fiddly process, so I thought I'd share what I learned.

The very first time I opened Blender on my laptop I couldn't tell how to select an object, or rotate the view, or do much of anything at all. I'd never been so confused by a program before, and so went looking for help. I found it in this nine part tutorial series by Andrew Price. During five engaging hours he walks through the creation of a 3D donut and coffee cup, cleverly covering everything a new Blender user could need to know.

I was especially interested to learn that many basic tasks in Blender are performed using a three-button mouse and a dedicated keyboard number pad. I had neither of those things, so following his advice I changed Blender's UI settings to work with my laptop trackpad and keyboard. This cleared up my earlier confusion, and meant I could now select objects, change views, zoom in and out, and so on.

After five hours of making 🍩🍩 and ☕️ with Andrew, I returned to my task of getting a hand to wave hello. I bought this hand model, downloaded the .obj file, and loaded it into Blender. Applying a subsurf modifier added in smooth detail, and a wireframe modifier gave it that strange webby look.

A blocky CGI hand, a smooth CGI hand, and a CGI hand rendered with a webby appearence

I then followed Andrew's guide to positioning cameras and lights, changing the stark lighting in my scene to something more subtle.

A brightly lit CGI hand, and a CGI hand with more subtle lighting

When it came time to rig the hand with bones and animate it, I followed this video. It's long, but thorough, so stick with it.

A screenshot of Blender showing a CGI hand rigged for animation

With the model complete I was finally ready to render the animation. Andrew offers suggestions for speeding this process up, and in my case that meant:

After quite a bit of testing I output all 51 frames at 200% size and 800 samples, saving them as 2,400px × 2,400px JPEGs. Each frame took 33 minutes to render, for a total of about 28 hours. Yes, 28 hours. I didn't mind the wait, but if time had been a real problem I could have paid blendergrid $35 to render the whole thing for me in just two hours.

Next I needed to combine those 51 JPEGs into a single MP4 video. To do that I used a powerful piece of encoding software called FFmpeg. The default FFmpeg installation instructions are really confusing, so I first installed a package manager called Homebrew, then told Homebrew to install FFmepg using the terminal command brew install ffmpeg.

I then navigated to the folder containing the JPEGs and told FFmpeg to create an MP4 video using ffmpeg -framerate 24 -i %04d.jpg -preset veryslow -crf 18 hand.mp4. Here's what each part of that command means:

The result of which was a 1.6MB MP4 that looked great and was way smaller than anything I could get Photoshop or Quicktime to export.

The final touch would be a subtle rubbery squeak to accompany the movement of the fingers. I tried extracting such sounds from a variety of household items – kitchen gloves, exercise bands, Crocs, etc – but nothing worked very well. Eventually I turned to the internet and found this sample of a man pulling apart a moist red cabbage.

I loaded that .wav file into the free audio editor Audacity, and trimmed it down to the 2.5 seconds I was interested in. I then applied a Bass and Treble filter and a Low Pass filter to reduce the crunchiness and make it sound more rubbery.

A screenshot of Audacity showing an audio file being edited

I exported that as a .wav file, and used this command to add it to the video: ffmpeg -i hand.mp4 -i soundeffect.wav -shortest -map 0:v -map 1:a -vcodec copy -acodec aac hand_with_soundeffect.mp4.

And there we are. All done. I'm afraid I can't supply my finished .blend file because the hand model I used isn't mine to give away. However, if this piqued your interest in Blender be sure to watch the many tutorials Andrew has on his Blender Guru site and on his YouTube channel. All the ones I've watched so far have been enormously helpful.

If you have questions, comments, or corrections, please send them my way on twitter.