0

私は現在、ゲーム用の手続き型地形ジェネレーターをコーディング中です。そのために、私は自分の世界を同じサイズのチャンクに分割し、プレイヤーが歩きながらそれらを 1 つずつ生成します。これまでのところ、特別なことは何もありません。

ここで、私は特に世界が永続的であることを望んでいません。つまり、チャンクがアンロードされ (プレイヤーが遠くに移動しすぎたため)、後で再度ロードされた場合、以前と同じであってはなりません。

私の理解では、3D シンプレックス ノイズをマーチング キューブの密度関数入力として扱うような暗黙のアプローチは、私の問題には適していません。これは、空間内の同じポイントに対して異なる戻り値を取得するためにジェネレーターを再シードする必要があり、チャンクの境界に沿って不連続になるためです。

Midpoint Displacement / Diamond-Square についても調べました。各チャンクの高さマップに隣接するチャンクの境界からの値をシードし、近くに他のチャンクがないチャンクの角をランダム化することで、目的の動作を示すタイル可能な地形を生成することができました。それでも、結果はかなり鈍いように見えます。具体的には、このメソッドはハイトマップに依存しているため、オーバーハングなどはありません。さらに、コーナーのランダム化を使用しても、地形の特徴は小さな領域に限定される傾向があります。つまり、複数のチャンクの丘や同様のランドマークはありません。

今、私がまだ聞いたことがない/考えていない、これに対する他のアプローチがあるかどうか疑問に思っていました。どんな助けでも大歓迎です!:)

乾杯!

4

1 に答える 1

2

後処理!

ハイトマップを実行したら、機能の追加に戻ります。

これは、さまざまな洞窟や崖のオーバーハングを取得するために Minecraft が行う方法です。

于 2014-09-01T20:42:40.717 に答える