GUI.matrix的非仿射变换(c#/ unity)

时间:2014-03-14 00:16:22

标签: c# user-interface unity3d transformation projection-matrix

我试图统一了解GUI.matrix,但文档很少。

我发现第一个象限是一个仿射变换矩阵,所以我设法编写代码来缩放,旋转和倾斜我的gui。但我想要一个看起来像是在背景图像上的屏幕上的gui,这个图像有透视效果。这意味着我需要将平行线映射到非平行线。

我对非仿射变换的理解并不是很好,但我的主要障碍是我不知道GUI.matrix中的所有其他元素是什么。

基本上,目前,我有一个函数transformationFunction(),这样当我做

GUI.matrix = transformationFunction( GUI.matrix, rot, scale, shear )

我的GUI元素位于虚拟屏幕上'相对于我的实际屏幕缩放,旋转和剪切。但我真正想要的是

GUI.matrix = transformationFunction( GUI.matrix, rot, scale, shear, someParameter/s )

不保持并行性,允许我有一个梯形的GUI(例如)。 GUI.matrix的16个元素必须包含足够的信息来执行此操作,我不确定该信息的结构。

0 个答案:

没有答案