从 FBX 文件导入 3D 模型时遇到问题。
源模型包含 575 个对象 + 1 个摄像头,如下所示:http ://habreffect.ru/files/23d/542fa7f67/source_model.png
在 XNA 中使用内容管道模型准备包含 82 个网格和 576 个骨骼。因此,当我绘制模型时,我只看到源模型的一部分。结果图片如下: http ://habreffect.ru/files/28a/6e61c0215/Result_view.png
我的绘图代码:
GraphicsDevice.Clear(Color.CornflowerBlue);
Matrix[] transforms = new Matrix[_model.Bones.Count];
_model.CopyAbsoluteBoneTransformsTo(transforms);
foreach (var mesh in _model.Meshes)
{
foreach (BasicEffect effect in mesh.Effects)
{
effect.LightingEnabled = true;
effect.EnableDefaultLighting();
effect.World = transforms[mesh.ParentBone.Index] * _world;
effect.View = _view;
effect.Projection = _proj;
}
mesh.Draw();
}
base.Draw(gameTime);
如何在 XNA 中的模型实例中获取所有 575 个网格?
谢谢!
UPD:我尝试将我的 FBX 模型导入 3ds max,选择所有网格并使用“导出选定”。结果 FBX 文件大 11 倍。然后我将它作为内容添加到 XNA 项目中,加载的模型包含所有 575 个网格,并且渲染正确。
不幸的是,这种手动转换方法不适合我——我需要从可变存储库渲染各种 fbx 模型。
那么,对于 XNA 内容处理器(我使用 XNA 4)来说,什么 FBX 文件是“好”的?