1

有限サイズの 2D ベクトル フィールドがあります。私が望むのは、このフィールドで「サイクル」を見つけることです。つまり、このフィールドが流体の流れを表し、オブジェクトをこれらのサイクルの1つに配置した場合、オブジェクトはぐるぐる回って決して来ないでしょう。休み。この問題に関する学術的な数学記事をいくつか見つけたと思いますが、それらは私の頭をはるかに超えているため、意味がわかりません。そのようなサイクルを見つけるための標準アルゴリズムはありますか?

なぜこのようなサイクルを見つけたいのですか? スーパー マリオ ギャラクシーに似たコンセプトの 2D プラットフォーマーを作ることを検討しています。単一のグローバルな重力ベクトルではなく、プレイヤーがその間をジャンプして歩くことができるいくつかの小さな重力体があるという点です。静的ボディの重力フィールドは、レベル編集中に静的に計算されます。この問題を解決する必要はありません、プレイテストで発見するのではなく、レベル エディタで回避できない重力ループを検出するための非常に優れたツールになるでしょう。

4

1 に答える 1

0

サイクルを含む「重力場」を想像するのは難しいです。ただし、プレーヤーの軌跡は周期的である可能性があります。これを「軌道」と呼びます。

簡単な解決策は、軌道が確実に減衰するように、少量の摩擦または減衰を含めることです。

扱いにくい解決策: 空間が離散的である場合、各状態 (位置、速度) をテストし、プレイヤーが同じ状態を再訪するかどうかを確認できます。これには、有限数の有効な速度値も必要になることに注意してください。

ユーザビリティの観点から言えば、プレイヤーに何らかの推進力を与えることも、問題を解決するための優れた方法です。

于 2011-12-24T07:18:07.770 に答える