岩生成エディタをつくる

環境:Codex (GPT-6 Astra), Claude Code (Fable 5.1)
地形をつくるうえで欠かせない岩を作成するために、専用のエディタをつくることにしました。柱状節理や片理など、岩の構造を意識しながら形をデザインできるものにしたいと考えています。
SDF(Signed Distance Field)
岩が割れたり、摩擦で角が丸くなったりする変形を、メッシュの編集で表現するのは難しそうに感じたので、まずはボリュームで原型を作るのがよさそうだと考え、SDFを使ってモデリングする仕組みにしました。
SDFは、表面までの距離に、内側か外側かを区別する符号を付けて形状を表すもの。今回は空間を格子(グリッド)状に区切り、各ポイントにその値を保存する。表面では距離が0になり、内側と外側は値の正負で区別する。

最初に、直方体をランダムに重ねたものをSDF化した。

次に、面でカットアウトしてみた。これだけでも岩らしくなり、表面が削られたような感じを出せる。

ボロノイで割ることもできる。

メッシュに変換した後、リダクションをかけてポリゴン数を減らした。

UV UnwrapでUVを生成し、Megascansのテクスチャーを貼った。テクスチャーのハイトマップで少しだけ押し出し。
ひとまず、メッシュをSDF化して変形し、再びメッシュに戻すまでの基本的なノードを作成した。これから岩の構造を考えたシミュレーションまでは進める予定。ボリュームによるモデリングの知識もなければ、岩の成り立ちや構造等の自然の知識もまだ追いついていないので、しばらくは勉強に時間がかかりそう。