Jump to content

Tools/Sonic Frontiers Animation Tools

From HEModdingWiki
Frontiers Animation Tools
Other namesFrontiersAnimDecompress
PurposeEditing PXD Skeletons and Animations
Developer(s)WistfulHopes, AdelQue, Turk645
RepositoryFrontiersAnimDecompress on GitHub
Written inC++, Python
DownloadLatest Release
RequirementsBlender 3.6 – 4.2

Frontiers Animations Tools is a Blender add-on for importing and exporting animation (*.anm.pxd) and skeleton (*.skl.pxd.) files from various Hedgehog Engine 2 games. Despite its name, the tool officially supports most Hedgehog Engine 2 titles including Mario & Sonic at the Olympic Games Tokyo 2020, Sonic Origins, Sonic Frontiers, and Shadow Generations.

The add-on can currently perform compressed/uncompressed batch animation imports, compressed batch animation exports, skeleton reorientation, and officially supports Blender versions from 3.6 to 4.2 (as a legacy add-on), with reported success in 4.3. Since the add-on includes a DLL, the add-on will only work on Windows.

Downloads:[edit | edit source]

The latest version of the tool at any point can be found here.[edit | edit source]

The zip download is to be installed as an add-on in Blender without extracting.

Usage:[edit | edit source]

To-do: Make tutorial, but otherwise here's an overview.

A skeleton needs to be imported into the scene, and this skeleton must be selected in the viewport in order to import or export an animation. The add-on currently only reads bone indices from the animation file, so an animation can only be imported over the skeleton that it was originally made for. Batch functions can be found in the right ribbon of the viewport's sidebar, in the "Frontiers Animation" category under the "Animation" tab.

As long as all the bones' scale inheritance mode in your skeleton is set to "Aligned", and any targets for scale-modifying constraints follow the same inheritance mode, the skeleton should generally export exactly as you see in the viewport.

Per-animation settings (such as FPS and frame range) can be found in the "Action Editor" under the Dope Sheet editor. PXD specific settings may currently not show up for any animation that wasn't imported, or duplicated off of an imported animation.

When exporting custom skeletons, ensure that all bone names only contain alphanumeric characters. With the exception of underscores "_", any special characters (such as "." commonly auto-added to many duplicated resources in Blender) in bone names may cause a crash in-game upon loading.

In order to have a default game skeleton support mirroring in Blender, a skeleton must be imported using YX orientation (a toggleable option in all import/export dialogues). If the skeleton is imported with this setting, all subsequent import/export operations from this add-on must enable YX orientation as well. If it is not properly called out, results in-game will not turn out as expected.

During batch operations, Blender may freeze and become unresponsive. The external Blender console window can (and should) be open so you may view a readout of the import progress instead of assuming the program is crashing. It is not recommended to batch imports hundreds of animations at a time. Depending on your hardware, you may want to play with a group of about 50 at a time or maybe up to 200 if you have a higher end system.

History:[edit | edit source]

The PXD formats were first supported by Blender scripts created by Turk645. These initial scripts allowed animation and skeleton importing for the files first found in the 2020 Olympic game.

From Origins onward, animation data was identified by ik-01 to be compressed by ACL. An application called "FrontiersAnimDecompress" was later created by WistfulHopes, which was used to dump decompressed track data (labeled as *.outanim files) from these newly compressed formats. Included with the app were supplemental Blender scripts for importing from the dumped track data (modified from Turk645's original scripts), as well as custom scripts for exporting custom skeletons and raw track data that could later be recompressed.

The application was eventually modified into a DLL, and supplemental scripts were rewritten as one packaged add-on by AdelQue, so standalone conversion was no longer necessary. Notable additions included batch processing, corrected scaling, skeleton reorientation for mirror support, and root motion.

Handling of raw track data was recently found to be identical across all Hedgehog Engine titles. The method in this add-on to achieve correct scaling can be reused for other Hedgehog Engine games stored in Havok animation formats.