About me
ZV Radial Blend Shape 1.0
What's ZV Radial Blend Shape?

Alternate video link

ZV Radial Blend Shape is a deformer node particularly useful for facial animation.

Through the use of shapes it gives you complete control over your character deformations and enhances shape blending by adding two extra shape-driven parameters.
ZV RBS makes eyelid and eyebrow deformations extremely easy to setup!

The radial blend shape node in this video uses one shape target per eyelid (4 in total).
The target weights are left unpainted, since I didn't find the need for that.

Download the plugin.

License: Freeware

In this walkthrough I will show you how to create a radial blend shape and how to use all its features.
All the files you need are included in the ZV RBS package.

Open the scene "rbs_start_here.ma".
This scene includes a base mesh, two shapes and a locator.

Run the ZV RBS tool as explained in the readme file.
Select the base mesh and click on "Get geometry" to set the geometry you want to deform.
In a real case your base mesh might already have some deformers like skin, wires, clusters on it, that's fine.

Now select both eyelid shapes and click on "Add".

Notice that a radial blend shape node has now been applied to "M_face_GEO" and two locators "L_upperEyelid_CNT" and "L_lowerEyelid_CNT" have been created at the origin and connected to the deformer.

Those locators have an important role in the radial blend shape deformation. The X axis of a "CNT" locator defines the axis around which the vertices rotate. Its position along the axis defines the origin for twist and curvature effects.
On eyelid rigs you can simply place the locator at the center of the eyeball and rotate it in a way that its X axis ideally intersects the corners of the eyelids.
In this scene you have a locator that you can use as reference. Just parent "L_upperEyelid_CNT" and "L_lowerEyelid_CNT" to the yellow locator and reset their transformations. That's a good way to match their transformations.

The setup is done!
It's time to play with the radial blend shape attributes.
Select "M_face_GEO", in the channel box click on "radialBlendShape1" to show its attributes.
Notice you have 3 attributes per target.
  • Blend ("B")
  • Twist ("T")
  • Curvature ("C")

Feel free to play with them!

ZV RBS supports weight painting. Select from the list the target you want to paint and click on "Paint weights".

Vertex membership is supported too. Click on "Edit membership", shift-select or control-select to add or remove vertices from the deformer.
The radial blend shape node automatically excludes a vertex from the computation whenever it finds the vertex position on the target matches the one on the base mesh. However by removing vertices from the membership you can make the node skip this check, making the computation even faster.

Now you are free to delete the shapes ("L_upperEyelid" and "L_lowerEyelid") and the locators ("L_upperEyelid_CNT" and "L_lowerEyelid_CNT"). You can still bring them back clicking on "Regenerate target".
In any case I suggest to keep the locators in the scene, parent them under the base mesh "M_face_GEO". They can still be useful on your rig, for example by adding a control that moves them along their X axis you can let the animators free to tweak the twist and curvature origin points.

Final notes
In a more complex rig that includes skin and other deformers you should keep the radialBlendShape node in front of chain as it were a regular blendShape.

What to do when both radial blend shape and blend shape nodes are present? You may find that if their memberships are overlapping, the second node will cancel the effect of the first one.
The best solution is to apply the radial blend shape to a main geometry duplicate and to keep just the blend shape on the main geometry. Add the duplicate as target to the blend shape node and set its weight to 1.0. In this way you can successfully mix the effects of both deformers.
Open "rbs_demo_rig.ma" to see how this technique works.