我目前正在XNA中设计一个RTS游戏。 到目前为止,我有一个从Heigthmap生成的Terrain模型以及在其上绘制的一些单位。
下一步是给单位命令移动的位置。要做到这一点,我必须在点击光标时计算光标后面的确切位置。
对于单位选择,我只需生成从光标指向屏幕的光线,然后选择与该光线相交的第一个单位。现在这对地形不起作用,因为整个事物就是一个模型。
任何人都可以帮助我吗?
问候尼克
P.S:我刚在youtube上发现了这个视频,它提供了我的问题的解决方案......遗憾的是没有任何参考代码。 http://www.youtube.com/watch?v=czHW3oK8_oI
答案 0 :(得分:3)
也许创作者俱乐部的这个样本将是一个很好的起点:
http://creators.xna.com/en-US/sample/pickingtriangle
Picking Triangle Image http://creators.xna.com/assets/cms/images/XNA_PickingTriangle_01_small.jpg
答案 1 :(得分:2)
我不熟悉XNA,但听起来你的地形模型是一个网格,你想要计算光线与网格的交点。
如果是,there is a description of Ray-Mesh Intersection on the bottom half of this page。它描述了如何获得交叉点和其他数据。
一般来说,Google搜索XNA ray mesh intersection
会返回大量点击。如果这对你没有帮助,那么我显然错过了一些东西。