Based on popular feedback I'm trying to animate the 100+ guns on the large ship model in my game. Conveniently, they're separate submeshes in the model I got from turbosquid, however the submeshes have no translation component and the submesh vertices appear to be offset from the model origin rather than the submesh origin. So any rotations I apply to the turrets are around the larger mesh center, rather than their local origin.

To work around this I tried the set origin command to set the origin for all the submeshes to be centered around their geometry. While this now allows me to rotate each turret submesh about its local origin, it doesn't have the desired effect because the translation transform appears to be applied twice. The guns for some reason appear to be double the distance from the larger mesh origin than they used to be and look like they're floating in space like asteroids rather than attached to the ship. They rotate around their local origin at this incorrect position in space.

I'm doing this work in blender, exporting to FBX for XNA. I've tried some different settings on the exporter, doesn't seem to make a difference, but maybe I just haven't found the right setting. In blender the turrets appear to be positioned in the correct place, but not once I export them. Any clue what might cause this?