As I wrote two days ago, I was testing a method based on the CAT tweaks to make animation possible that use more than 1024 frames. While finding a trigger to get that animation running correctly (which I got working in the end), I made an even bigger discovery.
I finally understood the last part of the animation puzzle, the interpolation table that is in between the integer frame number and the actual interpolation of the animation itself. This did some sort of magic conversion that I never really understood, until today. It writes a part of a floating number (the other part of that float is written in a different piece of the code) and that float actually drives the actual interpolation of the animation.
So what I tried is to extend that table a bit, so that it could also convert frame numbers above 1024 into a proper float. I made an animation that has 3072 frames and gave it a try. And YES, it worked. I had made an animation for FS that uses more than 1024 frames and no special tweaks like CAT are needed. Only by using the normal animation techniques.
I don’t know yet where the limit of this is, the current table I have will handle up to 4096 frames for an animation, but I could try to extend it to 8192 or 16384. 16384 frames is already an animation of 15 minutes (at 18 Hz) so I guess that should be long enough for most of our wishes.
Now that I have the technique working, I know the next question is going to be, when will there be a tool so that we can use it easily? Actually I have received that question already. But I still need to think of a way to put this into a tool that would be easy to use. Remember you can’t use GMax to make this longer animation at once, as MakeMDL will not export more than 1024 frames. So you would either have to split your animation in parts or import the path in a different way. Any ideas are welcome.
I think I will try to make a nice article about the animation technique, now that I understand it all. By the time I have finshed that, I am sure there will be a good idea for a tool as well.