在3d应用程序中绘制目标圈

时间:2009-11-03 09:09:52

标签: 3d direct3d direct3d9

我正在研究一款仅用于学习的3D游戏。

我有一个从高度图生成的3d世界和各种基于网格的对象覆盖到该世界。

我希望玩家能够在我能够做的世界中定位物体,但我想在目标物体所站立的地形或物体上绘制目标圆圈。如果你玩过魔兽世界,你就会知道我的意思,当你瞄准某人时,它会在他们下面的地板上画一个红色圆圈。

但它会投射到他们所站立的任何东西上。这可能是地形 - 因此可能需要投射到具有不同斜率的不同网格多边形上,部分圆形在一个上,另一个在另一个上。或者可能需要投射到物品上。或者可能是一个部分而另一部分。

任何想法如何有效地做到这一点?欺骗和近似也是受欢迎的,就像在游戏中一样,我正在寻找看起来有效而不是100%正确性的东西。

如果对任何解决方案都很重要,请使用directx9和着色器模型2。

1 个答案:

答案 0 :(得分:1)

一个不错的方法是使用光源。简单地说,在您要突出显示的项目上点亮一下,让其余的都在阴影中。

计算成本昂贵,但编程明智只需使用Direct3D工具套件中的照明功能。