2017-12-08 16 views
1

私は100x100タイルの2Dタイルマップを持っています。それらのほとんどは海のタイルで、中には島があります。私は海のタイルのそれぞれが深さの値を持つことを望む。2Dマップで海底深度を生成する

私はノイズマップのようなものを使って地形を生成し、それを逆さまにすることを考えましたが、すでに存在する土地をどのように考慮するかは分かりません。深さが浅いので、あなたが得る土地に近づく。

中間のアイランドはデザインされており、レイアウトは生成されていないことに注意してください。

基本的に私が望むのは、0が平坦な土地で、他の値がメートルf.exの深さであるこのようなマップを生成することです。

9 9 9 9 9 8 9 8 7 
9 7 7 8 7 6 7 6 6 
9 7 4 3 3 3 4 5 6 
9 6 2 0 0 0 0 3 6 
9 6 2 0 0 0 0 1 6 
9 6 2 0 0 0 0 3 6 
9 7 4 2 2 2 1 3 6 
9 7 7 8 7 6 7 6 6 

誰もが素晴らしいだろう正しい方向に私を指すことができれば。

+1

2dガウス分布は、多かれ少なかれこの形状を有する。 – dmedine

+1

もう一つの方法は、標準的なパーリンノイズ(どこでもチュートリアル)を使用し、アウトプットをフィルタリングして、中心から遠ざかるほどマイナスのバイアスを加えることです。より大きな島やより深い海域を生成するようにバイアスを調整することができます。 –

答えて

1

Perlin Noiseを使用して、島の近くの値を1.2などの係数で増やします(または他のすべての値を下げる)。

改善されたノイズ:https://gist.github.com/Flafla2/1a0b9ebef678bbce3215

私はあなたがよりよい結果を得るため乱気流を追加することをおすすめします:次に

http://paulbourke.net/fractals/perlin/は、アカウントに、既存の土地を取るために、既存のモデルとノイズを平均(水上記のいくつかを除外することができますそこからの値)。

関連する問題