Website Youtube GitHub

Facial GUI setup



I’m trying to create a facial setup using Post Scripts. The idea is to create a Facial GUI in a separate Maya file that gets imported in a post script and then we connect the Blendshapes (from SHAPES) to the controls on the Facial GUI using the RBF Manager.

Is there any tool to create Facial GUI you guys recommend?


any feedback on this workflow for a facial rig on mGear is appreciated :slight_smile:



Hi Gui,

If I am understanding your question correctly, SHAPES will be able to manage the blendshape part as well as the hooking up part for you. If you want to create it in another file, export out your node data from SHAPES. That basically creates 3 files for you which basically recreates your setup for you in another scene, provided that you have all the things it needs to connect up the system.

Once you export out your node data, in one of your post scripts you can add in the following:
“mel.eval(‘source “path to mel file.mel”;’)”

You do not have to do it in a separate project file, it might save you some extra steps of importing and exporting things from scene to scene. Use the control component to create the controls and layout your facial UI and hookup using SHAPES tool (Look on the Brave Rabbit website for some of these workflows.)

I hope this helps and hope it makes sense, if not I will try explain better.

Happy rigging man!


Hey Gui,

I’ve recently used a similar workflow like you. First created the UI in the rig file and later exported it as a separate file which I import in a Post script.
After importing SHAPES afterwards everything gets connected correctly.

It’s a bit finicky to iterate this way. I’ve been thinking of creating custom components specifically to build the viewport UI controls. Like the second link you mentioned :slight_smile:


@JaschaW I was thinking on using the RBF Manager to Hook up the blendshapes to the controls, I didn’t know that could be done in the SHAPES - is that a better way you think?


@Jeroen great! glad to know someone else tried this.

couple of questions:

  1. how did you connect the blendshapes to your UI? (rbf manager?)
  2. how many blendshapes did you had to create?
  3. did you use joints to controls other face parts? (brows, lips, jaw, etc)


@Gui You can do all the hookups using SHAPES, SDK’s, Cone Reader or RBF to your blendshapes. In my opinion, this is a really nice and easy workflow. Like I mentioned in my previous post, you could easily use the mGear control components to create your facial UI like the links you showed. Once you have that set up, A you can do the hookups with SHAPES and B once you have that UI template complete, you can save it out and re-use for your characters. So it will take time to set it up once, but worth it in the end.



It was for a game project that required me to use a jaw joint and a FACS shape system.
Think we’ve made a little over 50 shapes and hooked them to different controls using SHAPES.

Then only we connected the jaw rotation to the ui manually. Which you can later export using the sdk_io module from mgear.

However, when I don’t have to make it for game engines, I would do the lips, eyelids en eyebrows with joints.
Then drive additional blendshapes like wrinkles with RBF maybe (haven’t tried this yet).


@JaschaW I’ll do that. Thanks for all the help!


I’m making a character for Unreal Engine 4 (not a realistic character tho) and I was thinking on making a mix between joints and blendshapes, was the reason you went all blendshapes (FACS) because you are making a reaslistic character?

Here his an example:
Joints for: EyeBrows, Eyes, Jaw
Blendshapes for: EyeLids, MouthShapes

What do you guys think of this?


Exporting rigs to Unreal :smiley: I am on that kind of work right now.

Keep in mind the following if you are using fbx as your export format (baked animation on joints + mesh + skinning + blendshapes + baked blendshapes)

  • UnrealEngine supports only linear skinning. There is a port of dual quaternium but then if you use it you can’t use non unofirm scaling on joints which is sad…
  • Alembic exports (full mesh bake) are heavier than FBX exports but they have the advantage that you only cary the baked mesh so then whatever you do on Maya with your skinning will still hold
  • As Maya can keep blendshape targets in memory inside the blendshape node but FBX can’t when exporting your FBX file Maya will extract again all non live targets from the blendshape nodes and export each target as part as your FBX file.

Back to your question, there is no real issue with the example you are showing :smiley: just wanted to point out what you might need to pay attention to.



@Gui, Yes that’s mainly the reason we went for full blendshape setup. It’s a semi-realistic character and it made sense for us to go for a FACS approach.

Think the example you’re showing looks great. :slight_smile:


Thanks everyone for the help!


So I’ve been working on some UI components to make it part of the shifter build setup.
Just wanted to share some progress, see if there is any interest :slight_smile:.

There are two components so far; a container which creates a border and controller around it’s children, and a slider which you can customize the directions. The guides can be scaled, rotated and shows a little preview for the range of motion.

Could easily make this setup once as a template and use this across multiple projects.


Hi @Jeroen

Yes! your component would be perfect addition to the current ones. :slight_smile:


@Jeroen That looks awesome! :sunglasses:
We were just trying to create a UI custom component just like those, but our tech knowledge on mGear custom components and phyton in general is average so it is taking us a while to figure that out. It would be very helpful if you could share those custom components? - Then we could use it as a base and customize them to our current project.




I can clean up the code a bit, add it to the shifter components and send a pull request.
For the slider component I made a custom root guide icon, which I’ve added to the mgear.core.icon module, so it has a small dependency on that. But I could easily exchange that with the original root component for testing.

@Gui Let me clean it up a bit and I’ll try and share it by the end of the day :slight_smile:


@Jeroen yes please! send a PR :slight_smile:


@Gui I have a link here where you can download them as custom components

Just add the folders to your custom components folder and they should show up in your guide manager.

Still tweaking things a bit so I can create a clean PR :smile:


awesome stuff! we’ll have a look at them today
thanks so much for sharing this @Jeroen :pray:


@Miquel Is there some mirroring logic in place that would allow the gui sliders to mirror relatively to a parent component?

Usually I build the UI on the side of the character, but the duplicate symmetrical mirrors it from worldspace.
Otherwise I might look into tweaking the mirroring code…