   Rigging a Model for movement ingame
  Part of the research project I am working on this summer requires loading some basic models (like a human arm) into XNA and move it using some hi-tech input devices like a Polhemus (http://www.polhemus.com/).  Fun stuff.Problem is this.  Loading some models into XNA is easy (be it *.fbx or *.x).  However nobody on the project has any experience rigging a model for movement in game.  Using google has become tough on this one as it seems there is little tutorials and explanations out there and there is many ways to achieve this.So would anyone care to share some experience on this.  What 3D modelers should I use to achieve this? Provide a link to a tutorial perhaps that you found useful?End result, we need a simple human arm that can bend at the elbow for a proof of concept.   
  I do it like this. (theres other ways to do it, i like this way because i can then apply physics to the skeleton and get it to rag doll. there is simpler ways if you dont need physics or inverse kinematics, but this way is the best if you want to do it more advanced like.)for an arm i make 3 verts, the middle vert the elbow and connect them together with lines.These lines have an up right and front, the front going in the direction of the line (or bone).whenever a bone moves, you already have the new front, you must recross to get the up and right for it again using the last values, it should stay in synch.You just need an up and right for it to be able to spin the part of the model right onto the stick.You should also make sure the bone stays the same length, do that by springing it back to its correct length along its vector each cycle.then for each vert of the mesh you assign it a bone (there is 2 bones).each cycle of the program, build a matrix for each bone in the arm on the cpu to pass to the shader to render. (or is it called skinning?)each matrix has 2 translation transforms and an orientation transform pre multiplied together.the translations move the bone origin to 0,0,0 perform the rotation then move it back to where it started.Use the up right and front of the bone to orientate the mesh.The upper arm is just that, but the lower arm, since it has to obey the movements of the upper arm also, you multiply the top arm in with the bottom arm and transform the lower arm verts by both lots of matrices at once.UPPER ARM  translate - orientate - translate backLOWER ARM  translate - orientate - translate back + translate - orientate - translate backThis way, all the matrices are built on the cpu, then they are all packed together and you pass them to the shader for one matrix multiply per point. Then to animate, all you have to do is move the 3 verts, and the arm should be rigged to stay with the lines.Sorry if its a little poorly explained, but thats how I do it.   ;  You want to make sure that your 3D model has a skeleton inside it which is bound to your mesh.  By moving the skeleton you'll deform the shape of your mesh.  This is called skeletal animation.If you do a search on google you'll find many examples on how to implement a system like this.  Here is one I found quickly: http://www.3dkingdoms.com/weekly/weekly.php?a=4