2015-10-03 2 views
0

Недавно я обновил свой старый проект Monogame до последней версии Monogame. Все работает так, как раньше, но мои импортированные модели .FBX выглядят чистыми черными (подразумевая, что они не освещены).Monogame импортированный Blender .FBX не подвержен влиянию освещения

enter image description here

(гамбургеры + ленты производятся с использованием динамически во время выполнения Обучения танцев. Они зависят от освещения, как они должны быть).

Мой код (который работал в более старых версиях Monogame) для отображения модели выглядит следующим образом:

public override void Draw() 
    { 
     foreach (ModelMesh mesh in model.Meshes) 
     { 
      foreach (BasicEffect effect in mesh.Effects) 
      { 
       effect.World = Matrix.CreateRotationZ(rotX); 
       effect.World *= Matrix.CreateRotationX(rotY); 
       effect.World *= Matrix.CreateTranslation(new Vector3(pos.X, 
                    pos.Y, 
                    0f)); 

       effect.View = MainGame.matrixView; 
       effect.Projection = MainGame.matrixProj; 

       effect.TextureEnabled = true; 
       effect.Texture = tex; 

       effect.EnableDefaultLighting(); 
       effect.AmbientLightColor = new Vector3(0.2f, 0.2f, 0.2f); 
       effect.EmissiveColor = new Vector3(1, 0, 0); 
      } 

      mesh.Draw(); 
     } 
    } 

Модели exporteed из Blender, как FBX 7,4 Binary (проект не компилируется, если я использую FBX 6.1 ASCII).

Заранее спасибо. Надеюсь, это не что-то глупое, я забыл.

+0

Вы перекомпилировали свои модельные активы, когда вы портировали игру? –

ответ

0

У меня была такая же проблема на прошлой неделе. Я думаю, что на самом деле это проблема с экспортером Binary FBX от Blender, где текстуры не экспортируются или не упоминаются в файле * .FBX должным образом. Я предполагаю это, потому что я построил ASCII-версию в XNA, а затем ссылался на скомпилированный * .xnb-файл в версии для игры в моногейме и правильно отображал ее. Исправление я использую это:

Экспорт слишком ASCII и построить в XNA Первая
Это не самый чистый способ сделать это, но пока FBX экспортер не получить пропатчен-х это то, что нужно.

Ссылке * .xnb файл в MonoGame
Reference ваши скомпилированные файлы XNB и установить 'Build Action', как 'Копировать'. Но помните, что вам нужно будет также ссылаться на ваши встроенные файлы текстур.

Надеюсь, что это очистит.

Смежные вопросы