我试图统一理解 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 个元素中必须有足够的信息才能做到这一点,我只是不确定这些信息是如何构成的。