1

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

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

谢谢阿迪

4

1 回答 1

0

您正在尝试做的事情称为“挑选”,网上有无数关于此的资源。简而言之,它包括:

  • 在 3D 空间中生成一条从视锥体的前到后的射线,使用鼠标坐标作为 X,Y
  • 应用您的视图投影矩阵的逆变换以在世界空间中获取此向量
  • 测试此向量与地形的每个多边形之间的交集
  • 使用 z 顺序选择最近的相交多边形

有关详细说明,请参阅XNA Picking Tutorial。或者只是谷歌“挑选3D”。

于 2012-07-19T16:54:00.733 回答