I’ve made this fairly complex rig which I want to link into scenes (so that if the original changed, so to the linked in-scene versions). I usually link all objects with “autosel” to a new layer in the scene file, which can’t be posed until I make an instance duplicate (ALT-D) which becomes poseable.
At the moment though, I can’t pose… when I key a bone / controller I get an error “PoseChannel has invalid group!” and while I can animate & key, the animation is all lost on save.
I suspect there is bad IPO data in the file, but I don’t know where. (perhaps with the IK/FK switch constraints which I did animate earlier… maybe there are remnants left behind?)
In the Oops schematic (visual outliner) I can see half a dozen or so IPO blocks (Colpo, Colpo.001, Colpo.002, Colpo.003, Colpo.004 and Colpo.015) which I can’t account for, but I don’t know how to go about deleting these blocks.
Attached is the rig (minus the actual model mesh) for your examination.
Please, how can I fix this thing so it behaves on linking?
linking_issues.blend (97 KB)
Get rid of the action that is linked to the Object.
Can you please be a bit more precise?
When I go into the Action Editor, unselect the F and then [X] the action away from the object, it does seem to clean up those mystery IPO blocks… however, when the file is linked into a scene not only do I get the same error on keying poses, but the IK/FK switch (bone layer 3) no longer works as well.
With the rig in Pose Mode (or simply selected), change the IPO Editor to an Action Editor instance, and click the ‘X’ button beside the name of the action shown there. This should get rid of the problems with animation being lost after saving.
Regarding your linking problems, there’s a more efficient way that’s less error prone.
In your library file (i.e. the one you posted here), make sure that all the relevant objects (i.e. all character meshes + this armature, but probably not the meshes used as bone shapes) are all members of a single object group. To do this, select all of them, and Ctrl G (in the viewport) in Object Mode.
Now, when linking the rig into a file to use, simply go to Link (Shift F1, but make sure you Link not append from the file), navigate to the ‘Groups’ folder in the file, and link the group that the character’s objects were assigned to in the library file. Add an instance of the group from the Add Menu -> Groups -> filename -> groupname. With this new instance of the group selected, press Ctrl-Alt-P (Make Proxy) and select the name of the rig object from there.
By doing things this way, you can make updates to the objects that are included in the rig without having to reappend them to the anim files later. Also, linking involves including fewer items. Secondly, you’re avoiding making a linked duplicate - duplicating any armature object will lose the bone groups due to a bug I only heard about a few weeks ago (only applies to 2.4x versions, which I’ve stopped offering code/bug fixes for since November 2008).
Thanks, but your methods did not work for me.
The steps of changing to Action Editor, and click the ‘X’ button broke the IK/FK switch and still did not fix the issue as stated above.
I tried the group thing but could not get it to work I selected the mesh and the armature in object mode, use CTRL+G to make “new group”. When I linked this into a new file (autosel on) I ended up with all the shape meshes showing up but no rig or character mesh.
Right, there a few things to clarify then…
Regarding unlinking the action:
This is a necessary step. If you do not, you will not be able to animate the rig (and you will lose animation data in the files that the rig is linked to). Unless you’re doing a fairly “non-standard” IK/FK switching solution, the problem is that you must’ve forgotten to make a few of the constraint IPOs to get linked to the constraints themselves instead of being stored in that action. Make sure in the IPO Editor that all such switches do not have IPO’s with the ‘action man’ toggle turned on.
Regarding the group linking:
Try with autosel off.
None of the essential bones (bone layer 6) have action man icon down.
The groups thing is a bit weird for me (at this stage - I’ve never really used them). It seems I have to make a group twice before it will work? That is, when I try it, save, and then go to link it in, the group does not appear, but when I reopen and make the group a second time (save again), the group now shows as Group.001 and this group actually links in. Perhaps everything has a group to start with and this is getting in the way?
The new group (the 2nd try one) does link in with Autosel not selected.
I then go Add > Group > Group.001 which creates a new Empty which appears to be the proxy, but CTRL+ALT+P replies “can only make proxy for a referenced object or group”.
Okay - after a bit of RTFM of http://wiki.blender.org/index.php/Doc:Manual/Modelling/Objects/Duplication/DupliGroup (and of course, your help) I think I may be getting there.
The steps so far:
- I go into my main character file (the library which will be added)
- In object mode, I select both the rig and the character, then hit CTRL+G and select to add new group.
- Then I name this group, by hitting F7 and filling in the GR: field under the "Object and Links " tab.
- I do not use Add => Group… yet, that is for making the instance which is in the next file.
Then, in the file where I want the animaion to appear, I…
- Append (link) the Group (Autosel not selected)
- Now I use Add => Group => (what I called it the time before) to get my clone. This gives me something like a statue of the character (cannot pose).
- I select the new statue and hit CTRL+ALT+P and select the armature option. This generates a duplicate of the bones which I can animate in pose mode.
…it seem to work fine! I usually change the rig to view as wireframe and X-Ray for my purposes.
A couple of small things though…
- The duplicate bones leave an older copy of bones behind, so it’s kind of like there are two. Is there a way to isolate them with a mesh of their own?
- As a duplicate I can’t seem to add subdiv modifiers etc to the mesh… I like to be able to tweak these on the fly, so is there a way I can turn a subdiv modifier on and off on the mesh?
Thanks very much for your help. Hoping the technique doesn’t bite me when I next try it on the mission critical stuff.
I think this will work for you.
Select the Armature in the pose mode n PRESS f9 for editing mode go into the
Armature bones. Select bones,BG add group …and its work.