This tutorial shows you how to use 2D face textures for animation. You will learn how to use a series of images for animation on a 3D object in Blender. The final composite and render was done in Blender.
Texture Preparation
I first need to prepare the individual textures that will be used for the animation
I downloaded the expressions made by PCH Vector from Free Pik
In GIMP, I open the image and right-click on the layer to add an alpha channel
Using the Fuzzy Select Tool, I select the yellow color and use CTRL X to remove the background color
I use SHIFT CTRL A to deselect everything
I make a new image that is 500px x 500px with a transparent background
I use the Rectangle Select Tool to select the first expression
I copy the selection and paste it as a new layer on the new image – making sure to anchor the copied image
I scale the layer to a width of 450px (making sure the link is activated so the proportion is maintained)
I drag down a horizontal guide to the top of the eyes (this will ensure that each layer is sitting at the same spot)
I export the file as a PNG – using a number on the end to indicate a frame number (starting with zero)
I repeat this process with each of the remaining expressions – numbering them in succession
Texture Import
I can now begin placing the textures onto my face
I add a UV Sphere and shade it smooth
I switch to Material Preview and add a color to the UV Sphere
I now import the images using SHIFT + A > Image > Mesh Plane and choose “Detect Image Sequences”
I then rotate the image plane around the Z-Axis 90 degrees and move it in front of the UV Sphere
I scale down the images
I select the face and then the UV Sphere and using CTRL P, I parent the object using Keep Transform
I then select the image plane, and in Edit Mode, I right-click and subdivide it with 8 cuts – this will make it easier to wrap around the UV Sphere
In Object Mode, I add a Shrinkwrap modifier – using the UV Sphere as the target
For the Snap Mode, I choose “Above Surface” and change the Offset to 0.025
Animation
I split the Viewport and open the Timeline
If I now scrub through the Timeline, notice that I can see each of the 15 faces across the first 15 frames of the animation
This isn’t what I want – I want to be able to animate individual frames
I split the Viewport and open the Shader Editor
Under the Shader Editor, I change the Frames to 1
Now when I scrub through the Timeline, I only see frame 1
I can use the Offset to move between the individual frames which will show me the individual faces
Let’s say I want to go from the smile to the wide grin to the toothy smile to the wink
I can insert a keyframe on frame 1 by hovering over the Offset field and using the I-key
I can then move to frame 20 and change the offset to the wide grin and insert a keyframe
On frame 40, I change the Offset so I can see the toothy smile and insert a keyframe
Finally, on frame 60, I change the Offset so I can see the wink and insert a keyframe
I copy the keyframes from frame 1 onto frame 80 so the animation can loop
When I play the animation, notice that all of the inbetween expressions are also animated
This can easily be fixed by selecting all the keyframes
I then use the T-key to open the Keyframe Interpolation menu and choose Constant – this will mean that only the expressions that I specifically used will be animated