Animation Importer

The Halo Animation Importer for 3ds max and gmax has been perhaps the biggest programmable undertaking I have attempted so far with my newly acquired programming knowledge. The functionality of this program is something that I and many other Halo modders have only dreamed about being able to achieve. That needed to change. Three weeks of programming (on and off) and 30 pages of code later, such a program is a finally a reality. The features include...

Set up the correct rig in your scene by creating one yourself or using the GBXModel Importer.

Open up the script and click the Load button to load the desired .model_animations tag.

Use the drop down list to select the desired animation from the animation tag - typically the "type" would be JMA, JMM, JMZ, or JMW.

Click the "Import Animation into Scene" button and watch as the script animates the model!

How to Export a Source Animation File:

Open up the script and click the Load button to load the desired .model_animations tag.

Use the drop down list to select the desired animation from the animation tag.

If you wish to export all of the source animation files, check the "Export All Animations from Tag" checkbox.

Click the "Export Animation Data" button. If you are exporting a single animation, it will prompt for the save file location. If you are exporting all of the animations, it will prompt for the directory to save the animations to.

Wait a few seconds as the animation files are written! If you are using gmax, retrieve the animation data from the Listener.

Frequently Asked Questions:

Q: What does the "Import Frame Info (dx, dy, dyaw)" checkbox do?

Frame info data defines in an animation tag a change in translation or rotation for each frame. If you import the frame info (for animation types with frame info), the object may animate differently. See the animated .gif file above captioned "Optionally import frame info data" to see how this affects a running animation. With the frame info, the Master Chief moves forward while he runs. Without the frame info data, he stays in one place.

Q: What does the "Import Extra Base Frame" checkbox do?

Compiled animation tags always have one less frame than they do in 3ds max. This is for a number of reasons. If you're planning on re-exporting the animation, you should select this option, which will add an extra base frame at the end, essentially the same as the first frame - in most cases this will make the animation appear to "loop" back to the first farme at the end.

Q: What does the "Import Overlay Default Frame" do?

Essentially the same as the "Import Extra Base Frame", except that the default frame defines the translation and rotation of all of the subsequent frames, so it is essential for re-exporting an overlay animation. Note: Overlay animations do not look correct in 3ds max, but if you re-compile them they will look fine in-game. See the "To-do List" below for more details.

User Feedback:

"I would like to take this moment to thank TheGhost, for rekindling my love for teh HEK.I never thought this day would come...no more blindly animating, in hopes everything turns out ok...No one can understand what this awsome utility means to me...I LOVE YOU BLUESTREAK!!" ~ KiLLa, pioneer of Halo animating

Version History:

Version 1.0.0 - First public release.

Version 1.0.1 - Fixed a bug which caused an error importing overlay animation on Biped bones. Also added a quick piece of code which takes the Biped out of figure mode, ensuring that the keys are set.

Version 1.0.2 - Fixed a segment of code which was not compaitble with gmax.

Version 1.0.3 - Modified some code left over from debugging which prevented proper writing of animation data.

To-do List :

Attempt to recreate more accurate overlay animations with a given default frame. When the animation is compiled, the default data is lost, and the frame data is interpolated from that default data. To restore the data, a frame to "overlay" the animation on to (like it is in-game) would be required to make it look correct in 3ds max.