如何将射线与地形模型相交?

4
我目前正在使用XNA设计即时战略游戏。到目前为止,我已经生成了一个高度图的地形模型和一些在其上绘制的单位。
下一步是给单位指定移动命令。为此,我必须计算光标点击时后面地形的确切位置。
对于单位选择,我只需从光标向屏幕外生成一条射线,并选择被该射线相交的第一个单位。但这种方法不适用于地形,因为整个地形是一个模型。
有人能帮帮我吗?
谢谢Nick
附注:我刚在YouTube上找到了这个视频,它恰好解决了我的问题...不幸的是没有任何参考代码。 http://www.youtube.com/watch?v=czHW3oK8_oI

1
我的谷歌搜索无法找到使用标准API完成此操作的方法 - 射线相交结果是到最近点的距离,并且不指示该点在您正在相交的对象中的位置。它还仅适用于基本形状而不是复杂网格。 - Will
1
那么也许我应该采用完全不同的方法? - NiklasMM
2个回答


2
我不熟悉XNA,但听起来你的地形模型是一个Mesh,并且你想计算射线与网格的交点。如果是这样,这个页面的下半部分介绍了射线-网格相交。它描述了如何获取交点和其他数据。通常情况下,谷歌搜索“XNA射线网格相交”会返回很多结果。如果这不能帮助你,那么我显然漏掉了什么。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接