Over the last couple of weeks, I’ve been working on rigging 2D characters, specifically eyes and mouths. After countless experiments, I think I’ve landed on what I believe to be the best solution for my needs.
Since I’m focused on 2D animation, I started building a lot of mouths using the grease pencil. Initially, I went down the path of having frames for each phoneme and used a frame modifier to change which mouth was showing. This approach works in most cases, but requires drawing new mouths when you need something more custom. For example, a character can say the same thing but convey different emotions, which would require many more mouths to draw. Therefore, the idea of having a rigged animatable mouth provides a lot of benefits, but how?
Again, I started with the grease pencil and tried multiple techniques of adding armatures, setting up control and bendy deform bones, and then setting up vertex groups to bind the vector art to the deforming bones. I came up with a solution that seemed to provide the flexibility I sought, but it was tedious to set up, and I didn’t see a way for it to scale.
Fortunately, I stumbled upon a YouTube post where someone was using geometry nodes to procedurally generate a mouth with teeth and a tongue. It was amazing; no armatures were needed, and it was being rendered in a texture. The last part was impressive, but not quite the direction I wanted to go. I really like the idea of using geometry nodes and started exploring how to model the mouth using curves.
Since this was my first time using geometry nodes, I had to learn how to use it along the way. I began by figuring out how to draw curves in the scene and continued to iterate from there by experimenting. I landed on using the quadratic bezier curve as a building block. The plan is to use four bezier curves to form the mouth shape, beginning with the first curve. I added additional circle meshes to visualize the curve handles.
i started first with figuring out how to draw curves in the scene and continued to iterate from there by experimenting. i landed on using the quadratic bezier curve as a building block. the plan is to use 4 bezier curves to form the mouth shape, beginning with the first curve. i added additional circle meshes to visualize the curve handles
Then I repeated the process three more times.
It’s still early, but this shape provides a base for mouth and tongue shapes.