Home Website Youtube GitHub

Lips rigger: Different joint count

Hi there,
In the current project, we have 10+ characters and they share the same face topology.
When building most characters it works well, but with one there is an issue that the lips are generated differently and there is flipped joint count.

With working ones it is like that:
upperLip: 27joints, lowerLip: 23joints
but with this one it’s like:
upperLip: 23 and lowerLip: 27joints.

I suspect that the blendshape is done not carefully and there is an issue with calculating getExtremeVertexFromLoop, I’ve managed to prepare it differently, but maybe for future, it would be cool to avoid that or even create a parameter that would define exact joint count per lip.

I’m attaching a test scene: (there is a blendshape with both models).


I just had the same issue. With a slight change to the sculpt, the lip rig will build differently and end up breaking existing weights. Some kind of an override for where the corner of the lips are would be great

I agree. I think specifying the corner lips would make more sense than the current option to specify upper and lower. Especially when the corners change and destroy your weights.

Right now in the facial_rigger, you need to specify upper/lower because otherwise, it uses the translateY to detect upper and lower lip, and on closed lips, this can fail. I have an idea for a basic algorithm that could auto-detect upper and lower:

  1. User specifies the corners. (Optional. Otherwise, it will use translateX, like it does now.)
  2. March the edges to get to the middle point between the two points.
  3. From the mid-point, march outwards along the edge-ring. Then read the translateY of those points, instead of the points laying on the lip edge.

That should reliably find upper/lower, I think. Even if the lips are closed, and the upper lip is slightly lower than the lower lip.

(Of course, the even simpler way would be to just specify the 4 corners of the lips. But all the functions already exist to march edge rings like this. I think it would work.)


Hello @Aerys
Yes, please. send a PR I will check it

Hello guys,

(config maya 2022.4 / mgear 4.2.0)

There is fix (maybe hidden or a function) somewhere ?
Maybe a work around to include this on customize step ?

Thanks !