XNA - 新手 - 简单的模型失真

时间:2012-09-18 17:33:13

标签: c# 3d xna

关于XNA的新手总问题(一般可能是3D)。

当我使用以下代码渲染一个简单的Blender make cube时,一切看起来都不错:

proj = Matrix.CreatePerspectiveFieldOfView(MathHelper.ToRadians(90), 800f / 480f, 1f, 4000.0f);
view = Matrix.CreateLookAt(new Vector3(0, 0, -10), new Vector3(0, 0, 10), Vector3.Up);
world = Matrix.CreateTranslation(new Vector3(0, 0, 0));

但是,当我将世界的X值更改为9(或任何其他使其相当偏离中心的值)时,立方体水平拉伸并且看起来很糟糕:

links显示问题:

我做错了什么?提前感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

您可以使用较窄的视野来减少透视失真。尝试使用45度角而不是90度角。由于这种“放大”,你必须将viewMatrix放得更远以进行补偿。

编辑:我刚尝试了45度视角下你会得到多少“透视”失真。我不确定我在这里看到任何有问题的失真。

enter image description here