我正在做一个幕后3D模拟,同时在我的2D等距引擎中渲染世界。我之前从未做过等距引擎,而且我的矩阵数学一般都很生锈,所以我遇到了问题。将屏幕上的点投影回等轴投影的世界
我有一个投影矩阵,在其最简单的形式是这样的:
0.7 0.35 0
0 -0.87 0
-0.71 0.35 1
一对夫妇的迹象弹起,因为我的发动机坐标系是在左上角0,0,与+ X到向右/向东和+ Z向南。现在
,那反是:
1.4080 0.5670 0.0000
0.0000 -1.1490 0.0000
1.0000 0.8050 1.0000
现在,这些矩阵大多工作。
例如
WC: 500,0,500 = 屏幕: -1.44,350,500(X和Y是正确的)
WC: 0,0,500 = 屏幕: -355,175,500(X和Y是正确再次)
但是,现在如果你需要走另一条路,你不再有方便的Z值,所以
屏幕: -1.44,350,0 = WC: -2,-402.97,0(。所以,垃圾)
及其它更多 - 只要我不再有Z值,我无法从屏幕坐标中找回世界坐标。
这里有什么解决方法?
编辑
我要指出的是,unproject的一点是要获得鼠标选择一个射线..
看起来这只是我自己在做什么这是拧的误解我在这里。
任何有关你如何到达这里的参考将他非常有帮助!我试图找出一些与我自己相似的东西 - 幕后3D渲染,同时呈现2D。 – 2012-04-16 20:20:18