2D パーリン ノイズ関数を使用して高さの値を生成することはできますが、3D パーリン ノイズ関数を使用する理由がわかりません。Notch のブログで、彼はMinecraft の地形生成に 3D Perlin ノイズ関数を使用することについて言及しました。それがどのように行われるのか、そしてなぜそれが役立つのか誰か知っていますか? x
、y
、および値を渡している場合、z
それはすでに高さを持っていることを意味しませんか?
13720 次
3 に答える
43
この記事は、彼が 3D ノイズを使用した理由を正確に述べています。
私は 2D Perlin ノイズの高さマップを使用しました... ...しかし、やや鈍いという欠点があります。具体的には、このメソッドがオーバーハングを生成する方法はありません。
そこで、システムを 3D パーリン ノイズに基づく同様のシステムに切り替えました。「地面の高さ」をサンプリングする代わりに、ノイズ値を「密度」として扱いました。ここで、0 未満のものは空気、0 以上のものは地面になります。
于 2011-05-22T23:20:39.913 に答える
13
さて、マインクラフトといえば地雷。そこで、Notch が解決しようとしたのは、「自分の世界に穴やオーバーハングを取得するにはどうすればよいか?」ということでした。
2D パーリン ノイズは見栄えの良い/滑らかな丘を生成するため、3D パーリン ノイズは 3D ボクセル グリッドに見栄えの良い/滑らかな丘と適切な穴を生成します。
ここで実装を見つけることができます(これはN次元のソリューションですが)。
他の使用例では、3D パーリン ノイズの Z コンポーネントは現在の時間に設定されます。このようにして、異なる 2D パーリン ノイズ間のスムーズな遷移が得られ、流体テクスチャの土台として使用できます。
于 2011-05-22T23:28:17.710 に答える