you are changing the Diffusecolor in the same effect.
so the answerthere is use different effects....no easy way to clone a model
//Initialize method
effect = new BasicEffect() { DiffuseColor = newColor }
foreach (ModelMesh mesh in model.Meshes)
{
foreach (ModelMeshPart part in mesh.MeshParts)
{
part.Effect = effect;
}
}
orso the answer is before draw set the color properly for each model
// Draw method
foreach (ModelMesh mesh in m.Meshes)
{
foreach (BasicEffect effect in mesh.Effects)
{
effect.DiffuseColor = newColor;
}
mesh.Draw();
}