如何在XNA 3.1中使用三维地形坐标映射屏幕位置

如何在XNA 3.1中使用三维地形坐标映射屏幕位置,xna,Xna,我在XNA3.1框架中工作时遇到了一个问题。 实际上,我从DEM文件创建了一个地形模型。地形模型具有X、Y、Z坐标。地形在屏幕的下半部分创建。在xna域中,0,0是屏幕的中心。 我的问题是,当用户用鼠标点击屏幕时,我想识别地形坐标。在屏幕视图中,0,0是最左上角。我很难将屏幕坐标与地形坐标进行映射,反之亦然 是否有人遇到过类似的问题,或者让我提出任何解决方案,任何指针都会对我有帮助 谢谢 Adee你想做的就是挑选,网上有无限的资源。简言之,它包括: 使用鼠标坐标X,Y,在三维空间中生成从视锥体的

我在XNA3.1框架中工作时遇到了一个问题。 实际上,我从DEM文件创建了一个地形模型。地形模型具有X、Y、Z坐标。地形在屏幕的下半部分创建。在xna域中,0,0是屏幕的中心。 我的问题是,当用户用鼠标点击屏幕时,我想识别地形坐标。在屏幕视图中,0,0是最左上角。我很难将屏幕坐标与地形坐标进行映射,反之亦然

是否有人遇到过类似的问题,或者让我提出任何解决方案,任何指针都会对我有帮助

谢谢
Adee

你想做的就是挑选,网上有无限的资源。简言之,它包括:

使用鼠标坐标X,Y,在三维空间中生成从视锥体的前面到后面的光线 应用视图投影矩阵的反向变换以获得世界空间中的该向量 测试此矢量与地形的每个多边形之间的交点 使用z顺序选择最近的相交多边形 有关详细说明,请参阅。或者只是谷歌选择3D