1

私は現在、プレイヤーが動くメタボールのコレクションの等値面に沿って歩くプロトタイプ ゲームを作成しています。前方ベクトルと上ベクトルを使用して、球体に沿って歩くことを既に実装しています。これをメタボールに拡張するには、プレーヤーを前方に移動した後、プレーヤーをサーフェスに戻すことができるように、最も近いサーフェスへの方向と最も近いサーフェスまでの距離を任意のポイントで照会できる必要があります。ベクター。すべてのベクトルの加重平均を取ることで方向を計算できますが、距離を取得するにはどうすればよいですか?

メタボールに等値面 1 の 1 / (x*x + y*y + z*z) 関数を使用していますが、他の形状にも同じアプローチを使用できるように一般化していただければ幸いです。

4

1 に答える 1

0

一般に、表面の法線を取得するために関数を派生させるだけです。Blackpawn は、ここで特定のケースでそれを行う方法を説明しています。

法線を取得したら、等値面に到達するまでその方向に沿って移動します (これは一般的な「ルート」の発見です)。

于 2011-06-08T11:06:48.243 に答える