Page MenuHome

"Corrective shape keys" add on updated for 2.8
Closed, ResolvedPublic

Description

Add on "name": "Corrective shape keys", "author": "Ivo Grigull (loolarge), Tal Trachtman"
https://archive.blender.org/wiki/index.php/Extensions:2.6/Py/Scripts/Animation/Corrective_Shape_Key/
have not been up-dated for 2.8.

I up-date it for 2.8 with add new "transfer option". at same time I could not up-date "fast mode" when transfer shape from edit mesh.

This add on (original version for 2.7) have offered 3 function .

1 generate meshB (to edit easy) from meshA which use modifier(mainly armature modifier, posing) with currently used shape keys applied.

2 after edit meshB (source) , transfer the shape to meshA (target) as new shape key with keep armature modifier. (fast mode )

3 after edit meshB transfer the meshB shape to meshA as new shape key with keep armatrure and some modifiers. And it can work for meshA which use "preserve volume" (Dual quarternion) shape too. (slow mode)

Most of case I needed to use "slow mode" . then about my up-date version, I could not up-date "fast mode" . I apreciate if someone up-date this to work with "fast mode" . I only comment out the fast mode function and class to hide from UI.

And I added new option to generate new shape key which remove "currently used shape keys delta" from posing meshA" . Because , original 2.7 version "slow mode" generate shape key, from mesh A (Posing mesh) "base shape". So that when "pin" new shape key, mesh A can get same shape as mesh B. but there are cases, mesh A already morphed by other many shape keys, and these shape keys are driven by bone rotation etc. (as corrective morphs)

New "delta option" can generate new shape key, which deform meshA(posing shape) to mesh B (editted shape) with keep other shape keys value as same as before.

limitation is same as original which discribed by 2.6 wiki

Limitations:

  • Target mesh may not have any transformation at object level, it will be set to zero.
  • Fast/Armature method does not work with Bone envelopes or dual quaternions, both settings will be disabled in the modifier (my 2.8 version, I remove )

Details

Type
Patch

Event Timeline

@takeshi funahashi (waitinfuture) can you turn this into a diff and submit it for code review? That is generally easier to check then standalone files. (Use the "Submit Code" button on the https://developer.blender.org)

@Jacques Lucke (JacquesLucke) thanks,, but I am sorry, I still do not clear understandd how git and here work. It will cause more trouble. I often do un-expected thing, just mark up other user name for reply. so hope could someone do it instead of me.

Untill I up-load here, I asked Meta-androcto to review and edit if he can , he recommended me to create a task here as first step, Then more people and “main devs” will see and test it .

I think I can not maintain script or offer document wiki etc as add on author formally .Then just up-load my current up-date version for developer and user test If it work (as I mentioned), I hope other make it as stable and clean up info etc. ( I simply hope this add on not removed from Official for 2.8)

Brendon Murphy (meta-androcto) triaged this task as Normal priority.

hi, thanks contacting me in the forums and uploading here. I'll have a look shortly.

added to contrib addons for now. This addon was not maintained by the original author for several years. Thanks for your help.
Leaving task as open for now as reference point.

Thanks. I tried to contact original author who up-date for 2.6 etc,, but I could not. Then up-date for my purpose, and add new option which circulate currently used shape keys then remove the delta (I can generate new corrective shape key with keep currently used other shape keys value, without many tedious step,
(mix other shape keys, and generate, then remove the delta from new shape key etc,,)

I hope someone up-date the "slow version" to work as same as before. ., and clean up some codes which need not.
For me how up-date new 2.8 depthgraph is still difficult . I know there should be un-necessary code to up-date correctly.

hi, can any one test this? @takeshi funahashi (waitinfuture) what was the issue with fast mode? Does the addon do enough without it? Going from a non maintained, non working addon to a currently working addon with a function removed is ok. Please let me know your thoughts.

I can not make "fast mode " work for 2.8 correctly. , But I mainly use slow mode only. because only slow mode can circulate "preserve volume" .
if no one not up-date fast mode, I prefer simply remove the option. but I afraid if there was user who like to use "fast mode", then I do not delete code (just comment out)

Other 2 "transfer "mode work well for me. (I use this add on for posing figures, with many cloth, and driven shape keys,,
to generate morph for cloth, or corrective morph)

And about new option (I named it as "delta") I added, it is almost do same thing of original slow mode.

The difference is "default slow mode" can not take count currerntly used other shape keys.
When return shape from duplicated mesh as new shape key (or it overwrite, when other shape key is selected) , default slow mode "pin" new generate shape key. It is not good, because when pose figures we hope to use other shape keys mix values, then add new one to correct problem area. if remove pin, mesh shape is not same as transfer mesh shape we edit to clean up.

the new mode, can generate shape key without "pin" new shape key. then target mesh (posing) can deform to editted shape. when new shape key value = 1.00 (auto set as 1.00 when transfer)

And why this add on is still useful, https://developer.blender.org/T50597
Without this add on, we can not make new corrective shape key for posing mesh, keep "pivot" position.
and these transfer option is useful when we import mesh as new shape key to armature modifier posed mesh.
(of course vertex order, and count is matter)

Thanks for your explanations, my concern here is that when/if bug reports come in they will need to be fixed and addressed. I think we can handle this for now.
We can put this back into 2.8 release as a "working update" No doubt we will get some user feedback. I'll also look for a dev to maintain the addon.
Probably I'll do this sooner rather than later.

Brendon Murphy (meta-androcto) raised the priority of this task from Normal to Confirmed, Medium.Jun 16 2019, 3:25 AM

Committed, closing, mentioning here: T63750

I think line # 392 (in unposeMesh) should be:

psdMeshVert.co = sigma @ psdMeshVert.co  #instead of... psdMeshVert.co @ sigma

With this change I was able to see the meshB shape applied to the shape key of meshA with "fast mode".

Attaching the file with the change.
Also uncommented the functions.

Thanks Shrinivas (Shrinivas) I apologize, if I edit the code of "fast mode" when I up-date for 2.8. I seldom use the fast mode,then did not check carefully about fast mode.

I apreciate, fast mode return, with your up-date.

Then can you up-load diff for developers as add-on branch to test ? Brendon Murphy already clean up and up-load as mastar I think. I do not know correct way to up-date . but just reported.

Sure, I will upload the diff.
I haven't done it so far. So it would help if you could let me know the process. Or maybe the link to a wiki that explains it.

hi, all done, @Shrinivas (Shrinivas) @takeshi funahashi (waitinfuture) thanks for your help. Please use the file in release for any further updates and create a new task for bugs or if new features/functions are added.