Interchange does not import vector curves from fbx, unlike the legacy importer

Hi, we’re running into an issue where the new interchange fbx importer does not handle vector curve import. This worked with the legacy fbx importer and is needed in our pipeline.

Please compare the logic inside the legacy FbxAnimUtils::ExtractAttributeCurves(), which iterates over all channels and creates all curves accordingly, with the UE::Interchange::Private::CreateAttributeCurve(), which passes a single curve name and three curves to the internal function, resulting in an early bail out due to CurveNames.Num() != Curves.Num().

Is the inability to import vector curves intentional or is this an oversight?

Thank you.

[Attachment Removed]

Steps to Reproduce
I have attached a simple fbx scene created in MotionBuilder containing a cube with two animated custom properties: Number, and Vector (3d).

If you import the animation into UE, you unexpectedly only get the Number curve in the animation asset.

Disable interchange via console comand “Interchange.FeatureFlags.Import.FBX false” and retry the import.

This time there will be four anim curves: “Number”, “Vector_X”, “Vector_Y”, and “Vector_Z”.

[Attachment Removed]

Hey Mladen,

Sorry for the delay. This is more than likely an oversight. We are looking into this!

[Attachment Removed]

Hey Mladen,

Sorry again for the delay.

A fix has been submitted and is available in this commit: https://github.com/EpicGames/UnrealEngine/commit/72cb86aefaaf5b7fb9329948aabf8f6f64cec797

Animated curves for vectors properties and boolean properties should now be properly imported by Interchange.

Hope this will fix the issue.

Thanks again for repporting!

[Attachment Removed]