在等距游戏中,什么值对应于屏幕-法线的3D向量?
它需要在游戏坐标上。这是一个标准的等距,其中瓷砖旋转45度和半高(在二维投影)。
例如,游戏中的+x,0对应于屏幕上的东北.但是从屏幕上引出的矢量是什么。这个向量总是相同的(一个固定的正交投影)。
发布于 2013-09-09 23:13:08
我需要在iso坐标中的向量,在监视器外(正常到监视器屏幕)。
是两次轮转。你的瓷砖是宽的一半高。投影/点积与余弦和arccosine(1/2) == 60 degrees
成正比,这意味着这是你的第一次旋转。然后是45度旋转.
从单元z开始,0, 0, 1
第一个60度旋转(大约x轴)产生(0, -ROOT(3)/2, 0.5)
。
接下来的45度旋转(大约z轴)产生-ROOT(2)*ROOT(3)/4, -ROOT(2)*ROOT(3)/4, 0.5)
。
倒转,这是你相机的方向。
Vector3 camera_forward = (0.612375, 0.612375, -0.50000);
(我以为左上方是位置Y,右边是正数X)
发布于 2013-09-09 22:27:55
也许我现在错过了什么(赤裸裸的,已经很晚了)。
实际上,这里只需要两个很小的步骤就可以从世界空间获得屏幕空间(即从世界坐标到屏幕坐标):
对于另一种方式(从屏幕坐标到世界坐标),您只需将其反转:
记住,你做的是等距投影,而不是透视投影(所以你不必在x轴上摆弄真正的旋转)。
https://gamedev.stackexchange.com/questions/61963
复制相似问题