13

私は独自のPerlinNoise実装を作成しましたが、それはうまく機能します。周波数を変更することで「ズームイン」および「ズームアウト」できますが、ズームインするとノイズがどんどんスムーズになります。

大陸を表示する風景があると仮定します。都市サイズのエリア(またはそれより近く)にズームインしたいのですが、それでも詳細があります。ランドスケープをより詳細に再生成する必要があると思いますが、それを支援できる実装があるかどうかわかりませんか?

ズームアウトすると、大陸と海が見えますが、小さな領域に大きな領域を表示したいと思います。

これが私が抱えている問題の例です(大陸レベル):

代替テキスト
(出典:blind-games.com

ズームイン:

代替テキスト
(出典:blind-games.com

マップ上の領域にズームインするときに、どうすれば詳細を取得できますか?関係するテクニックの例はありますか?

4

2 に答える 2

7

滑らかさを避けるために、連続して高い周波数でノイズを使用して生成する必要があります。ノイズ周波数を操作する方法のより明確な説明については、http://www.arendpeter.com/Perlin_Noise.htmlを試してください。オクターブは、詳細レベル(LOD)の実装と自然に適合します。これは、オンザフライ生成をサポートしている限り、それに近づくにつれて詳細を生成するだけでよいことを意味します。川や道路などのフィーチャの生成が複雑になるなど、オンザフライでの地形の生成には欠点があることに注意してください。そのため、固定された最小レベルの詳細(たとえば、64 kmのグリッドの正方形)に地形が事前に生成される可能性があります。 )、そしてより詳細な機能のオンザフライ生成。

また、計算のオーバーヘッドが少ないシンプレックスノイズを確認することをお勧めします(詳細については、 https://en.wikipedia.org/wiki/Simplex_noiseを参照してください)。

于 2011-06-20T11:45:17.343 に答える
4

マップファイルをオンザフライではなく静的に生成していると仮定すると、最も簡単な解決策は、必要な最高の解像度でマップ全体を生成することだと思います。実際には、ズームアウトしてそのレベルの粒度に戻します。計算コストが高くなり、より大きなマップファイルが生成されます。ビューアの実装に応じて、単一のマップファイルを使用するか、より大きなビュー用に解像度を下げたファイルを作成することができます。

于 2011-05-11T04:33:26.630 に答える