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?
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.
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.
@evilferber@realistic
Now that 3.0 is out and 3.1 knocking at the door we can do that very easily. I hope itâs alright that I ping you after all this time. We can use a copy of the mesh as the shapekey and mix point positions with it. It can be packaged into a GN modifier and the âshapekeyâ value can be exposed, making it unique for each object even though the mesh data is still linked.
Ok, I remember doing this a few years ago, and I was just looking it up because I couldnât remember how I achieved this. I know its too little too late, but I had to make this post. The answer is simple. Pin the shape key. Right under the shape key box there is a pin button that is unique to the object, not the mesh. Pin your shape key on, alt-d duplicate and then create a new key. The other instance will stay the same and you can pin the new one with the new key.