Adopting a new standard face rig for Rigify #89808

Open
opened 2021-07-12 10:55:07 +02:00 by Alexander Gavrilov · 26 comments

Introduction

The current face rig in Rigify has a number of major deficiencies:

  • It is monolithic and the only way it can be adjusted to different characters is by moving the predefined bones.
  • It requires the use of very specific hard-coded bone names.
  • It doesn't use B-Bones.
  • It uses legacy Rigify API and is thus very slow to generate.

This task is created to discuss adoption of a new face rig implementation (rigs already added to master).

This implementation is an iteration on a previous design and prototype by MAD Animation. To address the above deficiencies, instead of one big face rig, it aims to provide a number of basic and quite generic components that can be combined into a face rig that fits the character.


Design Concepts

This describes the general ideas used in the design of the new 'skin' rig components. For more detailed description of options, see readme .

Generic B-Bone Chain

When designing a face metarig based on the new system, most deformation should come from a standard flexible B-Bone chain component. This component implements the chain design discussed in blender/blender#83908, which provides the 'automatic' B-Bone handle behavior combined with the ability to adjust by rotating controls.

The implementation provides two versions of the chain rig: skin.basic_chain merely attaches B-Bones to the controls with no automation added to the controls themselves. The skin.stretchy_chain rig in addition interpolates motion of the end (and an optional middle) controls to the other controls of the chain.

Automatic Control Merging

Whenever two skin chains would create a control at the exact same point, they are automatically merged together into one. Normally one of the chains is simply selected as the main one based on a number of heuristics and an explicit priority option, and others use its control. However if the chosen control is being merged with its .L/.R or .T/.B symmetry counterparts, additional automation is generated to interpolate between their parents rather than using only one parent.

The .L/.R or .T/.B symmetry naming convention and the use of alphabetical ordering as a predictable tie breaker are the only places where bone names matter in the new system.

The chain rig components have options to smoothly join the B-Bone chains when their end controls are merged, based both on symmetry and simple sequence continuation.

Parent Controllers

Rather than simply using the parent metarig (ORG) bone as parent for controls and chain mechanisms, the new system includes an API for parent rigs to explicitly provide parent bones and generate control parent automation mechanisms for their child chain controls by inheriting from the appropriate base and overriding methods.

This allows implementing rigs that integrate and manage their child chains in intelligent ways in order to add extra automation specific to certain areas. For the face, two such controllers are implemented: face.skin_eye for an eye with eyelids, and face.skin_jaw that manages mouth chain loops. Each controller has certain requirements for the number and arrangement of their child chains.

Custom Rigging

Finally, the new system provides ways to integrate with custom automation directly included in the metarig via two extra rig components.

The skin.anchor rig generates a single control with inherited constraints etc, similar to basic.super_copy. However it also integrates into the skin system as a zero length chain with highest priority. This allows overriding the normal behavior by providing a control point under full control of the user, which other chains would automatically attach to.

The skin.glue rig on the other hand will attach itself to the control that is generated at its position (it is an error if there is none). It can be used to read the position of the control from custom rigging in the metarig, or inject constraints into the control bone. It is possible to also detect the control at the tail of the glue bone and use it as target in the constraints, thus copying transformation between the controls.


Status

  • The new rig types have been moved to Rigify from the experimental feature set.
  • The face upgrade script has been converted to an upgrade operator button.

Remaining Goals

  • Test the face produced by the upgrade operator more. The script is supposed to maintain compatibility with existing weight painting, but not animation.
  • Design brand new face metarig(s) using the new components without any arbitrary restrictions based on backwards compatibility.
  • The old face rig will not be immediately removed in 3.0 to give more time for testing and feedback. The script will be turned into a button offering an optional upgrade.

Documentation

How To Test

The easiest way is:

  1. Install the latest nightly build of 3.0
  2. Add the Human armature.
  3. Use the Upgrade Face Rig button next to Generate Rig to upgrade the old face rig to the new setup.

However, note that since the new system is modular, the metarig produced by the upgrade operator is most definitely not the only way to rig the face using the new components.

# Introduction The current face rig in Rigify has a number of major deficiencies: * It is monolithic and the only way it can be adjusted to different characters is by moving the predefined bones. * It requires the use of very specific hard-coded bone names. * It doesn't use B-Bones. * It uses legacy Rigify API and is thus very slow to generate. This task is created to discuss adoption of a new face rig implementation (rigs already added to master). This implementation is an iteration on a previous design and prototype by MAD Animation. To address the above deficiencies, instead of one big face rig, it aims to provide a number of basic and quite generic components that can be combined into a face rig that fits the character. ------ # Design Concepts This describes the general ideas used in the design of the new 'skin' rig components. For more detailed description of options, see [readme ](https://github.com/angavrilov/angavrilov-rigs#skin-rigs-experimental). ## Generic B-Bone Chain When designing a face metarig based on the new system, most deformation should come from a standard flexible B-Bone chain component. This component implements the chain design discussed in blender/blender#83908, which provides the 'automatic' B-Bone handle behavior combined with the ability to adjust by rotating controls. The implementation provides two versions of the chain rig: `skin.basic_chain` merely attaches B-Bones to the controls with no automation added to the controls themselves. The `skin.stretchy_chain` rig in addition interpolates motion of the end (and an optional middle) controls to the other controls of the chain. ## Automatic Control Merging Whenever two skin chains would create a control at the exact same point, they are automatically merged together into one. Normally one of the chains is simply selected as the main one based on a number of heuristics and an explicit priority option, and others use its control. However if the chosen control is being merged with its `.L/.R` or `.T/.B` symmetry counterparts, additional automation is generated to interpolate between their parents rather than using only one parent. The `.L/.R` or `.T/.B` symmetry naming convention and the use of alphabetical ordering as a predictable tie breaker are the only places where bone names matter in the new system. The chain rig components have options to smoothly join the B-Bone chains when their end controls are merged, based both on symmetry and simple sequence continuation. ## Parent Controllers Rather than simply using the parent metarig (ORG) bone as parent for controls and chain mechanisms, the new system includes an API for parent rigs to explicitly provide parent bones and generate control parent automation mechanisms for their child chain controls by inheriting from the appropriate base and overriding methods. This allows implementing rigs that integrate and manage their child chains in intelligent ways in order to add extra automation specific to certain areas. For the face, two such controllers are implemented: `face.skin_eye` for an eye with eyelids, and `face.skin_jaw` that manages mouth chain loops. Each controller has certain requirements for the number and arrangement of their child chains. ## Custom Rigging Finally, the new system provides ways to integrate with custom automation directly included in the metarig via two extra rig components. The `skin.anchor` rig generates a single control with inherited constraints etc, similar to `basic.super_copy`. However it also integrates into the skin system as a zero length chain with highest priority. This allows overriding the normal behavior by providing a control point under full control of the user, which other chains would automatically attach to. The `skin.glue` rig on the other hand will attach itself to the control that is generated at its position (it is an error if there is none). It can be used to read the position of the control from custom rigging in the metarig, or inject constraints into the control bone. It is possible to also detect the control at the tail of the glue bone and use it as target in the constraints, thus copying transformation between the controls. -------- # Status * The new rig types have been moved to Rigify from the experimental feature set. * The face upgrade script has been converted to an upgrade operator button. ## Remaining Goals * Test the face produced by the upgrade operator more. The script is supposed to maintain compatibility with existing weight painting, but not animation. * Design brand new face metarig(s) using the new components without any arbitrary restrictions based on backwards compatibility. * The old face rig will **not** be immediately removed in 3.0 to give more time for testing and feedback. The script will be turned into a button offering an optional upgrade. -------- # Documentation * Blender Manual has power user documentation for the new rig types: [Skin ]], [[ https:*docs.blender.org/manual/en/dev/addons/rigging/rigify/rig_types/face.html | Face ](https:*docs.blender.org/manual/en/dev/addons/rigging/rigify/rig_types/skin.html). * Blender Wiki has some [developer documentation ](https://wiki.blender.org/wiki/Process/Addons/Rigify/RigUtils/Skin) useful for implementing rig types working with the skin system. ## How To Test The easiest way is: 1. Install the latest nightly build of 3.0 2. Add the Human armature. 3. Use the Upgrade Face Rig button next to Generate Rig to upgrade the old face rig to the new setup. However, note that since the new system is modular, the metarig produced by the upgrade operator is most definitely not the only way to rig the face using the new components.
Alexander Gavrilov self-assigned this 2021-07-12 10:55:07 +02:00
Author
Member

Changed status from 'Needs Triage' to: 'Confirmed'

Changed status from 'Needs Triage' to: 'Confirmed'
Author
Member

Added subscribers: @angavrilov, @icappiello, @Mets

Added subscribers: @angavrilov, @icappiello, @Mets

Added subscriber: @zNight

Added subscriber: @zNight
Member

A long-awaited and huge improvement overall!

But I did notice some discrepancies while testing which I think cause very undesired deformations:

  1. The upper and lower lip affect each other because they are both one continuous chain, it seems. In my opinion the behaviour that's currently on the eyelids would be much more desirable here, so the upper and lower don't affect each other.
    lips-2021-07-13_12.32.53.mp4

  2. The opening of the jaw causes the area above the ear to deform with the new rig. Bendy bones are great, but it's cases like these that really bite back. This would require either DEF-temple.L/R to not be a bendy bone, or to not have the automatic curve smoothing tech on it. I also think it would be generally useful if the latter was possible to do in an easy way.
    jaw-2021-07-13_12.34.03.mp4
    jaw_with_baseguy-2021-07-13_12.44.46.mp4

A long-awaited and huge improvement overall! But I did notice some discrepancies while testing which I think cause very undesired deformations: 1. The upper and lower lip affect each other because they are both one continuous chain, it seems. In my opinion the behaviour that's currently on the eyelids would be much more desirable here, so the upper and lower don't affect each other. [lips-2021-07-13_12.32.53.mp4](https://archive.blender.org/developer/F10223030/lips-2021-07-13_12.32.53.mp4) 2. The opening of the jaw causes the area above the ear to deform with the new rig. Bendy bones are great, but it's cases like these that really bite back. This would require either `DEF-temple.L/R` to not be a bendy bone, or to not have the automatic curve smoothing tech on it. I also think it would be generally useful if the latter was possible to do in an easy way. [jaw-2021-07-13_12.34.03.mp4](https://archive.blender.org/developer/F10223032/jaw-2021-07-13_12.34.03.mp4) [jaw_with_baseguy-2021-07-13_12.44.46.mp4](https://archive.blender.org/developer/F10223036/jaw_with_baseguy-2021-07-13_12.44.46.mp4)
Member

@Mets i honestly believe that old behaviour can't be compared to new since the latest involves b-bones. I also like more the second one cause in my opinion is more fleshy and imho i think is a more correct result thinking of human skin.

That said, having more options to the user is always a good thing if that is not costing too much developer time.
what i'd do in such case is to enable the b-bone segments control in the metarig. Setting it to 1 (no split) will make the new face have all the fancy new modular stuff but in fact disabling b-bones and making that identical to the old one without its gigantic limitation.

user could also deactivate it per-bone after generation (the case you don't like the jaw upper bone i.e.) by selecting that DEF-bone and setting it segments to 1.

@Mets i honestly believe that old behaviour can't be compared to new since the latest involves b-bones. I also like more the second one cause in my opinion is more fleshy and imho i think is a more correct result thinking of human skin. That said, having more options to the user is always a good thing if that is not costing too much developer time. what i'd do in such case is to enable the b-bone segments control in the metarig. Setting it to 1 (no split) will make the new face have all the fancy new modular stuff but in fact disabling b-bones and making that identical to the old one without its gigantic limitation. user could also deactivate it per-bone after generation (the case you don't like the jaw upper bone i.e.) by selecting that DEF-bone and setting it segments to 1.
Member

I see, that's cool. It's good that this is now noted down here so it's clear that these are intentional, deliberate decisions, so that we have a point of reference in a permanent, searchable database, that will still be here a year or 3 down the line, when somebody might try to contribute to Rigify by trying to "fix" these "issues", not realizing that they are actually meant to be that way by design. Now they will know!

I see, that's cool. It's good that this is now noted down here so it's clear that these are intentional, deliberate decisions, so that we have a point of reference in a permanent, searchable database, that will still be here a year or 3 down the line, when somebody might try to contribute to Rigify by trying to "fix" these "issues", not realizing that they are actually meant to be that way by design. Now they will know!

Added subscriber: @AndyCuccaro

Added subscriber: @AndyCuccaro
Author
Member

In #89808#1190630, @Mets wrote:
This would require either DEF-temple.L/R to not be a bendy bone, or to not have the automatic curve smoothing tech on it. I also think it would be generally useful if the latter was possible to do in an easy way.

You know it is possible to do in a really easy way by toggling some rig option buttons?

I just updated the upgrade script to change the settings for the temple bones since that bit does look a bit weird.

> In #89808#1190630, @Mets wrote: > This would require either `DEF-temple.L/R` to not be a bendy bone, or to not have the automatic curve smoothing tech on it. I also think it would be generally useful if the latter was possible to do in an easy way. You know it **is** possible to do in a really easy way by toggling some rig option buttons? I just updated the upgrade script to change the settings for the temple bones since that bit does look a bit weird.

This issue was referenced by 2acf22b593

This issue was referenced by 2acf22b5932c57f7d29b578fc74542f81d4fb087
Author
Member

So after some self-reviewing and commenting I have moved the new components from the feature set to Rigify proper. The next step is deciding if the upgrade script is good enough and turning it into an upgrade button, and then working on metarigs. Plus documentation of course.

So after some self-reviewing and commenting I have moved the new components from the feature set to Rigify proper. The next step is deciding if the upgrade script is good enough and turning it into an upgrade button, and then working on metarigs. Plus documentation of course.
Author
Member

Added some (power) user documentation of the new rig types to Blender Manual ([Skin]], Face) and developer docs to [https://wiki.blender.org/wiki/Process/Addons/Rigify/RigUtils/Skin|Blender Wiki.

Added some (power) user documentation of the new rig types to Blender Manual ([Skin]], [[https:*docs.blender.org/manual/en/dev/addons/rigging/rigify/rig_types/face.html|Face]]) and developer docs to [[https://wiki.blender.org/wiki/Process/Addons/Rigify/RigUtils/Skin|Blender Wiki](https:*docs.blender.org/manual/en/dev/addons/rigging/rigify/rig_types/skin.html).

Added subscriber: @Diogo_Valadares

Added subscriber: @Diogo_Valadares

I don't know if here is the right place for feedback,but I'd like to say that I liked most of the changes, although one of those is bad for non-human characters. The deformation of the corner of the mouth becomes bigger than it should be, creating an weird effect which didn't happen before:

{F10306560}(with bendy bones on the mouth)

{F10306573}(without bendy bones on the mouth)

When I used the old facerig sometimes I manually added bendy bones, but I conected the mouth bones to the cheeck, which gave a slight better effect, not perfect tho.
image.png

Another problem that bendy bones create is the upper part of the lip being affected by the lower one, which also doesn't look well on non-humans.

For now my personal solution is just to remove the End Handles of the bendy bones on the corners of the mouth
image.png

Besides this, I also don't know why having a DEF-master eye bone AND a DEF eye bone, isn't it redundant? and there is a DEF-Jaw-master bone too that I have no clue why it is for.

I don't know if here is the right place for feedback,but I'd like to say that I liked most of the changes, although one of those is bad for non-human characters. The deformation of the corner of the mouth becomes bigger than it should be, creating an weird effect which didn't happen before: {[F10306560](https://archive.blender.org/developer/F10306560/image.png)}(with bendy bones on the mouth) {[F10306573](https://archive.blender.org/developer/F10306573/image.png)}(without bendy bones on the mouth) When I used the old facerig sometimes I manually added bendy bones, but I conected the mouth bones to the cheeck, which gave a slight better effect, not perfect tho. ![image.png](https://archive.blender.org/developer/F10306562/image.png) Another problem that bendy bones create is the upper part of the lip being affected by the lower one, which also doesn't look well on non-humans. For now my personal solution is just to remove the End Handles of the bendy bones on the corners of the mouth ![image.png](https://archive.blender.org/developer/F10306591/image.png) Besides this, I also don't know why having a DEF-master eye bone AND a DEF eye bone, isn't it redundant? and there is a DEF-Jaw-master bone too that I have no clue why it is for.
Author
Member

In #89808#1209814, @Diogo_Valadares wrote:
I conected the mouth bones to the cheeck, which gave a slight better effect, not perfect tho.

All you need to do to get that is:

  • On lip.T.L/R disable Connect Mirror: End and Sharpen: End, and instead enable Connect Next: End
  • On cheek.B.L/R enable Connect Next: Start.
  • (not strictly necessary since connect must be enabled on both chains to work, but won't hurt to disable now irrelevant settings): On lip.B.L/R disable Connect Mirror: End and Sharpen: End.

Disabling Connect Mirror: End on the lip chains is also all that is needed to make mouth corners sharp, like @Mets wanted above.

Besides this, I also don't know why having a DEF-master eye bone AND a DEF eye bone, isn't it redundant? and there is a DEF-Jaw-master bone too that I have no clue why it is for.

Eye master control and DEF is for the eye socket (probably only makes sense for cartoon characters where the whole eye can be moved and scaled), while DEF-eye is for the eyeball itself (it rotates to aim at target).

> In #89808#1209814, @Diogo_Valadares wrote: > I conected the mouth bones to the cheeck, which gave a slight better effect, not perfect tho. All you need to do to get that is: * On `lip.T.L`/`R` disable *Connect Mirror: End* and *Sharpen: End*, and instead enable *Connect Next: End* * On `cheek.B.L`/`R` enable *Connect Next: Start*. * (not strictly necessary since connect must be enabled on both chains to work, but won't hurt to disable now irrelevant settings): On `lip.B.L`/`R` disable *Connect Mirror: End* and *Sharpen: End*. Disabling *Connect Mirror: End* on the lip chains is also all that is needed to make mouth corners sharp, like @Mets wanted above. > Besides this, I also don't know why having a DEF-master eye bone AND a DEF eye bone, isn't it redundant? and there is a DEF-Jaw-master bone too that I have no clue why it is for. Eye master control and DEF is for the eye *socket* (probably only makes sense for cartoon characters where the whole eye can be moved and scaled), while DEF-eye is for the eyeball itself (it rotates to aim at target).

After finally understanding how the configuration works before generation (I never knew rigify tab was a thing) I can say that this new system is a HUGE improvment over the old one, I'm just wondering if it could also be used for the rest of the body parts , it would be really useful for making things such as wings.

After finally understanding how the configuration works before generation (I never knew rigify tab was a thing) I can say that this new system is a HUGE improvment over the old one, I'm just wondering if it could also be used for the rest of the body parts , it would be really useful for making things such as wings.
Author
Member

In #89808#1213541, @Diogo_Valadares wrote:
it would be really useful for making things such as wings.

Well, do you have any specific ideas/prototypes?

> In #89808#1213541, @Diogo_Valadares wrote: > it would be really useful for making things such as wings. Well, do you have any specific ideas/prototypes?

I'm trying to make a prototype, but I'm having some problems, first is that I cannot mismatch most of the body rig parts with the chain modules. An example of what I would like to do is to add bendy bones to the membrane
image.png
the green bones would be a regular arm basic rig while the red ones would be the chain from the new face rig system, but by doing this I would only get an error.

So ok I tried to make everything from scratch with the new bones, but I missed one thing that would really make me consider actually using it for the wing
image.png
I couldn't find a way to make the controls at the end of the "fingers" act as a child of the "hand", the most I could manage was to make them copy the position. it would be really useful so that I can easily close or open without having to tweak each finger.
image.png

I can make this rig with regular hands, but usually takes some tweaking after the generation, such as having to put a stretch to on the palm bones, having to manually add fix bones on the membranes, and in the end I still need to use 2 controls(hand and palm) to open and close the wings properly
image.png

I'm trying to make a prototype, but I'm having some problems, first is that I cannot mismatch most of the body rig parts with the chain modules. An example of what I would like to do is to add bendy bones to the membrane ![image.png](https://archive.blender.org/developer/F10353623/image.png) the green bones would be a regular arm basic rig while the red ones would be the chain from the new face rig system, but by doing this I would only get an error. So ok I tried to make everything from scratch with the new bones, but I missed one thing that would really make me consider actually using it for the wing ![image.png](https://archive.blender.org/developer/F10353661/image.png) I couldn't find a way to make the controls at the end of the "fingers" act as a child of the "hand", the most I could manage was to make them copy the position. it would be really useful so that I can easily close or open without having to tweak each finger. ![image.png](https://archive.blender.org/developer/F10353710/image.png) I can make this rig with regular hands, but usually takes some tweaking after the generation, such as having to put a stretch to on the palm bones, having to manually add fix bones on the membranes, and in the end I still need to use 2 controls(hand and palm) to open and close the wings properly ![image.png](https://archive.blender.org/developer/F10353761/image.png)
Author
Member

In #89808#1213631, @Diogo_Valadares wrote:

Do you have a blend file for experiments?

> In #89808#1213631, @Diogo_Valadares wrote: Do you have a blend file for experiments?

I have this one, it may be a bit disorganized but I added some notes and collections wingrig test.blend

also just another thing I think would help in the new face rig is to have an option to manually tweak the values for the mid chain controls of a stretchy chain. I usually have a problem where one side of the eyelid have a slightly wrong value. A direct control on the influence of this control bone would be really useful
image.png

I have this one, it may be a bit disorganized but I added some notes and collections [wingrig test.blend](https://archive.blender.org/developer/F10357885/wingrig_test.blend) also just another thing I think would help in the new face rig is to have an option to manually tweak the values for the mid chain controls of a stretchy chain. I usually have a problem where one side of the eyelid have a slightly wrong value. A direct control on the influence of this control bone would be really useful ![image.png](https://archive.blender.org/developer/F10358020/image.png)
Author
Member

In #89808#1214182, @Diogo_Valadares wrote:
also just another thing I think would help in the new face rig is to have an option to manually tweak the values for the mid chain controls of a stretchy chain.

I know that this is a hack, but as a workaround for all such cases now and in the future, it is now possible to set up a custom post-generate script to apply any changes you want to the generated rig.

> In #89808#1214182, @Diogo_Valadares wrote: > also just another thing I think would help in the new face rig is to have an option to manually tweak the values for the mid chain controls of a stretchy chain. I know that this is a hack, but as a workaround for all such cases now and in the future, it is now possible to set up a custom [post-generate script ](https://docs.blender.org/manual/en/dev/addons/rigging/rigify/basics.html#run-script) to apply any changes you want to the generated rig.
Member

Added subscriber: @zanqdo

Added subscriber: @zanqdo

Added subscriber: @TheOldBen

Added subscriber: @TheOldBen

In #89808#1214182, @Diogo_Valadares wrote:
I have this one, it may be a bit disorganized but I added some notes and collections wingrig test.blend

also just another thing I think would help in the new face rig is to have an option to manually tweak the values for the mid chain controls of a stretchy chain. I usually have a problem where one side of the eyelid have a slightly wrong value. A direct control on the influence of this control bone would be really useful
image.png

I avoid this for the most part by rigging the eyes with the lids closed. This makes the lids meet up in rest position, which is the position that is harder to achieve. From there on out shaping the opened lids is much more forgiving.

> In #89808#1214182, @Diogo_Valadares wrote: > I have this one, it may be a bit disorganized but I added some notes and collections [wingrig test.blend](https://archive.blender.org/developer/F10357885/wingrig_test.blend) > > also just another thing I think would help in the new face rig is to have an option to manually tweak the values for the mid chain controls of a stretchy chain. I usually have a problem where one side of the eyelid have a slightly wrong value. A direct control on the influence of this control bone would be really useful > ![image.png](https://archive.blender.org/developer/F10358020/image.png) I avoid this for the most part by rigging the eyes with the lids closed. This makes the lids meet up in rest position, which is the position that is harder to achieve. From there on out shaping the opened lids is much more forgiving.

I noticed another problem with the bendybones on the jaw. When lifting the corner of the mouth the lower part of the jaw goes down which I thing shouldn't be happenning. this is the last past of the chain, so I can't override this bone like you did in the other jaw bone my solution for now is just do deactivate the bendy bones on the whole jaw.
image.png
image.png

Also, I tried to use the new strechy chain parts for rigging 2d characters and it has been pretty useful.
image.png

I avoid this for the most part by rigging the eyes with the lids closed. This makes the lids meet up in rest position, which is the position that is harder to achieve. From there on out shaping the opened lids is much more forgiving.

It may work. thanks for the tip

I noticed another problem with the bendybones on the jaw. When lifting the corner of the mouth the lower part of the jaw goes down which I thing shouldn't be happenning. this is the last past of the chain, so I can't override this bone like you did in the other jaw bone my solution for now is just do deactivate the bendy bones on the whole jaw. ![image.png](https://archive.blender.org/developer/F10765237/image.png) ![image.png](https://archive.blender.org/developer/F10765422/image.png) Also, I tried to use the new strechy chain parts for rigging 2d characters and it has been pretty useful. ![image.png](https://archive.blender.org/developer/F10765492/image.png) >I avoid this for the most part by rigging the eyes with the lids closed. This makes the lids meet up in rest position, which is the position that is harder to achieve. From there on out shaping the opened lids is much more forgiving. It may work. thanks for the tip

Added subscriber: @hahnzhu

Added subscriber: @hahnzhu

There is something I think would be pretty useful for rigging animals, I can do it with the post-generation script, but It would be better to have as an option if possible.

With the New face standard its possible to add more bones to the lips, which is really great to add motion to muzzle lips but there is no way to change how much they move with the jaw when oppening/closing the mouth.

Right now you can't define how much the middle controls and the mouth corners will move with the jaw.

closed open with middle controls right now how it should be
image.png image.png image.png

Right now the only way I found to fix this is going in the mch bones and changing the ones that have the armature constraint
image.png

I tried to use glue bones but none of those worked, sometimes because of unintentional loop dependencies or just not working at all..

Some extra notes-
Eyeball and iris could be separate options(eyeball is also misspelled)
image.png
I noticed some situations where the limit distance constraint for the eyelids isn't big enough and end up clipping the eyeballs, this can be tweaked with post-scripting but it would also be nice to have a better way to tweak it such as using the eyebone to define the distance. One Workaround I found was to change the head/tail value and then reset the distance.

image.png image.png
There is no way to disable the jaw deform bone.
image.png
There is something I think would be pretty useful for rigging animals, I can do it with the post-generation script, but It would be better to have as an option if possible. With the New face standard its possible to add more bones to the lips, which is really great to add motion to muzzle lips but there is no way to change how much they move with the jaw when oppening/closing the mouth. Right now you can't define how much the middle controls and the mouth corners will move with the jaw. |closed|open with middle controls right now|how it should be | -- | -- | -- | | ![image.png](https://archive.blender.org/developer/F12863144/image.png)|![image.png](https://archive.blender.org/developer/F12863146/image.png)|![image.png](https://archive.blender.org/developer/F12863150/image.png) Right now the only way I found to fix this is going in the mch bones and changing the ones that have the armature constraint ![image.png](https://archive.blender.org/developer/F12863158/image.png) I tried to use glue bones but none of those worked, sometimes because of unintentional loop dependencies or just not working at all.. Some extra notes- Eyeball and iris could be separate options(eyeball is also misspelled) ![image.png](https://archive.blender.org/developer/F12863168/image.png) I noticed some situations where the limit distance constraint for the eyelids isn't big enough and end up clipping the eyeballs, this can be tweaked with post-scripting but it would also be nice to have a better way to tweak it such as using the eyebone to define the distance. One Workaround I found was to change the head/tail value and then reset the distance. |![image.png](https://archive.blender.org/developer/F12863194/image.png)|![image.png](https://archive.blender.org/developer/F12863210/image.png)| | -- | -- | There is no way to disable the jaw deform bone. ![image.png](https://archive.blender.org/developer/F12863177/image.png)
Sign in to join this conversation.
No Milestone
No project
10 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender-addons#89808
No description provided.