I got the pivot thing working two days ago. This also works in hierarchies, as long as the hierarchies are the same in the UE.
Grouping…
The problem is, UE has only a very… simple… implementation for hierarchies (aka. nested transforms, grouping, attaching) because they obviously decided to go for the horrible invisible-locked-groups-thing from 3DsMax
Objects in a hierarchie in UE will not be duplicated, when the parent is duplicated.
When I send a transformation to UE it has to be relative to the parent. If the parent does not exist in UE (or the object is not attached to that parent) the transformation will be off.
Therefore, groups from maya have to be mirrored in UE by creating an empty transform, for which there is no real useful actor there.
I could create StaticMesh actors without a mesh… they will be displayed as a warning in the analyze window when building the level.
I could create a Note actor instead… they will be displayed as a Note in the analyze window.
Both options are annoying.
The other actors possible would be TextRenderActor or TargetActor, which both are dynamic, and thus you cannot attach static meshes to them.
Creating a StaticMesh Actor with a static mesh but setting it to be hidden in Editor and in Game could be another solution, but those will show up in FBX files when exporting and so.
Providing a “MayaStyleGroupActor” (all we need is a transform node) with the Plugin is no option because the plugin should be editor-only and not required for shipping the game.
After testing a little, I came to the conclusion that it is possible to set Actor’s mobility to static, via code, although it is hidden in the editor. So I will probably go with creating TargetActors for Groups and setting them tho static.
The complete other solution would be to not reproduce grouping information at all in UE and always use world-space transformations, but I think grouping information is not only important for transformations, but also for cleaning up the outliner. That is why i will go with the TargetActor as an empty transform way. Until UE comes with a simple TransformActor that the user can toggle dynamic or static if that is needed for matinee animations or so.