Animation speed problems - Unity slower than Blender

I have a Blender animation that is 120 frames long - which, at 30 frames per second, obviously takes 4 seconds to run. But in Unity, it takes 8 seconds to run. Any suggestions as to why?

I have tried setting the Application.targetFrameRate to 30, with no change. In fact, regardless of whether I set targetFrameRate or not, the animation takes twice as long, in both a web Browser, and standalone Executable.

According to the FPS script I got from the Wiki, my executable (and browser) are running at 70+ frames per second when I set tFR to 30 (so I guess tFR sets a minimum, not a cap). But even if that's correct - for a 120 frame animation, shouldn't it complete twice as fast, in 2 seconds? Why would it take 8 seconds?

I have put a .zip file containing both my original Blender model, and a simple Unity package running it, on the Forums at: Animation Speed Problems, should anyone care to examine it.

Update - well, the answer, such as it is, is that the animation (and HTML) plays fine on every machine - except mine. I have run the HTML locally in all of Opera, FireFox, and IE, and it takes 8 seconds. I have run the HTML from my dedicated server, same result. But when I Remote Console into my dedicated server, and run IE there - it takes only 4 seconds. And it's 4 seconds on Eric5h5's machine, using my HTML file.

So, something on my local machine is causing all three browsers to run the animation at half-speed (yes, even in full-screen mode). I realize it's no longer a Unity issue, but any suggestions as to why, are welcome. I'm running Windows XP/SP3 on an Intel dual-core, so the machine should be fast enough. I also have an NVidia GeForce 7600 GS (with default settings), and DirectX 9.0c.

Application.targetFrameRate is for how many frames per second the entire app is allowed to run at maximum. How many frames per second your game is running has nothing to do with animation speed, which is framerate-independent.

At any rate, your model takes 4 seconds to play when I import it into Unity. Maybe you have Time.timeScale set to .5.

This happens to me too with some of my animations, but not all. I have zero idea what causes it, but a simple workaround for animations that do come in sped up or slowed down is to use animation[“animationName”].speed = x;, x being used to compensate for the speed disparity. So in your case maybe

animation["spin"].speed = 0.5f;

or something like that.


Outlined in RED.
This DOES make a difference when outputting your animations. It is set to 24fps by default.
I like to use 60fps but Android likes 30fps