0

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

当我使用以下代码渲染一个简单的 Blender 制作的立方体时,一切看起来都很好:

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(或任何其他使其偏离中心的值)时,立方体会水平拉伸并且看起来很糟糕:

链接显示了问题:

我做错了什么来拉伸?提前感谢您对此的任何帮助!

4

1 回答 1

0

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

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

在此处输入图像描述

于 2012-09-18T18:22:53.687 回答