I think...I am referring to actually be able to leave intact, to carry the animatio curves information.That is, of course, it depends on if the exporter is also respecting it. Sadly, unsure if pipeline, one of the most known, In max, would help there, as, being blitz3d limited to linear, the plugin authors do instead aovid it...Pipeline plugin seem to be able to take the curves, but it then bakes em into m any keyframes, as they know linear interpolation is what the engine will make... Maybe the pipeline plugin internal code could be of really great help, as I guess it is exactly looking at the spline curves that the artist made for those bones, in the 3dsMax "curve editor"...and which are indeed the key for good animations.
The Piepeline plugin.A b3d exporter for max :
here, an example of a plugin porting the curves, for very old max4.
http://members.optushome.com.au/ghra/sc ... slator.mcr
The task would not be to extract the spline curves from the scene, but , in case the max or whatever the package plugin, did extracted those curves, your loader would be respecting and also carrying them, if I explained well...
here, a wikipedia explanation of the types...(but is no use, as I refer to just bring the curves already extracted by the package exporter, being your function only to keep them...)
here, screenies of blenders animation curves...The thing here would be taking them imported with b3d file (not in the case of Blender, but for example, Max, LW, or Ultimate unwrap...)
http://www.blender.org/cms/Animation_Cu ... 717.0.html
I know md5 Blender exporter does well the task, and is based I think in blender2java or blender2cal...
md5 plugin works great as an exporter for blender.(CODE included, read the python py file with notepad, wordpad or the like..)
The blender plugin does allow two very important things I have not seen in other weights formats exporters for Blender:
-it takes in consideration the bone pose module of new blender 2.41 and newer...
-it does get the IPO curves from the bones. I have been now looking at the code of the plugin , altho I don't konw how to program, I can read there a getcurves fro ipos sort of code, so I guess it is doing it, besides I could test that visually...
Unluckily, have not been able to find the Pipeline max plugin source code. What it does is take the curves info and bake as a keyframe per frame and bones.
I have seen many formats bringing the spline info and seen right at the engine....
but tru that I dont know if that's actual spline curves extracted files, or baked from curves to keyframes. In the case of the second case, well, you are already doing linear interpolation. It'd be a matter of the artist to just bake all frames as keyframe per every bone in the model, every frame.
Wether that is or is not more heavy in memory, and cpu or gpu, than using just the really keyframes done (an animator tends to use very few, and then manipulate the curves, it's seen usually better, and no problems arise...but if he bakes it, is seen just as smooth...not if he continues editing after that
) and extracting the curves he did....wel I plainly don't know.
True that I have another data: long ago, did seem to me that half life 2 new smd files, which support well weights and all (opposite to old hl1 files) at least importing back into max...it took all frames keyframed!!! As if the exporter would have done so in its moment, or as if the importer did at import time back into max, is my only doubt.
So, thinking it well, it's already done your loader, just the need of bake for the artist of every bone in every frame...i don't know indeed how heavy is that in HD memory nor for the engine. Have you made a test? or the dwarfes hasnt got all baked?if so, weird stuff is to happen.
But I'd love if loaders and plugins just grabbed the curves info.
Ive heard of , art side, artists not needed to care,just exporting as is,...but with that or performance, you put me in doubt if it's the case that then engine loaders, or even the same exporting plugins of the 3d package...actually "bakes" it all per frame...
I dunno, have I been clear?