Hi, guys.
When I use Unity(5.5.0f3) import animation curve from 3ds Max(2016), it become strange curve.
In 3ds Max, the animation curve look like that.
This is because Unity has to resample all animation curves imported into it from all external animation packages.
Search the forum here for resample animation curves - and you’ll find more info on this topic.
There is not a ‘fix’ for this - stepped curves import.
If you bake your animation on export, I’m fairly confident that the curve will look like this in your FBX file, even before you open it in Unity.
You can verify by opening it in Blender (free), or in any other Autodesk tool.
Baking your curves will destroy your stepped keys, and attempt to achieve the same result using auto keys.
What you are seeing is the closest that’s possible with auto keys.
If you sample on frame (like in movies), you won’t see a problem, but since Unity doesn’t sample at fixed framerates, you’ll see the issue.
Even if you don’t bake on export, Unity might have to bake the curves on import.
In Legacy, Animations are resampled by default, because we can’t guarantee the same interpolation as the source file (every interpolator might be different).
In Generic, there’s an option to turn off resampling. When it’s turned off, Unity will attempt to import the curves as-is. Even then, sometimes, the curve representation coming from your tool is not compatible with Unity’s internal representation, which is a lot simpler (and a lot faster to evaluate). When this happens, the FBX SDK will provide us with pre-resampled curves, and there’s not much we can do.
The only workaround that I know of is to add an empty frame on the step, and cut the clip in two different clips, one that ends at the low value, and another that starts at the high value, then chain those together.