白い部分が海面より上にあり、黒い部分が海面より下にある白黒の 2D マップがあります。そのマスクに合わせて地形を生成する方法がわかりません。島の輪郭が正しくなくても問題ありませんが、重要なのは、ノイズが説明されている島の輪郭にほぼ一致する必要があるということです。
パーリン ノイズを調べましたが、それを自分のシナリオに適応させる方法がわかりません。
白い部分が海面より上にあり、黒い部分が海面より下にある白黒の 2D マップがあります。そのマスクに合わせて地形を生成する方法がわかりません。島の輪郭が正しくなくても問題ありませんが、重要なのは、ノイズが説明されている島の輪郭にほぼ一致する必要があるということです。
パーリン ノイズを調べましたが、それを自分のシナリオに適応させる方法がわかりません。
解決策は次のとおりです。
(x,y) に最も近い海岸点までの距離を返す関数 dist(x,y) を発明します。次に、標準のパーリン ノイズの高さフィールドを生成しますが、各高さに dist(x,y) を掛けます。dist(x,y) は、水上にいる場合は実際には負の距離であり、陸上にいる場合は正の距離である必要があります。こうすることで、海岸からの距離に応じて高さフィールドが押し下げられたり引き上げられたりしますが、地形はまだかなり連続しています。結果が奇妙に見える場合は、sqrt(dist(x,y)) または sgn(dist(x,y))*log(1+abs(dist (x,y))) またはそのようなもの。