title: Rotate 3D Model in XNA
body: <p>I am new to XNA, and I am creating a simple game. Sorry that this is probably really simple, but I can't find any help on it. There is a ship in the game that I made with Blender, and I want to be able to control the ship by being able to rotate the ship's X, Y and Z axises. Here is the code I have:</p>
  
  <pre><code>protected override void Draw(GameTime gameTime)
      {
          GraphicsDevice.Clear(Color.CornflowerBlue);
    RotationMatrix = Matrix.CreateRotationY(MathHelper.PiOver2) * Matrix.CreateRotationY    (rotationY) * Matrix.CreateRotationX(rotationX) * Matrix.CreateRotationZ(rotationZ);
  
          Matrix shipTransformMatrix = RotationMatrix * Matrix.CreateTranslation(ship.Position);
  
                          DrawModel(ship.Model, shipTransformMatrix, ship.Transforms);
          // TODO: Add your drawing code here
  
  
          base.Draw(gameTime);
      }
  
      public  void DrawModel(Model model, Matrix modelTransform, Matrix[] absoluteBoneTransforms)
      {
          //Draw the model, a model can have multiple meshes, so loop
          foreach (ModelMesh mesh in model.Meshes)
          {
              //This is where the mesh orientation is set
              foreach (BasicEffect effect in mesh.Effects)
              {
  
                  effect.World = absoluteBoneTransforms[mesh.ParentBone.Index] * modelTransform;
                  effect.Projection = projectionMatrix;
                  effect.View = viewMatrix;
  
              }
  
              //Draw the mesh, will use the effects set above.
              mesh.Draw();
          }
      }
  </code></pre>
  
  <p>This will rotate the ship, but not along the ship's axis's. If I rotate the Y axis (by changing the value of rotationY), the ship will rotate along its Y axis. But if I rotate the X or Z axis, the ship rotates according according to the world's X and Z axises, not its own. How do I make it so the ship rotates on its own axises? Do I need to do something different with the matrices?
  Thanks</p>