I edited my mesh changing the number of vertices after adding shapekeys, and it get totally messed up when the shapekeys are on. Is there a way to solve this problem without remake the shapekeys all again!?
You don't need to delete and recreate the entire shape keys, just fix the points that have changed.
In edit mode, Mesh -> Vertices -> Blend From Shape is useful here. It copies the positions of selected vertices from one shape key to another, so you can select just the vertices you've changed and copy them to keys where they're broken. You generally want to turn off the "Add" checkbox when using the Blend, so it copies the positions directly rather than offsetting them.
Quoting from the Blender wiki:
- If you add a vertex/control point, an edge or a face in one shape, it will automatically appear in all other shapes (at exactly the same place, until you edit it).
- If you delete a vertex/control point, an edge or a face in one shape, it will also be deleted in all other shapes.
So, if you modify the topology of a shaped object, you’ll have to edit all its shapes again, especially if you add something.
In your case changing the number of vertices, will have broken all of the shape keys with no way but to remake them.
You can edit the mesh, just not editing the number of vertices, edges, faces.
Example moving a ear lobe on a head a little lower will not wreck the shape keys. However if you were to add a loop cut to give the same ear lobe more detail that will wreck the shape keys.
I know this is and old question, but I ran into this today.
I modified my Basis (added an interior to a character's mouth) and of course all my existing shape keys ignored the new geometry. Since I only needed the mouth interior in keys that revealed it, I was able to delete a couple of keys (like
mouth.smile), then recreate them using New Shape From Mix while Basis was selected. This creates a new shape key that is a mix of whatever has any value, which in this case was only Basis.
So I ended up with a
mouth.smile shape key that took the additional geometry, and others like
brow.inner.down did not, which is great because they use that much less geometry. Just pointing out that in some cases this can be a boon rather than a pain.
In edit mode, I selected the faces that I messed up (caused the problems) and searched for "Shape Propagate". This tells the Shape key to ignore the selected mesh. Then I was able to add new shape keys that didn't freaked out and worked just fine.
To keep your edits on the corrupted mesh, apply "Shape Propagate" first to your Shape key that changed this mesh and then do the same with the basis shape key.
After that, those shape keys won't change the corrupted mesh any more but you can create a new one to edit this part.