C# XNA 3.1中的多LPLE模型

C# XNA 3.1中的多LPLE模型,c#,xna,rendering,3d-modelling,xna-3.0,C#,Xna,Rendering,3d Modelling,Xna 3.0,我有XNA3.1,如何在XNA3.1中加载多个模型,以便从数组或按钮单击或切换任何对象进行渲染?我只需要加载多个3d模型来渲染 这是链接 在那里我得到了代码,但是这个代码在4.0中 Model[ ] modelArray; protected override void LoadContent() { modelArray = new Model[3]; modelArray[0] = Content.Load<Model>("model1"); modelA

我有XNA3.1,如何在XNA3.1中加载多个模型,以便从数组或按钮单击或切换任何对象进行渲染?我只需要加载多个3d模型来渲染

这是链接

在那里我得到了代码,但是这个代码在4.0中

Model[ ] modelArray;

protected override void LoadContent() 
{
   modelArray = new Model[3];
   modelArray[0] = Content.Load<Model>("model1");
   modelArray[1] = Content.Load<Model>("model2");
   modelArray[2] = Content.Load<Model>("model3");
}

protected override void Draw(GameTime time)
{
    GraphicsDevice.Clear(Color.LightBlue);
    foreach (Model m in modelArray) 
    {
       foreach (BasicEffect be in m.Effects) 
       {
          be.World = YOURWORLDMATRIX;
          be.View = YOURVIEWMATRIX;
          be.Projection = YOURPROJECTIONMATRIX;
       }
       m.Draw();
    }
    base.Draw(time);
}
在绘图中也有相同的错误:

  'Microsoft.Xna.Framework.Graphics.Model' does not contain a definition for 'draw' 
       and no 
    extension method 'draw' accepting a first argument of type 
    'Microsoft.Xna.Framework.Graphics.Model' could be found (are you missing a using 
      directive or an assembly reference?) 
在这些方面

m.Effects
m.Draw();

有解决方案吗?

绘图过程不同,请尝试以下方法:

foreach (Model m in modelArray) 
{
   foreach (ModelMesh mesh in m.Meshes)
   {
       foreach (BasicEffect effect in mesh.Effects)
       {
          be.World = YOURWORLDMATRIX;
          be.View = YOURVIEWMATRIX;
          be.Projection = YOURPROJECTIONMATRIX;
       }
       mesh.Draw();
   }
}
参考资料

PS:按照惯例,变量不要使用大写

foreach (Model m in modelArray) 
{
   foreach (ModelMesh mesh in m.Meshes)
   {
       foreach (BasicEffect effect in mesh.Effects)
       {
          be.World = YOURWORLDMATRIX;
          be.View = YOURVIEWMATRIX;
          be.Projection = YOURPROJECTIONMATRIX;
       }
       mesh.Draw();
   }
}