1

我正在开发一个 3d 游戏,只是为了学习。

我有一个由高度图生成的 3d 世界,以及覆盖在该世界上的各种基于网格的对象。

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

但它会投射到他们站立的任何地方。这可能是地形 - 因此可能需要投影到具有不同坡度的不同网格多边形上,一个是圆的一部分,另一个是圆的一部分。或者可能需要投影到一个项目上。或者可能是一个部分和另一个部分。

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

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

4

1 回答 1

1

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

计算成本高,但编程明智,只需使用您选择的 Direct3D 工具包中的照明功能。

于 2009-11-03T09:13:04.157 回答