Skip to content

Fixes & Additions

UnDrew edited this page Aug 9, 2024 · 5 revisions

1. Root bone fixes

By far the biggest compatibility issue between Blender and UE3 is how they handle the Root bone in skeletal meshes.

Normally, porting a model from Unreal to Blender causes the root bone to be imported as the armature itself, rather than a bone in the armature. Symmetrically, porting it back would turn the armature into an extra root bone. This makes it nearly impossible to create models and animations for an existing skeletal structure, without using additional tools.

This patch fixes this, so armatures are imported and exported correctly. This behavior can be toggled, too:

  • Import > Armature > UE3 - Import Root as Bone
  • Export > Armature > UE3 - Don't Add Armature Bone

2. Animation batch-exporting

Because Unreal has a hard time importing animations of different durations from the same FBX file, this patch allows exporting each animation as its own separate file. This can be found at the bottom of the settings when exporting: Export > UE3 - Batch Export Anims.

3. Support for different scaling modes

The only scale inheritance modes that AHiT natively supports for skeletal animations are Aligned and None. This patch adds rudimentary support for importing and exporting these modes, which allows a way to port AHiT animations that include scaling, into and from Blender, without breaking them.

Important

When exporting custom animations, this only takes effect if your bones actually use either Aligned or None as their scale inheritance.

This cannot be converted automatically on-export, because most modes are fundamentally different from each other - each one being capable of different things. Thus, an animation intended for one mode won't look right in another.

Note

As a consequence of this change, all AHiT skeletons are imported using the Aligned mode by default. It's important to note that this mode is fundamentally different from the default Full mode, so, if undesired, this be disabled through a setting: Import > Armature > UE3 - Import Scale Inheritance.

P.S. It's a little less straightforward, but you can also change it later, on the entire armature:

InheritScaleTut.mp4

4. NLA - Modular animation support

In the vanilla exporter, when exporting NLA, each animation is exported on a per-strip basis.

This patch introduces a new setting, Export > Animation > UE3 NLA - Modular Anim Support, which instead causes animations to be exported on a per-track basis. This means that multiple strips placed on the same row will be grouped together and exported, in full, as one single animation.

Moreover, any additive animations placed above will be merged into the animation below them, so any layered animations won't have to be manually baked before each export.

5. Extended animation export features

  • Export > Animation > UE3 NLA - Force Export : OFF by default. If disabled (vanilla), NLA tracks which are disabled are skipped during export. If enabled, all NLA tracks will ALWAYS be exported, regardless of their muted state.
  • Export > Animation > UE3 NLA - Only Animate Owner : ON by default. If disabled (vanilla), NLA animations will bake the entire exported scene - even unrelated objects, which is unnecessary. If enabled, these animations will only track their owner object.
  • Export > Animation > UE3 - Rest Default Pose : ON by default. This causes the default (current) pose in the FBX file to use the Rest Pose of the armature. If disabled (vanilla), it uses the Current Pose. Enabling fixes a rare bug with AHiT, where animations would've imported with an incorrectly multiplied scale, depending on the playhead's position.
  • Export > Animation > UE3 - Remove prefix from anim names : ON by default. This removes the object prefix from action names, which is normally added by the vanilla FBX add-on.

6. Other small additions

  • Import > Animation > UE3 - FPS import rule : Some files may have a missing/faulty FPS value (AHiT does this, for example), so this setting lets you customize when FPS gets imported (if found, or never).
  • Export > Armature > UE3 - Matrix Double Precision : EXPERIMENTAL - Use with caution! Sometimes, bone rotations exported from Blender may import incorrectly in other apps, but still look correct when imported back into Blender. This bug is presumably due to accuracy issues, so this setting exists to rebuild bone matrices using double precision.