Time scaling is a useful technique which allows the scaling of a particular section of an animation so that it spans more or less time. For example, suppose you have a particular segment starting at keytime 01:00:00 and ending at keytime 05:00:00. Suppose further that you wish the motion to appear slower in this segment. One possible solution is generating more frames by increasing framerate. However, this has the side-effect of increasing the framerate for the rest of the animation. What is really required is the ability to stretch this segment in a linear fashion so that it requires ten minutes of time rather than five. The Scale Time button provides this functionality.
Scale Time works on two or more keyframes in sequence in the keyframe list. Keyframes are selected by highlighting them in the keyframe list and clicking the Scale Time button. The user is then queried for a new end keytime and the selected keyframes are scaled to the interval defined by the starting keytime and the new ending keytime. Note that the new end time must be greater than the start keytime of the selected interval.
The mapping from old keytimes to new keytimes
is defined as follows. If s is the start keytime,
e the end keytime, and e' the new end keytime,
then for each keytime m with ,
m is mapped to the keytime
where t=(e-m)/(e-s). Each keyframe n with keytime
greater than e is mapped to keytime n + (e'-e).
Keyframes before keytime s are unaltered.