Cannot edit the factor of Shape Keys on Linked Meshes

Hello there!

I have a character complete with armature, and both the armature and the character’s mesh are linked from another master file - the OBJECT of the character and armature are not linked, but the MESHES are linked.

I can pose/animate the linked armature however I want, which is exactly what I expected, but all the Shape Keys on the mesh are greyed out so I cannot animate the Shape Keys! I was expecting to be able to animate the influence of the Shape Keys despite being on a linked mesh because by doing so, you are not creating any NEW mesh data, you are merely changing the influence of existing mesh data, in the same way that by animating a linked armature, you are not creating any NEW armature data, you are simply moving locations of existing armature data!

Also, some of the Shape Keys’ influences are driven by Drivers attached to bones (so when a leg bends, the muscle will deform accordingly), but these drivers are not working either, the the Shape Keys’ influence just stays as zero.

It would seem inefficient to have to unlink/fully append a character mesh simply to get the above to work properly, but is that the only way to have access to Shape Key controls?

I have found out why these problems are happening but it is not a satisfactory ‘solution’ as such :frowning:

The mesh in the working file is linked in from a master file. The drivers on that mesh linked in from the master file are driven by the armature OBJECT also within the master file. So when I linked that mesh into the working file, the Drivers are still linked to the Armature in the master file, NOT the armature in the working file, so when you pose the Armature in the working file, the Drivers do not change because they are still pointing to the Armature Object in the master file.
This is made more complicated by the fact that the Armature in the working file is in fact itself linked at DATA level to the Armature DATA (not Object) in the master file… this is why I assumed it should work, but it did not.

The problem is that the URL by which the Drivers find the item that is driving them, starts at Object level not Data level… so I needed to switch the Drivers’ URLs from the Armature OBJECT LEVEL in the master file to the Armature OBJECT LEVEL in the working file… and the only way to do that is to make the linked mesh LOCAL.

It is a shame that you have to make the linked mesh local in order to get the drivers to work, because that means I am forced to have unique localised character meshes for every file that has the character within it. Not only will this take up more space on my hard drive, but it ruins the benefits of using master meshes shared across different working files, whereby if you update the master mesh, all other meshes also update automatically.

Is there a way to truly share/link master meshes with Drivers??

On a side note, by making the mesh local, I can now operate the Shape Keys as wanted… but still annoyed I needed to make the mesh local to do that too. I will not mark this post as ‘SOLVED’ yet as I am hoping there is a way to have driven shape keys on shared meshes.

Hi,

do you link a group containing the entire rig (armature, meshes, etc - everything) from your master file ? Usually this works fine.

Thanks for the reply…

I am just discovering that linking the group works… BUT there is extra work to do as I need to swap the Follow path URLs for other path names!

UPDATE

I just tried linking in armature, meshes EVERYTHING in as a group from the master file to the working file - in so doing it becomes a brown-highlighted dupligroup of an Empty in the working file.

TO make it work in the working file, I had to right click the linked group in the Outliner, and choose ‘Link Group Objects to Scene’. This breaks down the linked dupligroup into its separate parts; Object-level linked mesh, Object-level linked armature etc.
To get the armature to be poseable, I have to unlink it at Object level (but it can still remain linked at data-level)… so far this works fine - I can pose the mesh using the armature even though the mes is still linked at OBJECT level. Right now it works exactly as i want it to.

However, when I save/close/reopen the file, the object-level linked mesh is no longer parented to the data-level linked armature… in fact it is not even placed near to the armature. On inspection I find that there are now 2 ‘armature’ entries in the dropdown menu for parenting - one is the data-level linked armature in the working file, and the other is pointing to the armature in the master file, which of course, I cannot pose because it is not even in the working file - result is that the mesh cannot even be moved, let alone posed.

In order to make the mesh parented to the data-level linked armature in the working file, I have to unlink the mesh at object level, which allows me to then pick the armature in the working file to be its parent, and BINGO, the mesh jumps to being where it should be, around the armature in the working file.

TROUBLE is, by doing this, the shape key drivers no longer work (because they reference the armature in the master file), and so I am back to square one above.

If only when I save and reopen it, it would carry on working as it was before i closed it, as at that point everything was perfect! Any ideas anyone?