public override void Update()
{
Matrix[] bones = _player.GetSkinTransforms();
Matrix[] m_transforms = new Matrix[_model.Bones.Count];
_model.CopyAbsoluteBoneTransformsTo(m_transforms);
if (_playing)
{
_player.Update(REngine.Instance._gameTime.ElapsedGameTime, true, Matrix * _model.Bones[0].Transform);
}
foreach(ModelMesh mesh in _model.Meshes)
{
mesh.BoundingSphere=BoundingSphere.CreateMerged(mesh.BoundingSphere, mesh.BoundingSphere);
mesh.BoundingSphere.Transform(m_transforms[mesh.ParentBone.Index]);
}
Quaternion = Quaternion.CreateFromRotationMatrix(Matrix);
}