As the title says, is it possible to create duplicates of a mesh, that can be deformed and used as blendshape targets in blender?

like this:

blendshape example

Here is a nifty little script to deform the base into the target shape...you can save it as a shape key then:

import bpy

target = bpy.context.selected_objects[0]
obj = bpy.context.active_object

for i,vert in enumerate(obj.data.vertices):
    vert.co = target.data.vertices[i].co

But still it would be nice to have them as a live modifier...


I assume you're talking about the blendshapes like these available in Maya (example tutorial: https://www.youtube.com/watch?v=WtfYPxhLO30). If so I'll show you how to do it in Blender on the same example.

Create a mesh, duplicate it 3 times and make some deformations on the duplicates. enter image description here

Select all the deformed objects and then the base object. Then click on the down arrow in a Shapekeys panel and choose Join as Shapes option. enter image description here

You have now all the deformed shapes applied to the base model. enter image description here

  • $\begingroup$ Thanks, that's quite nice, although still no live operator (imagine the targets are deforming). There was a modifier, but development was dropped because the upcoming nodes (when??) would make it redundant (developer.blender.org/T34635) $\endgroup$ – knekke Jul 29 '15 at 20:54

The advantage of indirect blendshape is already mentioned so called sanity(it is very clear to understand the process) but the most important feature is the natural order of deformations.

First place in order( or vice versa - it depends on user’s angle of view) is nuant facial deformation running on “static” blendshape target permanently active. Local skeletal system just for the facial purpose with other deformers.

Second place is the common armature for global posing for body physiognomy.

And finally the deformation order: whenever you want you can turn off the indirect blendshape so it is not evaluated.

I am using this method in Maya for many years And still I did not find better method. It would be very welcome to have this or principially similar method in the Blender aswell.

But I am very beginner with Blender( it is much better software then Maya API and performance wise) so maybe I do not know well what is possible.


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 checked and world space is unchecked. 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.

  • $\begingroup$ With blendshapes it is also added (not mixed), it works the same as here - the difference between shape and original is added (through some influence). "..chain them together in a specific order..": the order does not matter since the operation is additive. Breaking deformations into multiple meshes instead of leaving it inside one armature clutters the scene and imho is not sane at all. You also have to rely on extra addon in the scene. I would really like to see even one example, where this brings some benefit over having these deformations done with bones sorted on different bone layers. $\endgroup$ – Jaroslav Jerryno Novotny Feb 25 '18 at 21:52
  • $\begingroup$ Doing this you also end up with multiple actions when animating. The more I think about this the more reasons I find why not to do it. $\endgroup$ – Jaroslav Jerryno Novotny Feb 25 '18 at 21:55
  • $\begingroup$ OP was asking about keeping the shapekey sources live. The only sanity comes in isolating results of additive deformer combos. The scene does get larger and slower. $\endgroup$ – Mark Behm Feb 26 '18 at 23:17

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.