关于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显示问题:
我做错了什么?提前感谢您的帮助!
答案 0 :(得分:0)
您可以使用较窄的视野来减少透视失真。尝试使用45度角而不是90度角。由于这种“放大”,你必须将viewMatrix放得更远以进行补偿。
编辑:我刚尝试了45度视角下你会得到多少“透视”失真。我不确定我在这里看到任何有问题的失真。