2
$\begingroup$

Apologies if the answer exists somewhere already, I've looked it up extensively and found similar issues but I believe I've gotten lost in a mess of weights and vertex groups and need some direct help.

I have a mesh of a frog and I'm trying to get the two rigged eyes to move when the "upper jaw" (which is the entire upper half of the head) rotates/moves, and the tongue to move when the "lower jaw" moves. They are moving, but seemingly at a different angle than the bones they're parented to - resulting in the tongue and eyes popping out of their resting positions when the respective "parent jaw bone" is rotated.

Would greatly appreciate any help.

$\endgroup$

1 Answer 1

4
$\begingroup$

There are many problems, intersecting each other, I try to address you on theese issues:

First problem is called "Double parenting": when you rotate 20 degrees the lower lip, the tongue rotates about 40 degrees: this happens because the Object Tongue moves as a whole for being child of the Tongue.Base bone (this happens at Object level: the "container" Tongue object moves, aka its origin); at the same time the vertices of the tongue move, because they are weighted to the tongue bones (this happens at object data level: vertices move without moving the "container", aka the object origin); the result is double movement.

To solve go to object mode, selct the tongue, press Alt P > Remove Parent (Keep transform), then shift select the rig and press Ctrl P > Object.

At this point the tongue deforms correctly, but yet it's not syncronized with the lower lip: this is because lower lip vertices are weighted to three different bones: Lower lip, throat and neck: as the neck is not moving the lower lip vertices are slowed down on their movement.

To solve, in edit mode select all lower lip area and remove neck weights (throat weights can remain in place, as throat bone is child of lower lip bone).

On the upper lip zone, eyes bones should be child of the upper lip bone, while they aren't: in edit mode select the eyes bones, shift select the upper lip bone and press Ctrl P > Keep offset.

Then the eyes are child of the eye bones and they are also weighted to the rig: another double parenting: in this case you can simply delete their armature modifiers and all their vertex groups, because eyes will move by being child of the eye bones.

At last repeat the cleaning of the upper lip weights by removing all weights from the Neck vertex group.

In my image I'm showing you where to read the parenting of an object (the tongue in my example) and weights of one of its vertices, so to help troubleshooting.

enter image description here

$\endgroup$
1
  • $\begingroup$ Wow. I guess I got carried away clicking things I didn't 100% understand yet while trying to fix the problem! Thank you so much, it works perfectly! $\endgroup$
    – runni
    Commented Dec 16, 2023 at 22:32

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .