XNA渲染问题

时间:2010-02-26 14:20:33

标签: c# xna rendering

令我感到困惑的是一个令人困惑的问题。在对我的游戏进行了一些编程并且它正常工作之后,我来到了一个模型,当我渲染它时它不会出现在关卡中。我已经尝试按比例放大,缩小,旋转它,检查并仔细检查它的渲染矩阵位置,它似乎没有渲染。我已经在完全相同的功能中实现了其他模型,并且它们完美呈现。我不认为模型存在问题(顺便说一下我所有的模型都是“.X”文件),因为模型在通过DxViewer打开时显得很完美。所以我不确定导致这个问题发生的原因。

我用来检查模型在游戏中的外观的临时代码示例:

    static public void RenderTmp(Model model, float scale)
    {
        foreach (ModelMesh mesh in model.Meshes)
        {
            foreach (BasicEffect effect in mesh.Effects)
            {                                                              
                effect.PreferPerPixelLighting = true;

                effect.World = Matrix.CreateScale(scale) * Matrix.CreateTranslation(0, 0, 0);

                effect.Projection = Matrix.CreatePerspectiveFieldOfView(MathHelper.ToRadians(90), Globals.g_Device.Viewport.AspectRatio, 1, 1000);
                effect.View = Matrix.CreateLookAt(new Vector3(0, 50, 0), new Vector3(0, 0, 0), Vector3.Forward);
            }
            mesh.Draw();
        }
    }

我现在相信这可能是3DS Max本身的导出问题,我一遍又一遍地检查代码,我不相信这就是问题所在。

2 个答案:

答案 0 :(得分:0)

法线是否正确指向?模型使用的所有纹理是否与应用程序一起编译?

答案 1 :(得分:0)

我现在相信这可能是3DS Max本身的导出问题,我一遍又一遍地检查代码,我不相信这就是问题所在。

感谢你的帮助Peter。