I heard someone refer to MD2 files as having "baked" animation.
Now I have no knowledge of rigged animation, but I can only assume that baked animation means that there are complete lists of vertex positions per frame, basically rendering the bones redundant, so you'd only have to import the vertex positions, and not the bone data. Is that about correct?
And presumably, un baked animation would export the bones, along with the bone positions per frame, and each bone would control vertices within a certain proximity of it?
I'm just guessing, but logically, that's what I assume.
If that's the case, can I also assume that baked animation would be more appropriate for very low poly stuff (ie DS level polycounts) ?
If my assumptions are correct, baked animation would require less processing, but more ram, compared to unbaked bone animation.
But with high poly stuff, models containing say 25,000 vertices or more, having a complete list of vertex locations per frame would be a LOT of data, and pretty RAM heavy. So I'm imagining that the extra load on the processor for processing bone animation would be the preferred option.
For my needs, baked animation seems like the more attractive option, but are there are disadvantages I should know about apart from RAM usage?
Cheers,
RumbleSushi
Replies
advantages I found:
I used a vertex animation on my Curing Colors project and it was fairly ok back then.
http://renderhjs.net/_tmp/soap/vertexAnimations/
On the max side I wrote a simple interface to define the key frames and then export the file into a custom binary file to compress the animation. With the Quake2 format you have define the key frames yourself in a lookup table which I don't like as it creates additional work.
Also you can only skin a vertex to one bone. No blending at all.
Of course there are two major differences - everything is done software, and I have much more than 4 megs of RAM to play with.
I could explore both options, as I'll be using constraints for my own car physics etc.
But I quite like the idea of baked animation to be honest. And with models that are between 50 and 150 vertices (approx 100 to 300 triangles) RAM won't be an issue, and file size won't be much of an issue either, unless there's stacks of animation.
The reason I like the idea of it is first it should be less processor intensive, if programmed right, and two - as render pointed out, freedom. You could use as many bones as you want, and it all gets baked, where as with constraints, you'd want to keep the count down, to run as fast as possible.
And render - why is it CPU intensive with big meshes? Because of the extra look up every keyframe? If you did the look ups as part of the same loop, I wouldn't have thought it would make much difference, and still be faster than using constraints to manipulate the verts before projecting them.