【问题标题】:Xna model parts are overlying othersXna 模型零件覆盖其他零件
【发布时间】:2012-09-02 17:01:18
【问题描述】:

我正在尝试在 XNA 中导入一个用搅拌机导出的 .fbx 模型。

这是我的绘图代码

public void Draw()
    {
        Matrix[] modelTransforms = new Matrix[Model.Bones.Count];
        Model.CopyAbsoluteBoneTransformsTo(modelTransforms);

        foreach (ModelMesh mesh in Model.Meshes)
        {
            foreach (BasicEffect be in mesh.Effects)
            {
                be.EnableDefaultLighting();
                be.World = GameCamera.World * Translation * modelTransforms[mesh.ParentBone.Index];
                be.View = GameCamera.View;
                be.Projection = GameCamera.Projection;
            }
            mesh.Draw();
        }
    }

问题是当我开始游戏时,一些模型部件会覆盖其他部件而不是落后。我试图从互联网上下载其他型号,但他们有同样的问题。

【问题讨论】:

  • here你可以找到答案(另请阅读cmets)

标签: c# xna blender fbx


【解决方案1】:

这一行:

be.World = GameCamera.World * Translation * modelTransforms[mesh.ParentBone.Index];

通常以相反的方式排列,矩阵相乘的顺序会使结果不同。试试这个:

be.World = modelTransforms[mesh.ParentBone.Index] * GameCamera.World * Translation;

【讨论】:

  • 感谢解答,但是没有用,问题依然存在
猜你喜欢
  • 1970-01-01
  • 2015-08-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-16
  • 1970-01-01
  • 2015-12-30
相关资源
最近更新 更多