Where do rigify custom bone shapes come from after appending

My general workflow is to model, texture, rig a character in a working file, then append the final product into a model file (it gets rid of temporary images and scrap data and stuff that happens when building a character)

After appending (NOT linking) – the rigify rig is all there WITH bone shapes, but the shapes (widget meshes, usually on layer 20) are not appended.

How do the bones find their shapes? (it’s not that I mind – it makes the file cleaner)

1 Like

Very good question and I don’t have an answer for you, just an observation. I was working on a character once, changing the widget shapes for bones so they made a bit more sense. Well one of them I couldn’t find the mesh object for it. Looked everywhere, all layers, unhid everything, searched the outliner… etc… Could not find it anywhere. The only place I could locate the name of the mesh object was in the outliner switched to view data blocks. Data blocks view in the outliner gives you a ton of data, and I found the name of the mesh object under the bone it was used for, but still no actual object.

Anyhow, after about an hour looking for it, I gave up and created a new one, and never thought about it again until reading your post. So let me make a SWAG at this, (Scientific Wild Ass Guess). What I think is happening is once you assign a mesh object to a bone as a bone shape, blender creates an internal copy of the mesh object for display purposes and assigns it to the bone. Example, assign the same mesh object to 2 bones, one bone much bigger than the other, and the bone shapes will be different sizes. Once you assign a mesh to a bone as it’s bone shape, delete the mesh object, save the file, and shut down blender. Restart and load in the file saved and you still have bone shapes, yet no mesh objects.

just a guess…

Randy

Yeah that’s a feature which was implemented some time ago so we can clean up clutter (bone shape objects) by deleting instead of just hiding the mesh objects.

So apparently they don’t automatically follow an appended armature because of this. Maybe a bug or a consequence of the feature. You’ll have to append those objects separately I guess, although I bet the linkage to the shapes will be broken in the new file (I didn’t test).

The best method is to put everything into a group and link or append the group.

-LP

:slight_smile: its not a bug its a feature… :slight_smile:

Thanks for the info about ob data – I didn’t know about that before. Good to know this is at least a known issue and shouldn’t create probs down the line

Random mega bump.

I’ve also encountered something similar in Blender version 2.9.2. On a regular human rig, IK controllers for the hands and feet usually have a nice custom shape with a subdivided surface modifier:

image

But after adding a customised bone to my rig and regenerating it, it lost it’s refined custom shape.

image

Bare in mind these hand and feet IK controllers are the only ones that have a subsurface modifier, and the only ones that exhibit this bug. Pretty sure it’s not that important to me, but it does seem strange. When I regenerated the rig, I had neglected to check the Update Widgets box, so wouldn’t be sure if that had something to do with the issue.

But while attempting to debug the issue, I played around with deleting the entire Widgets collection, expecting all the widgets to disappear, or for the bones to display default shapes… Nothing happened.

So yeah… What exactly happens to the Widget mesh data? Is it cached somewhere, or is it stored in another part of the scene graph? :thinking:

Additionally, pushing my luck a little with this post here… :sweat_smile:
After adding a new bone/controller, and regenerating my rig, my animated actions were preserved, but the position of bones on certain poses were ‘displaced’ slightly. Is this a known issue?

Edit - Fixed the additional issue by manually editing the roll value of some of the bones on the generated rig, which was something I had to do with the original rig too.

1 Like

hello when regenerating the rig check the option “force widget update”, but if you did a lot of editing in the metarig, then remove all the collection from the rigify widgets created from that previous generated rig, and then click in regenerate again with the same option turn on in case…

1 Like

Hmm… Somehow, that doesn’t work either… I’d even resorted to generating a completely new rig, with a completely new name, after deleting both the generated Rigify rig, and the Widgets collection.

This was the result:

Again, it’s just the hand and feet IK end effector shapes. They are the only shapes that have a modifier. No other rig functionality appears to be affected, so I can carry on working, but I did wonder if anyone else had seen this issue.

Might start out with a clean file, over the weekend and see what happens, but want to move onto other tasks first.

ok i checked and that’s how its generated by default, but if you toggle and untoggle the checkbox for the widget collection, and then turn on and turn off the viewport view button, it seems to update the rig widgets properly…

You mean the Outliner panel buttons, or something else? Haven’t had any luck with getting the widget shapes back, but I’ve fixed the other issue regarding displaced animations… That was a bone roll issue.

Had run into a similar issue. Really annoying behavior of Rigify/Blender, which has costed me quite some time…

Here is the generated rig of my dragon. First notice how the wing-arms are circles, albeit I would have preferred a similar shape like the wing roots. Then I experimented around a bit and eventually the outer root of the right wing was also generating wrong control shapes, which couldn’t be changed back no matter what I tried. Hard-to-find solution: Delete the entire WGTS_rig in your outliner and change Generate Rig from override to new. This solved my issue, finally. Phew!