Faire pivoter le Modèle 3D dans XNA

Je suis nouveau sur le XNA, et je suis entrain de créer un jeu simple. Désolé que c'est probablement très simple, mais je ne peux pas trouver l'aide sur elle. Il y a un bateau dans le jeu que j'ai fait avec Blender, et je veux être en mesure de contrôler le navire en étant capable de faire tourner le navire de X, Y et Z d'axes. Voici le code que j'ai:

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();
        }
    }

Cela va tourner le navire, mais pas le long de l'axe du navire. Si j'effectue une rotation sur l'axe Y (en changeant la valeur de rotationY), le navire va faire pivoter le long de l'axe Y. Mais si je tourne l'axe X ou l'axe Z, le vaisseau tourne selon selon le monde du X et Z axes, ne lui sont pas propres. Comment puis-je faire si le bateau tourne sur son propre axes? Ai-je besoin de faire quelque chose de différent avec les matrices?
Grâce

OriginalL'auteur davidsbro | 2012-06-11