Download

3Ds max animation to UE4.

There is a modifier named “skin morph” that is uses to make “corrective morphs” for the mesh while in certain poses.
This modifier can’t be exported to FBX and therefor can’t be imported into UE4.
In blender, all I have to do is to use drivers for the morphs and I can export the character animation with the corrective morphs animation on it.
Since 3DSMAX is one of the most used programs in the industry for games ( as far as I know… ) I find it hard to believe that it can’t be used to make animations with corrective morphs.
How do AAA companies polish their character’s animations? Corrective morphs are very important for good looking animations.
I know UDK has the ability to import morphs a long time ago, and Unity3D has joined with that ability from version 4.6.
So how come 3DSMAX can’t provide this fundamental thing?
I’m sure there are a lot of developers that uses 3ds max with their unreal game development. So how do you do it?

tl dr:
To all 3ds max users, how do you export corrective morphs for your characters animations into unreal?

I’m currently using 3d studio max 2014 and am looking into exporting corrective morphs with the FBX. I"m not sure how to do it. I’m surprised Blender can do it, but Max can’t.

The only information I have is this: Have a bone's rotation drive a morphtarget's strength - UE4 AnswerHub - This involves setting the morph targets via blue prints based upon bone rotation.

Did you test to make sure your blender FBX that you export with corrective skin morphs actually works in UE4?

Hey.
Yes it does work with blender because it is exported as regular animated morphs and 3ds max use a special type of them.
Animating morphs with blueprint is not a good solution because you will have to animate it in both places if you want to know how it looks before exporting it and blueprint logic cost performances.

I can confirm that “SkinMorph” in 3ds max to unreal is not supported and will not work.

The reason for this is that skinmorph is not only incompatible with unreal/FBX but also it is a modifier that is stacked on top of the skin modifier, FBX does not like if something is stacked on top of skin and prefers to have skin to be the last modifier on top, therefore it would produce an error and not export skinmorph.

The solution:

Use reaction manager in max to manually setup joint based angles linked to standard morpher in max to do the corrective shapes, this is a longer process but its the only solution right now. a custom script interface would make it better if you are familiar with max script.

IMPORTANT note: Always have “resample all” option checked in FBX options while exporting such a setup from 3ds max to unreal otherwise the animation in unreal would play incorrectly.

I am still confused as to why “resample all” is left unchecked in FBX by default and what its exact purpose is, I am assuming it is creating linear curves between keys thus preserving the “integrity” of the motion, if someone can shine some light on this info it would help understand it better.

Hope this helps and we hope in the future skinmorph would be supported, but this has more to do with Autodesk and FBX than unreal I suppose.

You can’t wire corrective morphs using the reaction manager because the morphs will have to be additive.
You can use reaction manager only to wire morphs that are not for corrective use ( such as face impressions animated by sliders ).

Yes you can.

You have to work around it, try this:

1- Go to the pose you want to correct on your skinned mesh.

2 - snapshot the mesh for that pose.

3 - Create a copy of the original mesh for morphing in its initial pose.

4 - Add Morpher on the copied version.

5 - Add the snapshot pose as morph target and put that at 100 percent.

6 - Put edit mesh or poly on top of the Morpher and edit away for corrective.

7 - Delete or turn off Morpher when you are done.

8 - use this as a target to morph as corrective for the pose of your skinned mesh.

9 - using reaction manager to link it now would also work.

It works fine even in unreal, I’ve tried it.

c4bfc84318c31b0b52a0b8a91da74438162736cc.jpeg

But this way you make your corrective morph not on the destination pose and you have no way to know how it will finally looks like while your sculpting it.
So if you want a well polished results, this method is not the solution.

Sahkan,

Perhaps you misread my post, if you tried out what I wrote earlier you would know that you would be editing directly on the posed mesh and correcting it as you would be in any sculpting application or skinmorph setup, which is why I Snapshot the “pose” first and used it as morph for reference reasons before turing it off again for exactly this purpose otherwise I wouldn’t have suggested it as you would be working blindly.

I suggest you try it out before you assume it’s not the solution : ).

e3ccfa160d8f5019b7d22e5bbb0198011632a3d7.png
204410cde0b63a09cbfc6bf9167a5aa74275dd62.png
9b09b8d2c654648b69fe86c8d533f0ff898ccd56.png
Capture4.PNG
Capture5.PNG
Capture6.PNG
So what am I doing wrong?

I understand now that what you are after is not going to work. This is not going to work, yes you are correct in that. Even the “angle morphs” and joint deformers within the skin modifier will not work with FBX this is strange but true. The perfect workaround for this that we all use traditionally unfortunately will not work here unless skin itself is smart enough to recognize the changes to apply to FBX.

Right now the only solution available is to copy the mesh and make the changes under skin while eyeballing those changes on the deformed mesh hence the target as reference, its not perfect but its the only one that is working since the morph targets would work then as expected. If you look past the awkwardness and have to deliver a result regardless of the way it’s done then this may be your only answer.

If you wish to mirror the result as you may expect to do then you can also but it is also a workaround using “skinwrap”.

I will keep a look out for a better method but so far all other tests have not been successful in exporting the correctives in a traditional way, I am curious as to what blender is doing, I can look into that soon.

Edit: I had to try on a extreme sample to realise some more of the differences while trying the other method. The fact that I was using voxel deformations" with extension 1 of max 2016 didnt help me realise the corrective was at 50% only in my previous sample. My bad there.

Guys, I’m looking for a solution for this, also. Still nothing!

BUT… I’ve found an option in 3Ds Max Morpher modifier to see changes in real time as you modify the morph target mesh. It’s called Automatically Reload Targets.

I’ve made a video about it that shows it working. Hope it helps someone.
It’s not the perfect workflow, like Skin Morph, but it’s better than having to manually reload the targets to see the results every time you make a change.
https://youtube.com/watch?v=0QZxykmGGOg

A description of the practical application would be helpful as there are a few techniques that could be used. Angle deformers are unique to 3ds Max but one could always build their own from scratch but based on the example the easier option would be to build an accommodation into the joint rotation that would maintain volume through the joint rotation.

https://youtube.com/watch?v=90QsKfOh2UU

The theory is the outer loops will rotate around the joint while the inner loops will compress into one another

Other than guess work with modifier stacks, currently there is no clear cut way to just take these and sculpt the correctives and have them work with Unreal, simply because Unreal does not support additive morphs this way, Max’s skinmorph plus all the FFD’s angle deformers of the skin modifier are useless with Unreal, it simple would not recognize them.

This is something we are looking into for our pipeline as well. What we need is a script or plugin that would do the trick, something similar to Maya’s “extract deltas” ( https://www.youtube.com/watch?v=D87dbE8oLbA ), there are a few scripts floating around for max but they all failed to yield results, the only one I heard of that used to work was called MorphX2 discontinued after 2011. was free but can’t find it anywhere so far.

Looks like we have to keep looking for options.

Would like to share a solution to this problem if some of you are still stuck on it, it is a small work around but at least it will give you freedom to sculpt correctives without guesswork.

It’s actually very simple:

1 - Just take the pose to mudbox or Zbrush (make sure it has proper UV’s), you can even do this in the native 3d app, sculpt the corrective as you like on the pose and then export a displacement map for it.

2 - Apply displacement map on the base pose of the mesh until the height value is identical and satisfactory, and then use that mesh for a morph target.

It should hopefully work out.

Sorry to necro, but I ran into this problem and developed a script for it. It basically modifies a morph target to match a final pose, so it works under the skin modifier. Hopefully it can help someone else too.

http://www.scriptspot.com/3ds-max/scripts/morph-target-builder

Seems very interresting !
I will try your script as soon as possible :slight_smile:
I’m used to do my correctives morph with the “automatic reload morph target” opton but it is a bit tidious…

PS : there is no better reason to reanimate an old thread than yours ^^.

Hello fellows! This is a really annoying thing! I thought creating corrective blendshapes was easier nowadays :frowning:

I found this video https://www.youtube.com/watch?v=vEhHRU7f_Mo

That’s exactly what we need, but it’s for maya. It looks like what we need is something called “Deltas” from a corrected shape. There’s nothing about this deltas referred to 3ds max, but yes for maya.

Anyway the script of **gryphen_76 **does exactly the same I think. I’m going to test it right now.

If it works I’ll love you for all eternity! I suggest you to add the “Delta” word to the description or the name of your script, because is like the standard word for what you are doing.

Best regards! Hope you all have found a solution for your troubles.

Fastest way so far that I was able to work around it is to simply export the object to blender and create a corrective there and export it back as a morph target for max.

But having a one button solution script for max will certainly help.

How’s that? Does blender has an option for creating corrective blendshapes in the pose that you want to correct??

https://forums.unrealengine.com/deve…e-morphs-to-ue

Correctives are also usually used with progressive morphs depending on what you want, FBX doesn’t export progressive either and Unreal doens’t support them unless its simple morph stack, for that I wrote a workaround script for Max that may help out for UE export in case anyone wants to use it.

http://www.scriptspot.com/3ds-max/scripts/qtools-progressive-morpher