I think im getting myself in a pickle again - apoloies Chad - Its sinking in im sure. To recap:
1. I have removed the manual rotation values from the Model->Properties->Content Processer within VS.
2. Added the following 3 class members to my MovingModel class:
_rotate.X = 0.0f;
_rotate.Y = 90.0f;
_rotate.Z = 0.0f;
3.
Added the following world matrix based on ISROT in Update:
if (keyboard.IsKeyDown(Keys.OemPeriod)) //"." - Move Right
{
_position.X += 1;
}
if (keyboard.IsKeyDown(Keys.OemComma)) //"," - Move Left
{
_position.X -= 1;
}
if (keyboard.IsKeyDown(Keys.P)) // - Move Up
{
_position.Y += 1;
}
if (keyboard.IsKeyDown(Keys.L))
{
_position.Y -= 1; // - Move Down
}
world = Matrix.Identity
* Matrix.CreateRotationX(MathHelper.ToRadians(_rotate.X))
* Matrix.CreateRotationY(MathHelper.ToRadians(_rotate.Y))
* Matrix.CreateRotationZ(MathHelper.ToRadians(_rotate.Z))
* Matrix.CreateTranslation(_position);
4. In the Draw method i have the following - Ive done the transform first for the world, because i presumed the bones (Count=3) would need to be transformed based on the origin of the parent bone first, then world space(?):
Matrix[] _transforms = new Matrix[model.Bones.Count];
model.CopyAbsoluteBoneTransformsTo(_transforms);
foreach (ModelMesh _mesh in model.Meshes)
{
foreach (BasicEffect _be in _mesh.Effects)
{
be.EnableDefaultLighting();
_be.Projection = camera.Projection;
_be.View = camera.View;
_be.World = _transforms[_mesh.ParentBone.Index] * world;
//_be.World = world * _mesh.ParentBone.Transform;
}
_mesh.Draw();
}
}
THe probem is now, my texture isnt loaded and the model is all white. Is this an indication im doing something wrong. Sorry to keep asking the same sorts of questions Chad. Ive re-read the Transformations Reloaded, and i think im on the right track, just wanted an expert opinion, because the Texture isnt rendering i thought i must be doing something wrong.