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 melscripts for automation of the process. Script had some limitation on first version,  Iam releasing updated version now>

How to  install:

  • copy scripts to    > scrips directory E.g.// Documents\maya\2017\prefs\scripts
  • run command     > ck_correctiveUI


Working with script(UI):

  1. 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”),
  2. 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.
  3. select two bsTargets to create corrective. When editing or creating correctives, target selection order is not imported.
  4. 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..)
  5. after sculting/fix doe, 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



  • 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


Version History

ver 0.3 (21.12.2018)

  • first version with full functionality

ver 0.4(21.10.2018)

  • target selection order fix
  • Input blendshape fix, More then one input blendshape is ok now. Selection is required between them.
  • “_correction” named blendshapes removed from list for simplicity
  • UI , geo update and blendshape target update functions seperated,
  • UI updated

ver1.0 (22.10.2018)

  • first release version

ver1.01 (26.10.2018)

  • documentation improved