我可以通过简单地将Z设置为0来将矩形投影到2D吗?

时间:2017-04-12 22:54:52

标签: unity3d geometry orthographic

我在3D空间中有一个矩形,我需要将其投影到2D到屏幕。 相机是正交的,所以我想 - 我可以将矩形的4个点的Z坐标设置为0,这样它们会在屏幕上啪啪吗?

例如,当我在Y轴上旋转一个矩形时,由于相机是正交的 - 我看到的是我前面的矩形越来越窄,因为X和Y分量正在被改变(连同Z分量)

但如果我将Z设置为0并保留X和Y,那么在正交相机上看起来仍然相同。

问题是 - 这是一种可行的方法吗?是否有破裂的情况?

1 个答案:

答案 0 :(得分:1)

是的,要在OXY平面上构建正交投影,设置z = 0就足够了。

matrix is 
(1  0  0  0)
(0  1  0  0)
(0  0  0  0)
(0  0  0  1)

当您围绕轴Y旋转以原点为中心的轴对齐矩形时,它的投影将改变宽度,但高度保持不变。

示例:右上角有坐标(1, 1, 0)。在围绕Y轴旋转角度Fi后,它具有3d坐标(Cos(Fi), 1, Sin(Fi))和屏幕坐标(Cos(Fi), 1)