テキストの壁を許してください。後で画像を追加します。水、砂、草、木、鉱物、砂漠、ビーチ、島などを含む立方メートルのボクセルのやや現実的なマップを生成する必要があります。他の)。はい、これはゲームです。
臨界点をランダムに生成し、標高と湿度の読み取り値を補間することを考えましたが、ランダム生成では途方に暮れています。基本的に、一度に完全なリストを作成することなく、ある程度均等にポイントを分散する必要があります。一度に約 20x20x20 を生成する必要があり、おそらく臨界点の約 1000x1000x1000 セルで作業しますが、大きなセルの端で奇妙なことが起こると予想されます。この方法でポイントを選択する方法を知っている人はいますか? 本当の問題は、「山脈」スタイルのチェーンでは、ポイントが他のポイントに近接していることを優先する必要があることです。
ここでの問題は、これがこれらの 1 km のセル全体で発生していることです。
この方法でセル内のポイントを簡単に選択できますが、セルとその隣接セルは相互に依存する必要があるため、私の単純なアルゴリズムでは、これらのセルの 1 つを求めて無限に向かうか、グリッドのようなものを見る必要があります。壊れたチェーンのパターン。チェーンは、セル境界でより頻繁に切断されるべきではありません。彼らが世代でやや問題のあるウェーハのようなパターンを示し、デザイン/ゲームプレイの理由で使用できない貧弱な世代を作る場合.
nb これらの目的のために、システムレベルの乱数発生器をシードすることができ、実質的に均一です。セル内であれば、チェーンを問題なく選択できます。
また、生成されていないセルにセルをスピルオーバーさせて、そのチェーンが既存のセルに接続されるようにすることも検討しましたが、それは単に場所とシードに基づいて生成の決定論を破り、要因として生成の順序を追加することになります。
繰り返しますが、リアリズムとデザインのために、私は Perlin を使用しないようにしています。または、gamedev.SEに投稿する必要がありますか?