前書き
ノイズテクスチャ混ぜていい感じにまばらな見た目が作れたけど、
やっぱりメッシュ自体がまばらになっててほしいなぁ。
…これGeometryNodeで楽に作れんか??
制作
虫食いを作る
とりあえず平面を作り、GeometryNodesタブから新規にGeometryNodeを作成する。

言うてほとんど知らないけれど、
Unityのシェーダーグラフとか、BlenderのシェーダーやCompositとかと一緒で
InputとOutputが成立してれば大丈夫だと思う。
ということでChatGPTに頼りつつ作っていく。
フローはこんな感じ
- ランダムな配置点を生成する
- そこにスフィアを置く
- 平面と重なっている箇所を消す
GeometryNodeで表現するとこんな感じ。


NoiseTextureのScale、Detail、UVSphereのRadiusを調整して虫食いのサイズを変えていく。
ちなみにRealizeInstanceのノードを直接Outputに入れるとスフィアが表示される。


まばらにする
上記のRealizeInstanceの先に重複している箇所だけを表示するようにノードを組んでいく。
- ランダムな配置点を生成する
- そこにスフィアを置く
- 置いたスフィアをまとめて、重複を消す(New!)
平面と重なっている箇所を消す
平面と重なっている箇所以外を消す


以下のことに注意する。
・RealizeInstanceのRealizeAllにチェックを入れる
・最後マージするMeshBooleanをIntersectにする
重複箇所を消しておかないと、最後Booleanが上手く動いてくれない。
位置が気に入らない場合は冒頭のDistributePointsOnFacesのSeedをいじっていい感じの場所を探すと良い。
後書き
何となく頂点シェーダー見たいな感じで触れるのがとても良い。
複雑な編集をできるうえに修正が容易なのはとても良い。
スフィアの各頂点にノイズを入れて歪ませたかったけど、
思ったように動かなかったからまた次の機会に。
GeometryNode、楽しい。
コメント