A little kitschy dancing man… in Blender (1h-challenge)

Here’s a little animation I made in 1h to play around with Blender modifiers!

This article is also available on Medium.

For the past few months, I’ve been having quite a lot of fun with Blender, the free open-source 3D soft. Yesterday, I decided I would give myself an hour to make a basic animation clip of a few seconds and look at some modifiers that Blender offers, plus some vertex colouring.

My goal was not to make something grandiose but just to improve a bit my skills in Blender and, overall, get a flashy and funky video!

Here is the final result – it’s a 12-seconds animation that loops, make sure to watch until the end 😉

About this render…

Because I only allowed myself 1 hour, I had to find ways of quickly making various effects in my scene, like the wireframes, or the floor deformations – or even the character animation itself!

Here is a quick overview of my process for this render 🙂

Playing around with modifiers to make the dancing floor!

The main thing I wanted to try with this standalone project was the gallery of modifiers that Blender has. There are quite a lot and I obviously only used a few of them, but it was already quite interesting to speed up some parts of the process.

For example, the “dance floor” (i.e. the coloured plane beneath the character) is actually a simple plane with just a few subdivisions:

But by adding a Subdivision Surface modifier, you can automatically add details to your geometry and get a tweakable amount of additional subdivisions. This is nice because it means you don’t have to “bake” the subdivisions into your mesh: you can increase or decrease the amount to your liking, hide the modifier to see the “low-poly” original mesh, etc.

Then, I also used the Wireframe modifier to add the little “grid” effect on the meshes. It basically extracts the edges from the geometry and replaces them with little “tubes” so that they can be rendered for the camera. You can of course choose the thickness of those “tubes” and setup various options to better refine the result.

It’s how I got the dark lines on my plane (and you see that it takes into account the Subdivision Surface and adds a wireframe for the detailed geometry):

Finally, I extensively played with the Wave modifier (both in unidirectional and bidirectional modes) to get the sinusoidal deformation on the plane all throughout the animation; and I added a little Build modifier at the begin and the end of the movie to have the faces of the mesh appear/disappear randomly:

Shading and vertex colouring

The next step was to add some colours to this plane to make it more funky! For this, I took advantage of Blender’s vertex painting feature that allows you to assign a colour to the vertices of your mesh, and auto-interpolates between those colours on the rest of the mesh to get blend gradients:

To actually get this in your renders, though, you need to use the “Vertex Color” node in your shader as the input color:

Here I also used a little Emission node and enabled the “Bloom” option in the EEVEE renderer to get the glowy effect 😉

Modelling the character

Modelling the character was pretty straight-forward: I used Blender’s Mirror modifier to directly get a symmetrical mesh along the X axis, and then I followed some anatomy references to get the proper overall proportions. I did, however, make the feet a bit bigger to get a more “cartoony” effect:

Once I had this base mesh done, I simply applied a Subdivision Surface modifier on this object as well and it smoothed out the geometry (here shown in “Smooth shading” mode):

Finally, I applied a Wireframe modifier and some emissive material to get a render style matching the one of the dance-floor plane:

Rigging and animating

Of course, because I only had one hour to make the entire scene and I’m not that great at animation, I couldn’t integrate this a fully handmade dance animation 😉

So I actually went to the Mixamo website that is full of great free-to-download animations, and I got one of “hip-hop dancing”! This library is from Adobe and it allows you to easily get animated skeletons (with or without the stick-figure model) in the FBX format:

You have a whole bunch of animation types: walks, runs, jumps, fighting, dancing… and it is quite easy to import in any 3D software, or even game engines like Unity! If you’re like me and animation is not you forte, this is definitely a great way to give life to your characters and boost your 3D scenes or your games 🙂

So, at that point, I could import a little character with an animated skeleton in my scene and play the animation:

Then, I had to apply this animation to my own character. After scaling up my model to match the size of the armature, I simply used Blender’s automatic weights feature to associate the skeleton to the mesh. In my opinion, this auto-rigging tool is really great and, most of the time, if your geometry is okay, it will get pretty good results out-of-the-box.

But there were a few vertex that had not been assigned properly to the bones, so I corrected them using the vertex weight paint mode. This basically allows you to draw directly on your mesh with sculpt-like brushes the influence that a given bone has on the various parts of your mesh. Here is an example for the left arm bone: you see in blue the zones that are not impacted by its movement, in green the ones that are slightly impacted and in yellow/red the ones that are deformed the most:

Once I had corrected those weights, the armature could deform my own mesh and so, after hiding Mixamo’s reference character, I basically had my own character doing the hip-hop dance! 🙂

All that was left was to add a few animation keys for the position and the overall scale of the character and match this to the deformations and modifiers of the dance floor!

Note that for the scale up/scale down phases of the character, I re-used a technique that I discussed in my series of isometric room renders: the delays and anticipated/exaggerated movement. It’s the idea of not just going from point A to point B but rather going a bit further than B (you exaggerate the transform) and then “settling down” to the target state. Depending on whether you do it at the beginning or the end of the movement, it can feel like you’re gathering energy before making the move (anticipation), or like you’re absorbing this energy afterwards (exaggeration).

Conclusion

This little 1 hour-challenge was a nice way of discovering more of Blender’s features. The time constraint is interesting because it forces me to set up a simple scene and focus on just one precise idea 🙂

Compared to the other CG series I’ve been doing, making a standalone render is also cool because it allows me to try things out without committing to a larger scope…

I hope you like this render! If you do, don’t hesitate to check out my CG-dedicated Instagram, and as always, feel free to suggest other ideas of renders in the comments! 😉

Leave a Reply

Your email address will not be published. Required fields are marked *