Lego Minifigure Face Animation

I’ve been trying to work out myself how you would do it, and all I can think of is doing some kind of UV switching wizardry!

This is a simple example, also made in Blender. The creator doesn’t seem to be at-all active, otherwise I would just comment and ask.

You see, he blinks, and his mouth changes from a smile, to a more shocked expression. How can we do this in blender?

Any ideas?

You could use animated textures, or create another mesh of the shapes of the facial features, and shrink wrap that mesh to the head mesh. If you do the latter, just rig the facial features mesh normally or use shape keys.

You could use the UV warp modifier. It’s a bit tricky to figure out at first but I’ve used it to create this kind of texture switching for mouth shapes etc. and it can do a nice job. It’s on my list to do a tutorial on this but too busy right now.

Check the developer’s page for some starting points (though he’s showing a 2d paper cutout rig). I used his ideas on a 3d character and much simpler than shown in the video. If you’re keen I’ll try to put up some more info later.

do you think this will work on my project?

Right…The UV warp modifier seems to be the way to go. I did experiment with the AnimAll add on, but it’s incredibly slow, due to the fact that it adds a UV key for every vert in the model. So in my case, 88,000 keyframes!!!

So that video you posted above with the 2d character is once I’ve seen before and i’ve been trying to get it to work as in the video. Trouble is, it’s a really poor tutorial really. Doesn’t explain anything and leaves a lot to be discovered yourself.

Any help on making that Helper Object work properly would be much appreciated!

If you could help, that would be much appreciated!!

I’ll see if I can knock up a quick tutorial soon :slight_smile:

That would be very helpful, as there is almost nothing on this modifier about! I get it working, it’s just the helper object I can’t seem to get working properly. Cannot get the UV to align with the helper object bone…

Why not use the grease pencils new animation features? Then export it as video with alpha and uv it on the face??

That’s definitely something i’ll look at. Only reason I haven’t looked at using videos and UV is because if I can manually animate it, it would allow much finer control. A video is pre set, and harder to make tweaks to without changing the whole thing.

  1. Create the face of the eyes and mouth of the character and make non renderable

2 Add a lattice to the eyes and mouth you create so as it can curve to the face.

3 Make shape keys for the eyes and mouth

4 Duplicate the eyes and mouth model you created it and place it in a different scene. Make that model single user and delete the latice associated with it.

5 Once you finish your animation simple render out the new scene with alpha channel and use that as the uv map for the face. Render it in BI and make it shadeless. Also make sure you add the shape key animation data in the action editor.

I’ve started on the UV warp tutorial. Will still be a few days, but hang in there. It really is a neat solution once you’ve figured it out.

Awesome dude! I look forward to it!! :smiley:

I’ve done some Blender minifig animation and this is the method I used: http://blendersushi.blogspot.co.uk/2012/03/animation-animating-texture-switching.html

I remember reading your methods 0ldScratch, when I was trying to figure this out. Some good ideas there.

OK peter18, here’s a rundown of how I set up UV warp in one of my rigs. Hope the technique is useful for you :slight_smile:

Thanks a lot for this, really helpful, and seems to confirm I’m doing it mostly correct.

I seem to have it all set up correctly, but I just cannot get the UV and helper bone to align properly…I wonder if you would mind looking at this test file quickly to see what I’m doing wrong?

uv-warp-test.blend (598 KB)

Its just a square mesh, with another mesh half its size (to represent the mouth). This part has the switching texture.

But as you’ll be able to see, the texture doesn’t align with the helper bone. It seems to be the way in which it is calculating the difference…seems way to short, and not accurately like the one in your vid.

If you would mind having a little look, i’d be very grateful. The texture im using should be packed in the .blend, let me know if it isn’t.

thanks in advance :smiley:

No probs! I meant to explain more clearly in the video that the scale of the helper is important. I had the same issue when I was figuring this out too. For some reason making the helper 1m square seems to make it correlate with the UV space, or something along those lines.

I just tried your rig, and all I had to do was rescale your helper object to 1mx1m (in edit mode, or apply scale after), and reposition your helper bones to the new base vertex position, and bingo! All good!

If you then want the helper to be bigger in the viewport, just scale the base bone in pose mode and the helper bones will still work.

Good luck!

Wow…that simple huh?

It works now. Scaled it down as you said, and everything is snapping and aligning correctly :smiley:

Thanks so much for your help!!

Yay, glad that helped. :slight_smile: