1

我目前正在制作一个原型游戏,玩家沿着一组移动元球的等值面行走。我已经实现了沿着带有向前和向上向量的球体行走。要将其扩展到元球,我需要能够查询任意点到最近表面的方向和到最近表面的距离,以便能够在我将玩家向前移动后将他拉回表面向量。我可以通过对所有向量进行加权平均来计算方向,但是如何获得距离?

我正在为我的元球使用等值面为 1 的 1 / (x*x + y*y + z*z) 函数,但我会很感激任何概括,以便我可以对其他形状使用相同的方法。

4

1 回答 1

0

通常,您只需派生函数即可获得表面上的法线。Blackpawn 在这里有一个很好的解释如何处理你的具体情况。

一旦你得到法线,沿着它的方向移动,直到你碰到等值面(这是一般的“根”发现)。

于 2011-06-08T11:06:48.243 回答