Rigging/skinning fish mouth error

Hiya, Blender community. I did a manual weight paint using an X-mirror for this unfinished model, and have been reasonably restrictive of where I placed any colours that are not dark blue. However, if I move my fish’s jaw up or down past certain extents by rotating the top bone, unwanted deformation occurs. I’m very new to this and can’t identify the problem despite hours of trial and error, so any help would be hugely appreciated.

Attachments




Those vertices in the upper jaw clearly have some weight from one of the lower jaw bones. It may be a small amount that is hard to see by heat-coloring in Weight Paint Mode; it may be easier to simply go to Edit Mode, select a single offending vertex and look in the properties panel (hit the N-key in the 3D Viewport to reveal it if not already open) and look at the vertex’s weight in various vertex groups. You should see one of your lower jaw bones there, which will tell you what weight to remove in Weight Paint Mode (or through the vertex group panel in the mesh data properties).

Thank you, that allowed me to solve the problem. I had no idea that weight painting values could have a precision of 0.0000005, as it was for one of my vertices, and assumed there would always be a visible enough colour change. Using the numerical values really helped.

It was rather tedious, though, as if I moved the jaw by rotating bones in pose mode to reveal the offending vertices, they would snap back to a neutral position when I moved back to edit mode. It took quite some trial and error. Is there a way to get around this, for future reference?

If you’re using selection and edit mode to check for invisible weights, turn on Vertex Masking in weight paint mode. It allows you to select a vertex in weight paint mode when it is visibly deformed.

Alternatively, go to your armature modifier and turn on its influence while in Edit mode to maintain the deformation there.