Animation Rescaler Version 3.0

Dwarf Inspection

This article is about the production of a short demonstration scenario called "Dwarf Inspection." The Movies has a scene called "inspection" and on the rural landscape set, the FLM file is 001_inspection.flm.

FLM Reader Zero: Text Elements

This scene has five actors. One of them (Actor 5) is identified as "officer" and the other four (Actor 1, Actor 2, Actor 3, and Actor 4) are identified as "grunts." In the scene, the officer walks along the line of grunts and interacts with each of them. My plan was to turn the grunts into dwarfs and change the officer to an elven princess reviewing her dwarven troops (think Tolkien). Usually all that is required to mod a scene like this is to substitute new animations for those referenced in the file. This can be done simply by editting the "Text Elements" block. Once you become familiar with the format, you can learn a lot about a scene by looking at the FLM file in FLMREADERZERO. If you don't have it, get it.

You can trace what an actor does in the scene by starting at the Actor block and following the entry labeled "Ref to Next Item ID" which points you to the next block executed by the actor. If you follow the process all the way through for one actor you can identify all of the Action blocks used by that actor and find out which animation files are used by that actor. All of the grunt animations need to be rescaled using the same scale factor as the costume in order for the scene to display properly. If you don't do this, the scene plays normally, but the rescaled actor costume will be stretched or squashed to the standard character height.

The figure is a reasonably complete mapping of the actions of Actor 1 in scene (click on the image for a larger version). If you follow the boxes and lines, you can see that the actor loops through a series of animations until some condition is met, then branches to one of several exits relating to how the actor leaves the set in Game view. To make the dwarf grunt play correctly, all of the animations for that actor must be rescaled.

When I started going through the animations and rescaling them, to the desired 0.8 scale, I discovered that some of the animations contain both an officer animation and a grunt animation. The script I had written would not work for multiple animations. It was necessary to develop a new version of (version 3.0). This new version has been added to the download at my Movies Game Webpage. If you have downloaded the rescale script before, you just need to download it again and the updated zip file will contain the new anm_rescale version 3.0.

To use the new version, the first step is to import the animation file you want to rescale into Blender using importanm(4.1).py. This will allow you to determine how many armatures you need to load the animation and figure out which of the animations in the file (if there are more than one) performs which action. Use importanm(4.1).py or later to import the animation file. When you play the animation, you can see what each character does. The import script creates entries in the ID property browser for each animation.

In order to rescale one of the animations in the file, you need to open the BoneAnmHdr group in the ID property browser for that animation. Then you will need to add a new floating point property, 'scale.' Set the value to the value desired. I used 0.8 for my "dwarf inspection" scene. Then run the script anm_rescale(3.0).py. As with the old script, select the "target file" which is the ANM file you imported, and a new ANM file will be generated with the prefix "r_" and the animation will be rescaled to the value you set in ID property browser.

Once I had tracked down all of the animations that needed to be rescaled and got them fixed, I decided to change the extra 001_x_mgun_1 (a FLM file) to 001_x_horse_n_rider. In order to do this, it was necessary to go through that 001_x_horse_n_rider.FLM to reposition the horse and rider to the same position on stage occupied by 001_x_mgun_1.FLM.

Eventually, everything was squared away and I put together the following short video which includes the completed scene "dwarf inspection."

The Video

That's all for now.