I am making 'yet another iOS' game with cocos2d and am now wondering what an acceptable number of frames per second for sprite animation would suffice?
This is more of a theoretical question as to how many animation frames I have to draw in order for the game to look good. For example: an animation specialist would love to draw 32 frames for a second of animation, whereas I think 4 frames is really enough. I do not wish to sacrifice RAM for something that no one might even notice. So what is the best number of frames to draw for a second of sprite animation? 4,6,8,12,16,20,24,32?
Update: If I create high-res graphics for the new iPad then then a single sprite animation of 24 Frames does not fit inside a Texture Atlas of 2048x2048 pixels :( and I do not want to have a lot of these out of concers for RAM. Or am I thinking something very wrong here in the first place?
clops
clopsclops2,61166 gold badges3232 silver badges4949 bronze badges
4 Answers
The human eye and its brain interface, the human visual system, can process 10 to 12 separate images per second, perceiving them individually.
So I would consider something higher than this to ensure your animation is perceived smoothly.
For reasons I'm not really sure of, I want to suggest multiples of these numbers, so I usually go for 24fps for character animations and often much less, down to perhaps 6fps for a fireball (for example)
However when it comes down to it, I haven't really noticed a slowdown from running animations at higher speeds. You might do well to measure the time it takes to update at different frame rates.
James WebsterJames Webster![Sprite Frame Rate Addons Sprite Frame Rate Addons](/uploads/1/2/3/7/123718782/482998572.jpg)
28.6k1111 gold badges6262 silver badges109109 bronze badges
In my opinion the most important thing to say here is:
This matter will NOT be essential for the success of your game
Whatever frame rate the human eye can see or not, if you are making a 2D-game for iOS what matters the most is that the game is fun to play, looks cool and plays smoothly. Focus on that.
Start out with a number of frames for your animations that makes it simple and convenient for you to develop (i.e. not too much work, no worries about sizes) You will see when you play your game if it looks good or not, don't worry. And if it don't, the problem may not be the amount of frames, but what content your frames illustrate in the particular movement.
As for the physical discussion, 24 fps was the format chosen for movies because it was thought that the eye could not make a distinction since it catches about 12 frames per second. It has however turned out that it is possible to see difference between video material shown in 24 fps and materials shown in higher framerate. The reason for this is that the human brain is smart and can not be tricked by the illusion.
However my opinion is that this discussion is for filmmakers, not 2d-game makers. 24fps for animations is most likely a huge overkill. People don't have nearly the same expectations on a game that is played on a small screen. They will focus on playability, smoothness and general feeling and awesomeness. If you are making a 3d-game the animations are calculated by the 3d engine by interpolation on-the fly, thus the animations can (in theory) be up to 60fps (or whatever the fps of the game is). In 2d I would never expect anything more than what makes sense for the development process.
jake_hetfieldjake_hetfield3,20311 gold badge1919 silver badges2828 bronze badges
As far as the FPS goes, I used 15FPS in my own iPhone app and it works just fine and looks good without using much CPU time or disk space. Just find the right value for your needs and then do not worry about it anymore. Use of a Texture Atlas for your animation needs is a real issue. If you use lots and lots of very small textures and the animation loops are very small (meaning one atlas contains the entire animation cycle) then you will benefit from an Atlas (see optimizing-texture-atlases). But, once your animations get to a certain size (in width x height or duration) then you would be better off just using a video format with alpha channel support (for example, see displaying-animations-in-opengl). If you want to read about the approach I suggest, please have a look at Load OpenGL textures with alpha channel on iOS for source code of an Xcode project that implements loading of OpenGL textures from a movie file with alpha channel support.
MoDJMoDJ3,44411 gold badge1616 silver badges5151 bronze badges
It doesn't necessarily come down to a number of frames but to smoothness. The human eye doesn't have a frame rate as much as it is susceptible to changes, even quick ones.
James' answer is correct in that anything less than 12 frames per second is usually seen as choppy. Instead of trying to avoid choppiness by aiming for a sufficiently high number, try out several different rates and pick the one that most people think is still smooth but that has the frame rate that fits your budget. (Obviously you also have to factor in e.g. the pacing of your character's movement.)
Additionally, things that are ornamental or less important don't have to have as many frames. Choosing a good lowest common denominator for the frame rate keeps this from looking weird.
JesperJesper5,98133 gold badges3333 silver badges5151 bronze badges
Not the answer you're looking for? Browse other questions tagged iosanimationcocos2d-iphonesprite or ask your own question.
ZT1-Sprites
A plugin to automize sprite rendering for Zoo Tycoon 1.
Automatic ZT1 Sprite Rendering for blender 2.78+, using FFMPEG and https://github.com/jbostoen/ZTStudio.
Installation
- Click the
Clone or Download
button at the right, thenDownload ZIP
. - To install with the addon installer in Blender, click
File
>User Preferences
>Add-ons
>Install Add-ons from File
and select the ZIP you just downloaded. - Confirm with
Install from File..
- Tick the box at the right to enable the script. Click
Save User Settings
at the bottom. Then the new ZT1 Rendering panel will appear in the Render tab.
How to use
Both static objects and animated animals etc. are supported. So you can ignore the parts that refer to animations if you just want still objects.
First, you must install and activate the provided script. If you want to import from ZT2, also install my BFB and edited NIF scripts.
- Make sure to turn on the Blender Console so you can trace progress on the slower operations.
- Import / create a model. If you import a BFB file, make sure to turn the mirror option OFF.
- Import / create animations. Rename them to match what the ANI file expects, make any edits required to make them match.
- Scale the armature, not the model (that would distort it). 1 blender grid square corresponds to 1 meter ingame.
- Only for water animals: There are 4 different special cases: surface (hide the underside), undersurface (hide the upperside), underwater (hide surface and shadow), shadow (hide the model itself). The scripts use a boolean modifier and other things to set everything up. All you have to do is label the animation names with + (for surface), - (for undersurface), * (for underwater) and # (for shadow). Land actions are not prefaced.
- Then you only need the
Render
Tab.Locate theOutput
field. Specify where the files should be created. ZT Studio expectstemp/output
as its default root folder. On top of that, add the path of your animations root. Usually, this will be ./output/animals/CODENAME/m for male animals, and ../output/animals/CODENAME/y for babies. - In most cases, you will have to adjust the frame rate of the animation. Blender runs at 24fps by default, ZT1 tends to use 8-12fps. Locate the
Dimensions
Tab. Enter the old frame rate (eg. 24) into the left part of theTime Remapping
field, and the desired ZT1 frame rate (eg. 10) into the right part. Locate theZT1 Sprite Rendering
Tab and clickRemap Action Time
to apply the new frame rate. - For ZT2 imports: Try each of the muting buttons in the
ZT1 Sprite Rendering
Tab and see when walk or run animations become stationary. That means they no longer move forwards and walk on a treadmill. You could also do this manually in the Action editor, and of course this step is not needed if you made your own anims to begin with. The channel muting is a little intelligent. It will not mute anything if Bip01 is in roughly the same position at the first and last frame. This prevents sliding in such cases if Bip01 was animated. - Once you have done that, click
Render all Sprites
. Alternatively, you can also render out only the current anim. This is especially useful if you have effects on some anims but not on others (like ripples and splashes), or if you've changed something and don't want to render everything again. - Now you have to create the color palette for your animations. First select an animation (in the action editor) that contains all colours you will need, including those for effects (splashes, dust, etc) and such. Then make sure you set your output file path in blender correctly. This is relevant for palette generation. If you select ../output/animals/CODENAME, you will get a shared palette for all life stages (sourced from m). If you specify ../output/animals/CODENAME/m, you only process the male files and they receive their own palette. You can then process the other life stages individually. Click Generate Color Palette for each new palette. This will produce a png file in the folder you specified in output, with the name of the parent folder. Open this palette png file and move the bright green pixel into the top left corner. Swap the pixel there with the one where the green one was. This is required to make the conversion work flawlessly. Outkast atliens zippyshare.
- Once your palettes are all edited, click the
Convert Sprites to ZT1
button. This will first run FFMPEG to apply this palette to all files. Lastly, it will run a batch processing operation in ZT Studio to convert all PNGs to ZT1 graphics, which you can then add to your projects.
Fallback workflow
Only use if you are running into problems with the automatic conversion
1-8) as above
- Process the images as described here: https://github.com/jbostoen/ZTStudio/wiki/How-to-create-a-color-palette-to-share-with-several-graphics-(views,-animations)-using-GIMP If you don't do this, ZT Studio will raise an error because every image has too many colors.
- Open ZT Studio. Make sure you have the files in
C:/temp/output
now. Change ZT Studio's settings like this: Conversions > Batch Conversions > Start Numbering at Frame 0; Writing PNG Files > Crop to relevant pixels of this frame (might not be needed). Run the Batch Conversion feature and you should get ZT1 animations and palettes.
What's frame per sec in spritesheet animation in unity3d 4.3? Or can I set it manually? I want to know if I have 30 frames, how much time would it take to finish spritesheet animation.
Paiboon PanusbordeePaiboon Panusbordee63611 gold badge99 silver badges2222 bronze badges
1 Answer
Sprite sheet animation in Unity 4.3 is just that, an animation. Which means you can control it.
An excellent tutorial on this subject is this one by Michael H.C. Cummings.
Once you have created your animation (by dragging the frames of your animation into your scene), you might find that your animation is playing far too fast. I believe the default is 60 frames per second. That doesn't mean you need to create your animation to contain 60 frames for each second. You can adjust this.
Go to the animator window for your animation and adjust the samples.
Sprite Frame Rate Addons 2016
If the animation you've created consists of 12 frames per second, set it to 12. After that your animation should work just fine.
Bart![Frame rate test Frame rate test](/uploads/1/2/3/7/123718782/567574439.jpg)
16.6k66 gold badges5656 silver badges6464 bronze badges
Got a question that you can’t ask on public Stack Overflow? Learn more about sharing private information with Stack Overflow for Teams.
Not the answer you're looking for? Browse other questions tagged unity3d2dsprite-sheet or ask your own question.
Posted by3 years ago
Archived
I've been trying to learn animation to use in my own game, and I just stumbled upon a problem after a couple of animation runs I wanted to test in Unity.
Mainly, how many frames should I actually make?
Conventional wisdom says that about 10 would be enough, but when I tested that the animation felt relatively choppy.
I am not considering size right now, as I plan on making a desktop game, so should I just be making more frames per second?
Uninstalling and re-install does not solve the problem. Before I lost Solitaire; other problem of signing.The program couldn't find my login information then timer pop on and just lockup the program, the only fix was to turn off Solitaire. Reinstall microsoft solitaire collection. I have not install any new software or anti-virus before the problem started.
Edit: Just to make what I'm aiming for clear, I intend to make 2D sprites of SNES level quality or higher, I am quite proficient in normal art, but have very little experience doing pixel animation, so I was hoping to make something hand-drawn.
15 comments