Bone Weight problem

This is mostly repost from something I put in Modeling, which I’m sure now should have gone here. Sorry if that’s irritating.

I’ve actually moved beyond the problem, so this isn’t so much a cry for help as a bit of curiosity. I had a finished rig, and was weight painting it. I discovered that x-axis mirroring was only working on those bones that sat on the centerline of the body, like the spine bones. Bones labeled bonename_L and bonename_R were not mirroring, so I had to put a good bit of annoyed effort into duplicating earlier work on the other side. Some things I’ve read since then suggest to me that labeling them bonename.L and bonename.R would have worked better, but I’m not sure that’s true either.

My question is this: having already weight painted the mesh around bonename_L, if it has not automatically mirrored, is there a way to make bonename_R pick up what I’ve already done on the left side, short of actually painting it?

Also, if anyone can venture an explanation as to why mirroring didn’t work, that would be nice to know for next time. The obvious answer of “you didn’t have x-mirroring turned on” is incorrect. I checked, promise.


My best guess, assuming that the names and case sensitivity were spot on, is that your character wasn’t actually positioned along the X-axis. The arms would need the be along the X (red) line for the X mirror to work. Creating your character facing forwards in the front view (numpad 1) will ensure it is correct.

As for mirroring the completed work, this mirror weights script by ave works very well. I think there is also a bundled script in editmode ‘Mesh->Scripts->Mirror Vertex Locations and Weight’ that likely would work too, but I’m not sure how to use it.

On a side note, you may also be interested in the normalization script I wrote. It can really speed up the weight painting process, and helps keep the influences clean :yes:


Yeah, I was just coming back to post that I had figured it all out. Somehow, I moved his left hand back a bit along the Y axis. I never noticed because I only ever looked at it recently in weight paint or object modes, where it is yanked into position by the (correctly placed) armature. And I was reading documentation and discovered that script about a half hour ago. I suspect it would’ve saved me two or three days worth of grumbling. Oh well. At this point, I’m just finishing the last of my custom bone shapes. It’s all working quite well, despite my screw up.

And yeah, I’ve got some multiply weighted areas that could use that script. As soon as I finish the other clean-up. Thanks for that.