Understanding linked armatures and proxies

Hi all,

it’s been a while since I’ve had to link a rig, and I’m having some trouble… I watched this tutorial to freshen my memory unfortunately it doesn’t cover the issues I’m having.

I created a camera rig, a simple one with zoom, travelling, and tracking controls. Then I created a group with the armature object, the camera object and the empty (which I get the focus distance from). So far so good, and I can create a proxy in my working file without issues.

First problem : I’ve updated the rig in the original file to include another “track to” constraint, but it doesn’t show up in the working file. The group is still linked, I know that for I tried changing the widgets’ shape and they do update to reflect these changes, but the controller on which I’ve added an additional constraint is not…
I heard changing bone names breaks links : I didn’t do that.

Second problem, if I create a proxy for the camera itself (in order to access its properties right from my working file), it becomes disconnected from the armature, ie it’s no longer parented and the controllers do not affect it… now I feel this is more like a limitation, but I’d like to know if there is a way to create a proxy for an object without breaking its relations (parenting, etc) to other linked objects.

Here is the file :
http://www.pasteall.org/blend/35366

I’ve read just about every other thread on the subject and the second problem seems to be commonly encountered… hence my saying it might be a known limitation…

Thanks for reading. Any help is appreciated !

Hadrien

edit Furthermore, new bones appear but have properties different from those I set in the original file, for instance rotation order appears as quaternion although I set it to XYZ and no transforms are locked although I locked everything except translateZ.

edit I re-created a proxy from the linked group to see if that changed anything, and yes it does. It suddenly propagated all the changes I’d done on the rig since I had linked it in this file. So if I understand correctly, making a proxy overrides any further modification on the linked rig… which seems to completely defeat the point of linking something in the first place…

Bump. Ten characters. :slight_smile:

I’m bumping this one last time.

If your objective is to manipulate the camera controls in the file that the camera is linked to, then you might want to try this solution that Pablo uses. https://www.youtube.com/watch?v=bOLMkw_wDGE I don’t think making the camera a proxy will bring the rig controls with it. I have been using this scripting to control some features in my linked files. Usually works pretty good.

It’s been a while since I’ve dealt with these, but here are some tips that you may find useful:

  1. You should ONLY use proxies on armatures. Don’t try doing this with objects, as the proxy-objects will just lose all their object-level stuff, including constraints, modifiers, transforms, and anything else that you may have been using to make the setup work. I’m especially a bit concerned about the empty being used as a focus target here, but the same goes for using empties as IK targets…

  2. If you want things to be synched between the bones in the source file and in your proxified file (specifically, constraints, rotation modes, transform locks, etc.) you need to ensure that the layer that those bones are on are marked as “proxy protected”. This indicates that all the bones on those layers should get updates from the source file. (It also means though, that if you change the settings on those bones, you need to keyframe those changes or else they will not be maintained after file reload)

  3. When linking the setup in, ensure you link the Group and not the objects individually. There will be weirdness if you try to link them in then proxify the armature otherwise…

@stilltrying Thanks that’s gonna be useful but does not actually solve my current problem. Thanks for the link though, I used to think local overrides were not a thing in Blender.

@aligorith Actually the camera object does not accept a bone as the focal point… so I had to use an empty parented to a bone… Otherwise I respected the proper guidelines : the group alone is linked, and the armature object alone is proxified.

I protected all the layers and now the things are properly updated, with new constraints appearing normally. I think I may be out of the woods. :slight_smile: I’m gradually building up a big debt to you Aligorith you know ? Thanks !!

Hadrien