Announcements
Attention for Customers without Multi-Factor Authentication or Single Sign-On - OTP Verification rolls out April 2025. Read all about it here.

Corrective blend shapes

rtgaddy
Explorer

Corrective blend shapes

rtgaddy
Explorer
Explorer

How do I create corrective blend shapes in 3ds max? For offline rendered content I use the skin wrap modifier, but now I am trying to import characters/animation into real-time engines. Fbx export doesn't respect anything above the skin modifier, and any morphs plugged into morpher don't transform vertices locally as needed for corrective blends. I haven't been able to find any solutions through online search.

0 Likes
Reply
Accepted solutions (1)
1,048 Views
14 Replies
Replies (14)

BubbaDaCaveman
Enthusiast
Enthusiast

There seems to be no way of creating corrective morph targets in 3ds max other then using the Gizmo in the Skin modifier itself. I myself am researching and trying various combination to get the Morpher modifier to fix troublesome areas in a rigged character, but the morpher doesn't work no matter what.

 

What I did was pose the object where it needed some corrections in the deformation then use the Edit Poly modifier to model the fixes. Then I went back to the neutral pose but the Edit poly modifier retained the fixes. Then I used this result as the corrective shape for the Morpher, normally it should have worked but it doesn't in 3ds max.

0 Likes

rtgaddy
Explorer
Explorer

Yeah I’ve tried applying corrective morphs using the skin morph, then toggling the skin modifier and creating a snapshot of the mesh with the vertex deformation (but without the skin deform). I seemed to get more accurate results with this in earlier versions of Max but not 2023. It’s not a perfect solution, and is very time consuming, so I thought there must be a more efficient way to implement this for real-time assets.

0 Likes

BubbaDaCaveman
Enthusiast
Enthusiast

Thanks for mentioning the Skin Morph modifier, I will check if that works in version 2022.

0 Likes

BubbaDaCaveman
Enthusiast
Enthusiast

So, I tried the Skin Morph modifier. By itself the modifier works fine. But by disabling the Skin modifier after making any edits in the Skin Morph modifier I assumed that I would get the deltas for a normal Morph modifier but I was wrong. The Skin morph modifier doesn't give any delta information.

0 Likes

rtgaddy
Explorer
Explorer

Is there any way to elevate this issue to the dev team? Corrective blend shapes are pretty common in game development, very odd Max doesn’t have a solution for them. It’s even the first time Autodesk twitter didn’t immediately respond to my problem. 

0 Likes

DanielCantin
Autodesk
Autodesk
Accepted solution

Hi @rtgaddy,

I'm wondering if this script is doing what you are looking for: SCRIPTSPOT: Morph Target Builder

 

Thanks for reaching out, let us know if that help or not



Daniel Cantin
QA Manager, 3ds Max, Maya
Entertainment Creation Products, DCP
0 Likes

rtgaddy
Explorer
Explorer
This is definitely a possible solution. It may not be ideal for prepping near a hundred blendshapes and is a bit clunky, as the script calculation can sometimes take minutes to run for each morph, but it's better than nothing, which is what I had. Thank you. This should definitely get more visibility as well as a possible native implementation.
0 Likes

BubbaDaCaveman
Enthusiast
Enthusiast

Hi, which version of max are you using? I am trying to use this script in both Max 2022 and 2023 but the extracted deltas do not give the corrective shape I am looking for.

 

 

0 Likes

rtgaddy
Explorer
Explorer
I’m working in Max 2023 and getting expected results. The steps are very specific and must be followed exactly for it to work for me.

1. Edit poly mesh with morpher & skin mod. (skinPoly)
2. Duplicate of original edit poly mesh in exact same transform position (no skin data). (goalPoly)
3. Target morph adjusted edit poly mesh. (morphPoly)

Make sure morpher is set to 100% on your before you run it. All meshes must have unique names.

There are a lot of steps and a lot of room for error, which doesn’t make it ideal, but it technically works.

This video walks you through, but goes slightly out of order, and a bit confusing.
https://youtu.be/HsigJAe7oeo
0 Likes

BubbaDaCaveman
Enthusiast
Enthusiast

After some explodings I managed to extract the correct deltas. I have documented it here

 

 

And in case you are looking for another alternative here's one called MCG:ExtractDeltas. I haven't managed to get a proper result from it yet, maybe you can.

Here's the link

https://cganimator.com/mcg-extractdeltas/#:~:text=This%20is%20a%20MCG%20modifier%20which%20extract%2....

0 Likes

domo.spaji
Advisor
Advisor

Ad some mod. after Skin mod., like Edit Poly

Make some changes

Drag Edit Poly mod. under Morpher in the stack

Pick some empty channel in Morpher and "Capture current State"

 

Simple as that!

 

Delete/turn off Edit Poly mod.

"Extract" captured mesh from Morpher if you want

0 Likes

rtgaddy
Explorer
Explorer

Hi thanks for your response. I feel like this used to work? The deltas are definitely moving in my Max 2023 when moving the edit poly modifier under the skin modifier. It’s especially noticeable if the skin has been updated for example: try the same technique on an arm or tube bent by bones rig. As soon as the edit poly is below the morpher the vertices snap to different deltas.

0 Likes

rtgaddy
Explorer
Explorer

Ok, I'm going to retract my "this is a solution". I've tried multiple times on more complex meshes, and the script does not work. It takes way too long to compute and crashes on any geo that is not a tube or sphere. I'm currently evaluating the MCG ExtractDeltas, but am not quite getting results.

0 Likes

BubbaDaCaveman
Enthusiast
Enthusiast

For me it worked. I didn't select too many vertices at once, selecting every vertices at once will hang the script. In the images bellow you can see I have extracted the deltas.

 

The shoulder being deformed by only bones.

Corrective morphs 3.JPG

 

 

The shoulder area fixed with corrective morph target.

Corrective morphs 2.JPG

 

 

The right image is the extracted delta. I would say it worked on a pretty complex model.

Corrective morphs.JPG

0 Likes