I’m looking for a preferably-short tutorial or better yet a write-up showing how to correctly set up shape-key drivers in 2.9, so that manipulation of a bone causes transition between keys. The user interface has changed very considerably such that even 2.8 doesn’t seem to apply anymore. I’ve got a blend-file which currently works, but I no longer readily see how to change it. The only tutorial I could find is thirty minutes long and the user’s interface-language is apparently Spanish. The current documentation is “minimal, to say the least.” Thanks in advance.
Sure, here’s a short write-up:
Select your driving bone in pose mode. Open a sidebar and look on the Item tab. Right click in a location field and select “copy as new driver.”
Select your mesh object. Right click on the value of a shapekey and select “paste as new driver.”
Open up a driver editor viewport. On the left margin of that viewport, you’ll see your selected mesh, and underneath it, in a “Key” folder, a listing for your new driver. Select that driver, then open a sidebar and switch to its Driver tab.
The default type of expression for the driver is “average value”. Switch it to a “scripted expression” to do math on it. You have one input variable below that, which is what you were pasting, and if you followed along, it’s named “location” (you can click in that field and rename it if you want.) You can use the expression field to do math on that variable. Try changing it to location/10. (Python operations are + - * / and ** for exponent. Basic Python operations like “max(var, 0)” are possible; try googling for a list.)
Test out your driver by moving your bone around.
There are more details than that, and doubtlessly some places where you’ll need to figure it out or ask for more specific help, but that should get you started.
Excellent. Thank you for that very quick “answer.” I’m still trying to get used to the 2.9 interface way of doing things . . . I’m sure I’m going to like it, but it’s unexpectedly confusing to me right now. (Lots of things that I’m used to have “moved about.”)
Am I correct in saying that shape keys cannot be driven directly through NLA, but must use a driver?
“Driven directly through NLA” isn’t a phrase I understand. Can you give a shapekey a keyframed value and animate it in an action, then use those actions in the NLA? You sure can. But if instead you give a shapekey a driver from a bone, and you’re using NLA, that driver will override any hand animation of the shapekey value, and it will use the final post-NLA transformation of the bone to determine the value for the driver.
Good to know that option also exists. Thanks for the clarification.
In this particular project, the mouth of the character changes shape to reflect her emotion at the time, but she doesn’t talk. I’ve already got a driver rigged-up (just didn’t clearly see how the 2.9 interface represents this).
Here’s the blend-file.
When I open the Driver Editor in 2.92.0, I see no “Driver tab” in the “Driver Editor.”
miranda.blend (1.6 MB)
In the “Driver Editor” I see only a meaningless-to-me graphical representation. The “T” key does not produce a toolbar, and the “N” key produces nothing apparently useful.
Hmm, not sure why it’s not recognizing those drivers. It might have something to do with the fact that you’re driving shapekeys on a curve; curve objects are not very well supported, and not often used for this kind of thing. (Most people are going to use hooks to bones instead.)
However, you can still see what you would see, if Blender was acting appropriately, by right clicking in one of the driven fields, like “smile” value, and selecting “edit driver.” I don’t like doing things that way, in a popup, but that’s the workaround right now for driving curve shapekeys.
Edit: it has something to do with how you made them. When I delete the smile driver and create a new one, by “copy as new driver” from a location channel of a new empty, like I described, it shows up in the sidebar.
This is a “legacy project …” Stay tuned. It could also have something to do with the age of the file itself. It was developed “lots of Blender versions ago.”
Can you suggest a better way to animate the mouth? This is intended to have a “crude cartoon character” look. The character does not talk. If there’s a better way to rig it I’m all ears …
I know about “hooks” and so on, and right now there are no “bones” on the mouth. But, if you could now point me to a more-recent tutorial that shows a cleaner way to do it – although, as I said, “this character does not speak” – I’d love to clean up the mess that apparently I’ve made, many years ago.
Any thoughts, anyone?
The style of this character is purposely that of “a crude 3D cartoon.” Her mouth is right now a shape that reflects, for example, “smile,” “surprise,” “confused,” and so on. It sits on her face like a hand-drawn line. Each one is of course a relative shape-key. The face itself doesn’t deform, and the character never talks.
To clean this old file up once and for all, I could [try to …] remove the existing drivers, which act on the position of a control-bone, and replace them … like I originally did several years ago. But, is there a better way to do this today? (Given, again, that the “mouth” sits on the surface like a hand-drawn line.)
(I propose replacing the drivers, even though they “work,” because I surmise that there’s something about the contents of “this old file” that modern-Blender’s UI doesn’t like. It’s a trivial task, as long as I can remove the old ones cleanly.)
A better way to animate curves than shapekeys is hooks. You said you know about hooks.
Yeah, I thought that might be the better way now – the driver technique is clumsy.
Well, “a tutorial link or three” would be very nice right now. Of course I’ve used hooks plenty of times, but not in exactly this situation. “Thanks in advance!”
Okay, never mind – I found a few good ones that seem to speak to my particular situation.