My question is the one from the title. To be even more specific: I am looking for, say, 2 frames per second animation for a character, while the world keeps animating at 60fps. This is similar to Super Mario Bros. where the sprite updates very few times in a second, but its movement across the scene is smooth (but not with sprites but with 3d characters).
A more correct analogy would be Quake, where the animations of the enemies are pretty choppy while the game itself runs quite smoothly.
I tried playing around with the rate scale and play rate of animations, but this only slows the movement while keeping it smooth.
Is there a way to achieve this effect? Thanks!
P.S. If at all possible, it would be nice to know if this can generalized to a sort of “low-fps simulation mode” affecting the whole scene. But I feel that this should be asked as a different question (which it is).
I must agree with Allar and say the best approach would be to edit your animations. This way you can maintain control over your games mechanics that are based on framerate and other global variables you do not wish to change.
Since you mentioned 3d, you also have the option of changing around your blend spaces which allows you to control transitions between animations, overall speed, and direction.
Let me know if these solutions could work for you, or if you need some other suggestions.
I see. I will edit my animations (it does seem like the best alternative… having said that, I’m still curious if there are any possibilities to implement this “low fps animation” as a function or a script for animations or something like that).
If you really wanted to, you could do something like set an animations current position at a floor’d input of time, but this would be quite a pain to set up if you aren’t using single animation assets and could lead to all kinds of unreliability in terms of visual intentions.
I have used the t.MaxFps command to test how my game would look like on a low fps configuration, but not for the animation. so for fixed that 60 fps you should run console command: t.MaxFps 60