Is it normal to use 24 fps animation in 60 fps game or it will hurt perfomance or create bugs?
Most 3d animation systems work with keyframes and interpolation curves between them.
Your 3d animation program might use a 24 FPS timeline as an UI convention. But that doesn't mean that the engine will perform the animation in 24 FPS. The plain English definition of a 3d animation could be roughly stated as "Between timecodes 0.2s and 0.6s, this bone moves from position A to position B in a linear motion". When the rendering engine is then prompted to render the model at timecode 0.225s, it will use linear interpolation to calculate a position 1/16th between A and B.
That means that it is usually not that important that the framerate in the animation program and the target framerate of your game are identical. There are just two minor details you might have to be aware of:
- If the preview in your 3d animation program renders in 24FPS, then the animations might not look as smooth as they look in the actual game, giving you a slightly false impression
- Your rendering engine will rarely render exactly the keyframes. So if you spend a lot of effort into getting the keyframe poses exactly right, then you might get disappointed that your game never renders them without at least a tiny bit interpolation towards a different keyframe.
You might wonder why 24 FPS is the default in some animation programs even though most gamers expect at least 60 FPS from their 3d games. The reason is that 24 FPS is the standard framerate for TV and cinema. You might be using a program (or are using it in a configuration) which primarily targets animators for film, not animators for games. But that doesn't necessarily mean the tool you are using is inappropriate. Many animation tools work great for either use-case.
From your question I assume you've made an animation in a 3D software and you test it with 24 fps.
When you are using an animation like that in an actual game, the only difference is that if a game runs on 24 fps, the animation will finish in one second, if the game runs on 60 fps, the animation will run in 0.4 seconds.
Does it make a difference? Obviously, unless a game is made to specifically handle animations based on real time and not fps.
Does it hurt performance? I guess you could say if an animation runs for twice as long, it will be using resources for longer, but the footprint is so minimal, that it makes no sense to pay attention to it.
Does it create bugs? It depends on the game, if the game uses a logic like "run this animation, then 1 second later run this code" assuming that the animation will be finished, then yes some funny bug-behaviour will occur. But hopefully most games check when the animation is actually finished before executing code that depends on it.