Hi everyone,
I’m doing a Blender tutorial on rigging and am having trouble with rigging the eyebrows and the tongue. For some reason the eyebrows move strangely as part of the eyebrow moves but the rest stay still and the tongue’s controllers aren’t where the tongue is and so I cannot move the tongue like the way it is in the video. I tried weight painting them but nothing changes. If anybody could find out a solution for this I appreciate it. Thanks.
1a) Well, you ought to make sure that the Bones, which carry the Weight Paint Vertex Groups, are truly Deform Bones (Deform property must be Enabled, on their respective Bone Tab < Properties Editor.
1b) Moreover (just to make sure, as this is very basic): each functional Deform Bone must have its own Vertex Groups, and their Names must match exactly.
2a) Another thing that may be going wrong, is that, if the Tongue and Eyebrows Meshes, are actually different Mesh Objects (as it usually is the case on Rigs), you must make sure that such Mesh Objects, are Parented to the Armature Object, in a similar way that you have Parented the Body Mesh Object to the Armature Object.
2b) Naturally, those Meshes are all relying on Organic Rigging; so their respective Mesh Object must be Set Parent To Armature Deform --type of Parenting. And make sure that every Object’s Parenting Relation is not inverted (sometimes, this simple mistake can easily occur)!!! That is, the Mesh Objects must be Parented to the Armature Object, not the inverse.
Tip: Re-Parent each of the Mesh Objects to the Armature Object, using Set Parent To Armature Deform With Empty Groups, as this will prevent overriding the Vertex Groups Data in spite of Re-Parenting (in case there could be overlapping Data).
I checked the bones for both eyebrows and tongue and they all have Deform checked.
However, I do have multiple vertex groups with tongue in them, such as ORG-tongue, ORG-tongue.001, Tongue, etc. Should I delete all of the unnecessary groups? If so, which one should I keep?
I re-parented the tongue, but it still doesn’t move.
Is this a Rigify Generated Rig? If so, in your Blender version, in Properties Editor > Object Data Tab > Skeleton Panel, the (Bone) Layer containing the Deform Bones (“DEF”) is the 30th box in that table.
Also, in order to test if a (DEF) Deform Bone is working or not for Skinning/Armature Deforms, you must be able to directly Grab, Move/Rotate/Scale it individually. Because, in case you’re using a wrong Control Bone, or if the Rig is broken, Posing those Bones might end up not doing Transforms to the Deform Bone, and no Deforms will happen on the Mesh.
For the extra Vertex Groups which look useless, must be sure of the content of project: of course, it’s simpler if the Rig is yours and you remember every important feature.
Often, special Vertex Groups are used as Modifiers’ Targets, or they can be used as Weight Paint backup, and other features. Because Blender doesn’t give any UI differentiation between the state and purpose of the Vertex Groups in the Vertex Groups Panel, its good to give them proper Naming (You probably know this, but just to be sure: Renaming Deform Bones automatically Rename their respective Vertex Group, if they already are associated together; however, Renaming a Deform Bone’s Vertex Group in the Vertex Groups Panel, will immediately Ophan it [occasionally, this is a useful step in Rigging]).
So, if you’re already finding many “Orphan” Vertex Groups from Deform Bones, and you know their Weight Paint is old or useless to the Rig, you can just Delete them. Just keep the Vertex Groups associated with real Deform Bones in the Rig.
If Moving directly the Deform Bones don’t Deform the Mesh, I’d bit out of ideas for now.
Good luck!
Note: If you can’t Pose them, they might be restraint; so, to be able to Transform those Bones on Pose Mode, you might have to temporarily Disable their Bone Constraints, their Drivers (if any), or Unlock Transforms (Transforms Panel < Item Tab < Sidebar Region < 3D Viewport Editor) in case they were Locked for some reason.
Note2: Make sure there ain’t any relevant Bones Hidden, for every single Bone Layer, on both Edit Mode and Pose Mode. If I remember correctly, it is possible to Unhide All [Alt+H] from all Bone Layers simulatneously, provide they are all Enabled from that Skeleton Panel. But still, would have to Unhide All from both Modes.
In certain cases, Bone Layers and Hidden Bones might cause a lot of confusion in Rigging.
Hi there,
Yes, this is a Rigify rig. I tried grabbing the Deform bones but they don’t move. The controllers of the rig work, though.
I do have vertex groups called “brow R.L” and “brow T.L” and numbers after them, too, but there aren’t any vertices assigned to them. Are these the problem? I have a vertex groups for my eyebrows with that name, and it’s part of the main body mesh.
I have two bone constraints for “brow T.L.002” but not 001 or 003. Turning them off didn’t do anything when posing the mesh and nothing changed.
It would be good if you were able to directly Pose the Deform Bones (for testing) though.
However, maybe that isn’t necessary; provide you are able to see, in realtime, that the Deform Bones are being indirectly Posed, by the Control Bones you are manipulating; so, if the DEF are being indirectly Posed, as you Pose the Control Bones, this is good enough to verify if the Deform Vertex Groups are affecting the Mesh or not.
Deforms just won’t happen at all, if the DEF Bones are not being Offset, on Pose Mode, from the Mesh they are supposed to Deform! But, it doesn’t really matter the way you get them to be Offset, on Pose Mode. Whichever method you use to do that verification, don’t forget to restore the Bones’ functionalities (such as, Re-Enable Bone Constraints).
Often, the Eyebrows Setups do not differ too much one from another.
If the Eyebrows is a different Mesh Object, from the Head/Body Mesh Object, and one or more of the Eyebrows DEF Vertex Groups are on the Head/Body Mesh Object, instead of on the Eyebrows Mesh Object, this is probably a simple mistake. You must get those Weights to the Eyebrow Mesh… and probably just Delete them from any other Mesh Object (unless you are having a special reason for… “Synchronous Deforms” --yes, this technique exists, it might be the case even; like, if the Rigger want the Eyebrow Mesh to Deform in syncrhony with the Forehead Mesh, by using exactly the same DEF Bones; then, such DEF Bones should have a Vertex Group, with exactly the same Name, the Name of that DEF Bone, for each of the Mesh Objects which are Parented to that Armature Object through Armature Deform; yet, that Vertex Group can be different for each one of the different Mesh Object; often, it contains some differences).
Also, it is common that Eyebrows Rigs use multiple, even sequenced, Bones, for the ‘line’ of the Eyebrow. For a mater of Workflow simplification, therefore, those numbers, especially if properly ordered and organized, like “.001”, “.002”, are expected to be like that; though, in the case you describe, it strange that there isn’t a continuum; that is suspicious (but it would nice to have a screenshot to elucidate more about the Eyebrows Rig for the structure: for example, with all their Bones visible and showing Armature Bones Names).
There usually should be more than a single DEF Eyebrow Bone for each Side of the Face, otherwise, it would move like a block. You need probably to fix those Weights for each of the DEF Eyebrow Bones you have on one Side (then just Re-Symmetrize the Bones; Naming .L/.R must be perfect for this method to work).
I’m unsure right now of the correct technique to “Transfer Weights”, exactly from the Body Mesh Object to the Eyebrow Mesh Object, for just one or a few Vertex Groups that ended up in the wrong place. Intuitively, that would be the “Active” setting in the
The method in this video is for all the Vertex Groups (it’s not exactly what would be needed, but it might work too), but with the “Active Layer” property(ie) instead, I believe that would just affect the Selected/Active Vertex Group [that is, you want just that or those Eyebrows Vertex Groups if I understood properly; unfortunately, there is no Vertex Group “Collection”, so I think it’s one-on-one or all at once fortunately, in this case it’s just one or a few Vertex Groups).
Beware, any mistake in this process, can cause serious problem to the Rigged Models; so just have backup. There exist other methods, but I’m not certain, so at least this I believe should be enough.
If this sounds all too complicated, just go on Weight Paint Mode for the Eyebrow Mesh Object, and Re-Weight Paint manually each DEF Eyebrow Bone of one Side of the Face, by Selection the individual Bone.
This tutorial shows how to access such ‘Mixed’ Pose/Weight Paint Mode and start Weight Painting manually to solve simple problems (btw, it should be ok Weight Painting an Eyebrows Mesh with just a mouse instead of a graphic palette):
I hope this time you’ll be able to find a solution.
Thanks for your reply. The eyebrow mesh is already part of the head mesh. I’ve attached a screenshot of the eyebrow rig. The names of the bones are DEF-brow.T.L.003, 002, 001, and DEF-brow.T.L. for the left one. I’ll try your solutions and get back to you if it works. Thanks.
Update: I did fix the eyebrow issue by weight painting each DEF bone. The problem before was that I was adding more weight instead of removing it, which I suppose created the issue. However, I still have issues with the tongue as the deform bones don’t move the tongue like they should and are below the tongue mesh for some reason. Do you know how to solve this problem? Thanks, I appreciate it.