Keyframe Align

21 votes
Date Updated: 
Author Name: 
Alex Velez

Key frame align allows you to align an object over time based on key frames instead of placing a key on every frame. It will also align one object to another on every frame if needed. It can separate the position, rotation, and scale transforms. This script also works with biped. This was inspired by Jim Jagger's animated align and advanced align tools. I fixed an oddity with the rotation, it wont require it to be run twice on certain occasions. Latest update fixes an error with biped. A biped object with a modifier can now be interpreted by the script. Fixed an error when aligning 2 max objects (not biped objects). Typo :D

to install:

Put the alexanimalign.mcr into the autodesk\3dstudiomax\ui\macroscripts folder
install as a toolbar button or into the quad menu. It can be found in the category
Alex Tools

to use key frame align:
select an item that needs alignment
select the target object
check which transforms to align
hit the "do it" button

to bake keys:
select an item that needs alignment
select the target object
select a time range
select a key frame increment (steps spinner)
check which transforms to align
hit the "increment me" button

Version Requirement: 
Max 2008 and Max 2010
alexanimalign.mcr10.27 KB


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
Aluhrial's picture

Thanks a LOT!

Pleased to say - it still works in 3ds2017 like a charm :) Been looking for this thing exactly for a long, painful while, as my everyday work suggests LOTS of per-frame-aligning stuff. Thanks again mate! Hope youre doing well. :)

leozin's picture

You are great!

@Alex Velez Thank you very much for this script!
It´s incredible! Awesome!
Oh man you saved me a lot of time in retargeting an animation.
God bless you bro! You are great!

boriszh's picture


Amazing script!

animation109's picture

Link Constraint

I avoided using .transform because I want to keep the option of aligning only position or rotation, or scale. Link Constraint is a special case. I can look into a solution for it.

animation109's picture

time range on keyframes

That's an excellent suggestion. I will look into making the change.

magilla's picture

one thing that would make

one thing that would make this more awesome - a frame range on the keyframe section

magilla's picture


thank you, this has saved me heaps of time.

fexman's picture

Got It

Okay got it working with Link Constraint by replacing the individual ".pos .rotation .scale" alignment with ".transform" alignment.

fexman's picture

Love the concept

I came to this page looking for a script that would do exactly this.
See I had a recurring problem when using Link Constraint and I add a new Link at a frame that is already fully animated. Due to causality all the motion of the child will be distorted on all following frames.
The only way for me to solve this is to copy the child before I do the change and then after the change align each keyframe back onto the copy.

Your tool could have saved me quite some time.
Unfortunately your tool does not seem to have the same effect as "Align" does in this case. I guess this has something to do with the Link Constraint.

If you are interested maybe you could have a look into it?
I have attached a simple file where I recreated the problem were I cannot align the "object to be aligned" to the "target object" using your script.
The file actually shows the result of the script. As you can see keyframes have been created in the "object to be aligned"

Or maybe I am doing something wrong?

keyframe_align.max 192 KB
animation109's picture

I updated the script to fix

I updated the script to fix some of my old sloppy code :)

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.