Home Youtube GitHub

Custom node - push matrix



i adopted the mouth component from mc-gear for xsi to mgear.
since this component (and also the lips rig) assumes a closed mouth, i wanted to ask if its possible to create a custom node that works like in this video.
that will be much flexible, when models are modelled with open mouth.
i tried myself with some matrix math and comparision nodes but i dont get the math behind…


I do something similar to this with my blinks. Where upper blink is allowed to go from top to bottom. And when the eyelids meet, the lower blink gets clamped to the current value of the upper blink. I just use the clamp node for this. Nice and simple. *


I am not measuring the geometry of the blink. I am measuring the 0 to 1 range of the blink attribute. Which is much simpler! For mGear, it is driving a blendshape on some curves, so you can read that value. When the upper blink is at 0.7, the lower blink is clamped to 0.3.

If you can find a way to simplify measuring your mouth, it might be a lot easier to drive some controllers. For example:

  • Mouth open = -1.0
  • Mouth closed = 0.0
  • Mouth up = 1.0

I wrote a blog post about using the combinationShape node. It is the node that is used to make corrective shapes in the Shape Editor. But you are able to use the node by itself. So it doesn’t have to drive just blendshapes. It can drive any controller attributes you want. There might be some ideas for you here.

* (Note: To get my blinks to work like this, I had to make some custom edits to eye_rigger.py so that it makes separate curves and attributes for upper blink and lower blink.)


@soulcage I have checked the beginning of the video. I will try to watch the complete video ASAP.
@chrislesage Your tweaks on the eye_rigger are really cool! any chance to make a pull request on that? :stuck_out_tongue:


Yep, I can do that maybe in the next couple weeks. I’ll have to clean it a bit. And I’ll try to write it so that it keeps the original blink attribute too, so it stays backwards compatible.


AWESOME!! :smiley: Big thanks!


Remind me to create a ticket to add support on non uniform scaled eyes as I wrote a patch for this for work.