I'm trying to use Blender to crate my own 3D character. I made a mesh in Blender, recoded an action called "walk" and exported it to the CS format using the io_scene_cs addon from the crystalspace repository. I can view it inside the viewmesh program and animate it. This indicated to me that I exported everything correctly.
Next I replaced the cally character with my character inside the walktut app. However when I move the character forward, the walk animation doesn't play at all. I also tried to start animating as soon as the mesh is loaded, by adding the following line right after the mesh is loaded:
pcmesh->SetAnimation("walk",true);
I poked around the iPcMesh code and the viewmesh code, to see what the difference between the two is. I found out that viewmesh first creates an FSM for all animations, and then uses that to play them. iPcMesh just checks if an FSM exists, and if not it it does something else. I found that if I copy-pasted the code from viewmesh's AnimeshAsset::RebuildAnimationTree() function to create an FSM and execute it before I set the walk animation inside walktut, everything starts working normally.
My question is, what is the proper way to use animations of an animesh? Do I need to create an FSM manually before I do anything?