How do I force a parent-child object hierarchy to follow armature *without* using armature modifier? I'm working on importing a model and an animation for it from blender into Spring RTS. There are the following tools at my disposal:


Capability of the engine to import Collada via Assimp library. This function does not understand riggings and skeletons, so the only way to get an import of a structured animatable model is by constructing an object hierarchy with parent-child relations.
Capability of a third-party tool to convert BVH animations into animation scripts understood by the engine. Blender BVH export refuses to work on object hierarchies, so I need an armature (and I'd want one anyway).


This causes me to try inventing some hybrid approach. So far I've tried creating a separate, yet perfectly matching armature (for animation export and own convenience) and an object hierarchy (for model export), with intent to then constrain the individual objects in the hierarchy to follow their corresponding bones in the armature. 

This way I could visualize the animations on a wysiwyg model, and export both the model and the animation to work in the engine.

However, I seem to failing at the constrain step, since the very first object I try to constrain to follow a bone via Transform, Copy Transform and Copy Rotation constraints, seems to be somehow strangely rotated from its start position.

What am I doing wrong? How would I do this right? Are there any different, better approaches?
I'm assuming that you've already copied the object's starting rotation to match the rotation and roll of the bone. You might need to apply this rotation (Ctrl+A) in order for the constraints to start working properly.

Another possibility is that you might be experiencing Gimbal lock on your objects. Armatures don't exhibit this problem because their default rotation type uses quaternions, whereas objects default to Euler rotations. Fortunately, you can change the rotation type for objects (3D View > Properties region (N) > Transform panel > Rotation) from XYZ Euler to Quaternion (WXYZ).

Try that and see if you're still running into rotation issues.