2013-11-26 5 views
0

У меня XNA 3.1, как я могу загрузить несколько моделей в xna 3.1 для рендеринга от массива или нажатия кнопки или переключения чего-либо? Мне просто нужно загрузить несколько 3D-моделей для рендеринга.Многоуровневые модели в XNA 3.1

Это ссылка

LINK

Где получить код, но этот код в 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); 
} 

Ошибки происходят в этой линии, они показывают мне эту ошибку:

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

а также та же ошибка в Draw:

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

Любое решение?

ответ

0

Процедура рисования отличается, попробуйте следующее:

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

Reference MSDN.

PS: Как правило, не используйте заглавные буквы для своих переменных.