Character with curly corners of the mouth - steps between two values of a shape key?

I’m one of those new Blenderers who started whilst the Lockdown with a weird looking pink donut and then went a long way through the school of Youtube tutorials.

This is my second character in Blender and the first one with some features I was not able to find any tutorial for. I wanted to give the smile of this character an exaggerated look of cat-like contentedness, that’s why I choose this curly style on the corners of it’s mouth.

Problem is: I can’t build this curl directly into the body mesh, because it fucks up my topology when moving the vertices.

I’ve experimented with a shrinkwrap modifier and separate curl objects I projected on the face, but the results were very inexact when opening the mouth.

My current strategy is this: I’ve extruded the beginning of the mouth curl from my body mesh and snapt it to the face. I’m now trying to control the smile with shape keys, but I’m not perfectly happy with it. As you see: the smile doesn’t appear naturally but at some point has some weird gaps.

I think the reason is the way shape keys work. When my vertices are making their way to their shape key position it looks awkward.

So my first question is: Is there a way I cant make something like an in-between-step in the value of the shape key, where I can correct the way my vertices move? Some simple way? Like in a regular animation, where I can insert a new keyframe between two existing keyframes? I attempted to google it, but haven’t found good solutions. So if there’s already an answer, I’m happy to get a link because I was not sure what exactly to google.

And my second question: Maybe my strategy is just to tangled. Do you have a better idea for me?

Sorry(?) for my English. You may also correct my grammar mistakes. :open_mouth:

Thank you so much! <3

Noobian Princess

I couldn’t upload a second file in my first post as I’m new here, but maybe this pic illustrates my problem better…
The first to pics show the two states of my shapekey, the third one some value in between.

So, first, I’m not sure exactly what you mean with “can’t build this curl directly into the body mesh” but I bet that you could. Possibly, using modifiers to correct for any problems (likely, discontinuous normals) that you encounter.

However, yeah if you just want the lines and don’t need anything fancy from the extended curls, then you may as well do it as simply as possible-- and one thing you should be considering that you haven’t, is doing this with material work instead.

But for the explicit question, yes, it makes sense that a shapekey describing this wouldn’t interpolate well (shapekeyed vertices just move in a straight line to their target destination.) And, yes, you could make a half-way shapekey, using drivers.

To make a shapekey that’s driven by the value of another shapekey: right click in the value of a shapekey (the keyframed, 0-1 number) and select copy as new driver. Right click in the value of a different shapekey and select paste as new driver. Open a driver editor viewport, select your driver on the left, and look on sidebar/driver for your exact driver; you’ll probably always want a “scripted expression” instead of an “average value”. Then you can change the expression field-- say, to something like sin(value * pi), which gives you a smooth curve, 0 at 0 and 1, 1.0 at 0.5. Or, any other expression you wanted.

That’d be a good way to make a corrective for the midpoint. There’s more than one way to handle the shapekeys (like relative vs. absolute shapekeys.) Remember, anything can be a driver, and you can drive multiple things from the same property if you want.


Thank you so much for your answer! Now I have some new solutions to think about.

I don’t really get the idea with the discontinuous normals modifier - maybe I have a lack of experience so I can’t imagine the concrete strategy? The old build-in mesh would always create some horrible swirls in the face and “overstreched” the edges of my mesh. Maybe I can find an old picture of that phenomen to illustrate my problem.

But you wrote that using the material would also help fixing my problem. I really haven’t thought of this yet so I will try to find some tutorials on that, as it sounds promising.

I also find the idea of using drivers very interesting because I think that could also solve many future problems. So I’ll definitily try to learn more about that!

To tell you more, I’d probably have to see the problem in action (and a file demonstrating the problem would be best.)

I just tried to upload the .blend-file, but wasn’t allowed to. But I found an old version of the character to demonstrate my first attempt of “curling up” the mouth and its horrifying results:

So this is what I meant with “I can’t simply curl up my mesh.” and the reason I gave up this strategy very soon. On the upper pictures in my second post you can see the current strategy with the extruded mesh which is curled up when the character is smiling and pushed together right at the corners for the neutral expression. Not very elegant, but at least somehow working when the expressions change fast.

Today I have some spare time and so now I’m going to follow your suggestion and check out drivers. But I’m still open for any tips to broaden my horizon. :slight_smile:

Second post, because of the newbie “on picture per post”-thing:

I kept wondering if there is a reason why I can’'t correct my intermediate shapekeys directly in the shapekey menu. Just like I would do it while animating. Something like:

Is there a reason? If not - well, I’ll get over it - but I was curious.

So now is driver learning time. :smiley:

You can’t do it in mesh, because you don’t have enough verts or enough vertex density to do what you want. I see now what you’re doing with your shapekey-- you’re just drawing a black mesh over the face, right? As long as you’re just drawing a black mesh, yeah, controlling the key via materials (or a mask modifer maybe) makes more sense than a shapekey, because it can let you follow the direction of the mesh, either via UV or via vertex groups.

As for editing shapekeys “in the middle” or wherever, what you can do is set the value to something, use “new shape from mix”, from the dropdown specials menu to the right of the list of shapekeys, and then edit your new shape. (If you want to see what it would be like as no longer in the middle, you can set your new key’s value to the reciprocal of what you made it from-- like if you were editing right in the middle, then 2.0 is the reciprocal of 0.5-- and make a new, new shape from mix.)

Assuming I understand what you mean… An automatic interface to edit-at-the-middle might not be a bad idea, but because of the way shapekeys work, I don’t think it’d be much of a priority.

1 Like

Yeah, exactly. :smiley: I’m just drawing the mesh over the face. I’m really bad at descriping. :woozy_face:

What I tried in the last few minutes was building the curly smile shapekey relative to a regular smile shapekey, which kind of improved the transition a bit, but looks still messy.

In your first passage you suggested controlling the color via materials. So I can tell Blender to somehow color my mouth mesh face by face till the smile appears? Without changing the mesh everytime?
That sounds much more elegant, but I’m a bit at a loss with how to achieve that. Could you somehow outline me the steps to do that? Doesn’t have to be a full tutorial, just some keywords so that I know what to google.

This is the basis of it:

You can get a UV map like that on reasonable meshes from a follow active quads unwrap. Note that the MixRGB could be mixing between image textures or anything else; note that you could use a similar structure to mix in transparency. The value node is how you slide it along the mesh; I’ve keyframed this value directly, but you could use a driver if you wanted (and then keyframe whatever was driving it.) You could even drive from a placeholder shapekey value… And, finally, you could even soften the edges a bit, by replacing “greater than” with a map range node, but I thought it’d be best to keep it simple here, just give the barest bones demo.

1 Like

Just WOW! That’s one elegant looking idea! I’d never have figured that out by myself. :smiley:
Thank you so much for your time and energy! I’m really motivated now to try that out right now!

Okay nice! :smiley: So this is my intermediate result for today.

Took me a bit longer than I thought because my last UV unwrapping experience was some time ago and so I got a bit lost in the beginning. But your instructions were very clear and easy to follow.

As you see I haven’t found out yet how to set the correct material / color. But the overall “mechanic” works and that’s enough to call it a day. :star_struck: (edit: figured it out!)

What I like most about this solution is that it allows me to engrave the curls a little bit without having to worry about drawn over mesh. And therefore the look gets a bit more natural and catlike. I really like that!

Thank you very much! <3

1 Like