Instances of a mesh, each with different shape key value


I have a model of a flower that opens, with the animation done by shape keys.

I then altD instance duplicate these flowers, but want each flower to ahve a different level of openness.

The trouble is, if you move the shape key slider to 50%, it will change all instances to 50% as they share the same mesh. Is there a way I can give each instance a different shape key value whilst keeping them all sharing the same mesh?

1 Like

If you have separate objects with their own copies of the shape keys, you can make each object’s shape key values slightly different. Use Shift-D instead of Alt-D.

Thanks Anthony… I want to avoid separating them into truly unique meshes, because the base modelling is liable to change and if I changeone, i want them all to change… so my question is if it can be done WITHOUT making each a unique mesh. Thanks.

I spent ten minutes trying to solve this, and I came up with something :
Shift+D your objects first, and animate their shapekeys. When the basemesh changes, select all your objects with the new basemesh selected last (active) and ctrl+L, “link object data”. Then U, “object and data”, there you have your copies of the new basemesh. The tedious part is now : re-linking the shapekey action (from inside the dopesheet, “shapekey” mode) for every single one of your objects. I guess if you name them carefully beforehand it’s not too long to re-link them all. Maybe you can write a routine for this if you know your way around python.

Hadriscus, thanks, but I can’t quite follow this. Is the end result that the objects share the same mesh yet with different shape key states?


It has been 5 years since user ‘realistic’ posted this question. Maybe now anyone knows the answer?
Maybe there is an add-on or something like that?
@realistic Have you solve this problem?

I hope that Blender Team will change some workflows under the hood in the future, the concept of having duplicates and being able to edit shape keys’ vaules per object would be very very helpfull.

The method I suggested works around the issue but there needs to be a manual re-linking of shapekey actions whenever there is a change made to the base mesh -the one supposely shared by all the flowers. It works, but it’s convoluted, and basically you’re better off having your mesh be final from the get-go.

Shape keys are a property of the mesh right now, which is why any keyframe or driver added on the shapekey value will show up on other (linked) copies as well. It can’t be solved this way, at least until the whole system is upgraded and we can have shapekeys live outside of the mesh data, or use external objects as shapekeys.

Hopefully, it will be doable soon using library linking : it should be possible to link in any number of flowers from a rig file, and animate them independently. Right now even 3.0 alpha does not allow overriding these properties (shapekey values, custom properties, etc) but let’s hope it becomes possible not too far in the future.

Geometry nodes is also worth looking at in the 3.0 release, since we should be able to use point translate in very flexible ways. Let’s see if we’re able to take point positions from an external object, that should do it, and it can be packaged into a node group and re-used on any number of flowers.