In facial rigging, corrective blend-shapes can become tedious process, Especially when the number of target blend-shapes increases, preparing corrective setup requires more effort than actually sculpting them. ck_corrective is collection of mel scripts for automation of the process.
videoTutorial:
https://vimeo.com/298121668
How to install:
-
copy scripts to > scrips directory E.g.// Documents\maya\2017\prefs\scripts
-
run command > ck_correctiveUI
Working with script(UI):
-
select geometry that blend-shapes connected. Press "addGeo" button on UI. It will store the geometry (ie:"baseGeo"), and all blendshapes connected to this geometry(ie:"facialBS", "secondaryBS"),
-
select the blend shape from list. press "update-BS". This will generate left and right list with all blend shape targets connected to selected blend-shape.
-
select two bsTargets to create corrective. When editing or creating correctives, target selection order is not imported.
-
press create/edit corrective. Sculpting geometry will be created or make visible (if it has created before). Fix can be done by directly sculpting or whatever the convenient method is.(vertex transfer, blendshape etc..)
-
after sculpting/fix done, press "assignCorrective". This will finalize the process with connections.
Procedures for ck_corrective
-
ck_getBS > stores connected blendShapeNode in selected Object
-
ck_correctiveUI > create UI
-
ck_correctiveSculpting > create /edit correctiveBS for sculting
-
ck_asignCorrective > assign & connect correctiveBS
Limitations
-
There should not be any connections for blendshape target channels. If there is animation on any channel, auto-key should be of during corrective process.
-
If there is extra deformation coming to geometry, (ie:skin) envelopes should be set to 0 or It should not change neutr position.
Future Improvements
-
mid weights can be introduced
-
currently activation of corrective blend shape is linear proces. Multiplication of two target weight is used as the weight of correction. There can be alternatives for other ramp methods