使用ソフトウェア | バージョン | 備考 |
---|---|---|
Blender | 3.3.1 |
日本語:メッシュのポイント化
例えばキューブがある場合
キューブの頂点だけを抽出して表示する事ができる
頂点だけではなく、面の中央を頂点にすることなども可能
上の例は、わかりやすいよう元のメッシュを合成している
使い方の例としてはInstance on Points
で面の中央をポイントとして使いたい時には便利
他にもデバッグ的に頂点の可視化などでも使える。
他にも設定で様々なアウトプットができるので、このページで解説する。
Mesh
=> Mesh to Points
まずはどこのポイントを取るかを一番上のセレクトボックスから選択する。
次のようなノードを組んで解説する。
Join Geometry
を使って元のキューブと同時に表示させている点に注意。
Mesh to Points
単体では元のメッシュは消える。
日本語:頂点
こちらはそのまま各頂点を出力。
特に解説も必要ないかと思う。
日本語:辺
Edges
モードにすると辺の中央
がポイントとなる。
日本語:面
上で解説したようにFaces
モードにすると面の中央にポイントが現れる。
日本語:コーナー
コーナーは面コーナーにポイントを配置する例。
ここで重要なのはコーナーの場合は面ひとつに対してポイントが1個生成されているということだ。
したがって上の例では1頂点に対して3個のポイントが生成されている。
解釈が難しいので次の項で詳しく解説。
ここは少し難しいのでよくわからなければ読み飛ばしても良い。
Mesh to Points
のコーナーとはBlenderでは「面コーナー」と呼ばれているものを指していると思われる。
あまり使わないがスプレッドシートにちゃんと面コーナー(Face Corner)のドメインが存在している。
面コーナーという概念がいつからBlenderに実装されたのかは不明。
2020年ぐらいから法線マップの記事で利用されている。
これがジオメトリノード以外でどのように利用されるのかという点についてはこの記事では取り扱わないが、次のサイトで頂点ペイント時に違いが出る記事があるので参照してもらえたらと思う。
外部サイト:3DCGの謎用語を解説! 「ジオメトリ」「メッシュ」「法線」ってなに? - Blender ウォッチング - 窓の杜
※この場を借りて、良い記事をありがとうございます。
Vertices
モードとCorners
モードはパッと見おなじに見える。
この2つにはどのような違いがあるのだろうか。
例として次のようなノードをPosition
に入れてやると、生成されるポイントをわずかに法線方向へ移動することができる。
上は単純にVertices
を使っているが、これをCorners
にしてみると
ポイントが増えているのがわかる。
これは各面の角1個に対してポイントが1個生成されているため。
ポジション移動処理を何もしないと生成される複数のポイントが1個の頂点上に重なってしまうので実質Verticesと同じ処理に見えてしまうが実は違う。
Position
によって法線が面の方向にズラしてやると重なっていたポイントが分かれて見える。
面コーナーの法線はそれぞれの面方向となるため、面が違えば移動先が変化する。
ハードサーフェスで板にねじがとまっている表現などに使えそうだ。
また、上のリンク先と同様にジオメトリノード内で色を扱う場合は有用かもしれないが試していない。
日本語:選択
このソケットは他のノードに実装されているSelection
と同じでFalse
が入ったポイントは非表示になる。
使用例としてはRandom Value
ノードなどを使うとポイントの間引きができる。
Selection
の使い方は次で詳しく解説している。
日本語:位置
こちらは各ポイントの位置を調整するソケットだが注意が必要
基本的には次のようにPosition
の赤ノードの間に演算を挟んで使用する。
意図的に生成されるポイントの位置を調整することができる。
例えば次のようなつなぎ方をしてしまうと
ポイントが一つしか生成されていないように見える。
このノードの組み方だと、すべての点を絶対値で指定した点へ移動するという処理になる。
つまりいくつものポイントが特定の座標一箇所に集まってしまっている。
Position
ノードを挟んでの演算が一般的と覚えておこう。
このミスはSet Position
ノードでもよくやりがちなので覚えておくと良い。
なぜこうなるのかはフィールドの概念理解が必要なので、より理解を深めたい場合は次も参照。
【Geometry Nodes】フィールドって何?PositionやIndexの使い方【Blender】 | 謎の技術研究部
日本語:半径
このソケットは生成されるポイントのプレビュー用のサイズを指定している。
単にプレビュー用の設定なので、この後にInstances on Points
を繋いだときにインスタンスのサイズなどには影響しないので注意。
現状スプレッドシート上でRadius
が影響してないのでプレビュー用のみと判断。
しかし、カーブのRadius
のように外観上は変化がなくても後ろにつなぐノードの種類によって
は影響するものがあるかもしれないので念のため注意。
簡単なノードなのだが、ここぞというときに役立ちそうだったのでかなり詳しく紹介した。
正直ここまで詳細に覚えなくてもFace
やEdge
モードだけ覚えておけば十分だ。