令我感到困惑的是一个令人困惑的问题。在对我的游戏进行了一些编程并且它正常工作之后,我来到了一个模型,当我渲染它时它不会出现在关卡中。我已经尝试按比例放大,缩小,旋转它,检查并仔细检查它的渲染矩阵位置,它似乎没有渲染。我已经在完全相同的功能中实现了其他模型,并且它们完美呈现。我不认为模型存在问题(顺便说一下我所有的模型都是“.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本身的导出问题,我一遍又一遍地检查代码,我不相信这就是问题所在。
答案 0 :(得分:0)
法线是否正确指向?模型使用的所有纹理是否与应用程序一起编译?
答案 1 :(得分:0)
我现在相信这可能是3DS Max本身的导出问题,我一遍又一遍地检查代码,我不相信这就是问题所在。
感谢你的帮助Peter。