3
$\begingroup$

I am editing a character that has many shapekeys for facial expressions. I have made some changes to the character's overall face to adjust its features (no vertices added or removed though.) I have done these changes as their own shapekey for convenience.

I now want to add these changes into the Basis without breaking all my other expressions. I have found that I can move my changes to be second in the list after Basis and delete Basis, and my changes are now the new Basis. However, it does not work with my expression keys, as when I use them, it undoes the changes I made by moving vertices back to their position in the original Basis, even though these points are not usually moved by the expression keys.

My expressions currently work properly with my changes as their own shape key. How can I make the changes into my new Basis and also update my expressions to behave the same way?

$\endgroup$
3
  • $\begingroup$ Related: blender.stackexchange.com/questions/34758/… $\endgroup$
    – Paul Gonet
    Commented Nov 28, 2016 at 16:16
  • $\begingroup$ Ironically, your question actually solved my question! :-) Moving a new "Basis" key to the top and deleting the old Basis key indeed creates a new neutral position without affecting the vertex locations of existing shapekeys (they still use the old Basis position). This is perfect, and exactly what I needed. Thank you!! :-) $\endgroup$ Commented Apr 23, 2018 at 16:52
  • $\begingroup$ One thing to be aware of though, is if you edit the new Basis shapekey after following the procedure described above, the changes WILL propagate to all other keys. So if this is not desired, you will need to repeat the above process (creating new Basis, moving to top, etc) every time a change to the Basis is needed. $\endgroup$ Commented Apr 23, 2018 at 20:15

3 Answers 3

8
$\begingroup$

Let's say you have 3 shapekeys: Base, new Face, expression. The first is the old mesh, the second the new modified mesh, the third the old expression movement you want to preserve. Select the object and the basis mesh, enter edit mode, select all vertices, Ctrl V "Blend from shape": in the toolshelf (T) in the bottom left of the 3D view you will have to choose the "new Face" shape key, and set an amount (Typically 1.0). Exit edit mode and you should have your expression shape key working on the new face.

Once you understand the principle you will have to tweak the values and the shape keys, maybe propagating not all but only some vertices, setting the amount not to fully 1.0, or tweaking your old expression shape keys, but you will have a good starting point.

enter image description here

$\endgroup$
1
  • $\begingroup$ This is a great tip that worked well for me. I had a few different shapekeys and I wanted to change the basis to one of the shapekeys. Once I'd changed the basis I then used the same technique to "minus" the same shapekey from the others so that they returned to something like how I had them before changing the basis. $\endgroup$
    – James
    Commented Jan 26, 2023 at 14:28
6
$\begingroup$

Here's something that has worked for me...

Create a new shapekey from the basis and make the changes you want to your mesh. Exit edit mode and set the value of your new shapekey to 1. Just leave it on all the time and all the other shapekeys will be modified by it, just as if you had changed the basis shapekey.

I also discovered that if you move the new shapekey up above the basis shapekey in the list, you can't accidentally unset it. Or you can use the pushpin to lock it. Then you can make as many revision shapekeys as you want.

Maybe it's a hacky workaround, but you could use this to make variations on a single head shape that could also be undone or updated, without losing your other shapekeys.

$\endgroup$
2
$\begingroup$

You can use animation nodes to do this!

this case the driving shapes are added rather than mixed. Note that for each add, you must subtract a copy of your original from the result (see the vector math subtracts). Make sure use modifiers is on and you are not using world space.

enter image description here

In studios would often use blendshapes(shapekeys) in maya to do this as the targets stay live and are naturally additive. In this way you can isolate deformations and chain them together in a specific order feeding one last shape into your skinned mesh. Great way to keep things sane.

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .