无法将 .fbx 从搅拌机正确加载到 Monogame

Posted

技术标签:

【中文标题】无法将 .fbx 从搅拌机正确加载到 Monogame【英文标题】:Can’t Load .fbx from blender to Monogame correctly 【发布时间】:2015-03-24 21:31:32 【问题描述】:

我正在使用pipeline.exe 工具,将我使用 Blender 制作的 .fbx 文件(使用默认的 Blender 2.73a 导出设置)转换为 .xnb,然后在我的内容目录中使用 manually copy and paste it(这是正确转换它的正确方法?)。

观看此视频https://www.youtube.com/watch?v=u7tLYMPC828 后,我看到您必须使用名为fbx converter 2013 的工具将使用搅拌机创建的.fbx 文件转换为新的.fbx 文件,然后然后在pipeline.exe 工具中使用该文件来生成最终的.xnb 文件。如果不这样做,在屏幕上绘制时我什至看不到我的模型。

通过上述步骤,我设法在屏幕上看到了 .xnb 文件,但它与我制作的原始模型不完全一样。例如:

如您所见,我得到的真实模型(使用fbx converter 2013 转换后)要长得多,而左侧的模型(我在游戏中绘制的模型)就像装在一个小方块

如果您使用的是搅拌机,请告诉我如何将 .fbx 导入您的 Monogame 项目。 (或者您可以向我推荐您用来制作模型的其他软件,并告诉我您将模型导入 Monogame 的方法)

这就是我绘制模型的方式:

protected override void Draw(GameTime gameTime)

    GraphicsDevice.Clear(Color.Black);

    Vector3 modelPosition = new Vector3(-25, 0, 0);
    float modelRotation = 0;
    float aspectRatio = graphics.GraphicsDevice.Viewport.AspectRatio;

    // Draw the model. A model can have multiple meshes, so loop.
    foreach (ModelMesh mesh in Brick.Meshes)
    
        Vector3 cameraPosition = new Vector3(0.0f, 0.0f, 50.0f);
        foreach (BasicEffect effect in mesh.Effects)
        
            effect.EnableDefaultLighting();
            effect.World = Matrix.CreateRotationZ(modelRotation)* 
                Matrix.CreateTranslation(modelPosition);
            effect.View = Matrix.CreateLookAt(cameraPosition,
                Vector3.Zero, Vector3.Up);
            effect.Projection = Matrix.CreatePerspectiveFieldOfView(
                MathHelper.ToRadians(45.0f), aspectRatio, 1.0f, 10000.0f);
        
        // Draw the mesh, using the effects set above.
        mesh.Draw();
    
    base.Draw(gameTime);

编辑:我还尝试从搅拌机导出到 .X,当我转换为 .xnb 时,加载模型并绘制它,没有任何显示。

【问题讨论】:

【参考方案1】:

好的,我终于意识到问题所在了……我的绘图代码不正确。我尝试了来自 msdn 网站的 https://msdn.microsoft.com/en-us/library/bb197293(v=xnagamestudio.31).aspx 代码,一切都成功了。我很蠢。此外,下载https://msxna.codeplex.com/releases/view/117230 并以正确的顺序安装所有文件(按照说明 .txt)修复了我无法创建项目的单一游戏内容项目错误(error missing project subtype 6D335F3A-9D43-41b4-9D22-F6F17C4BE596),显然是因为我没有t 正确安装了东西。

【讨论】:

以上是关于无法将 .fbx 从搅拌机正确加载到 Monogame的主要内容,如果未能解决你的问题,请参考以下文章

Libgdx 加载搅拌机模型,透明度不正确

为啥我无法将 3D 动画对象的颜色从搅拌机导出到 Unity?

为啥我的搅拌机 .fbx 文件没有导出到 Unity?

将 Fbx 从 Blender 导出到 Unity

将纹理 3d 模型和纹理从搅拌机导出到 xna 4.0

如何将搅拌机中的所有动作(动画)导出到文件。 FBX?