2022-07-14

【Geometry Nodes】Endpoint Selection(端を選択)ノード【Blender】

カーブの両端から指定個数のポイントを取得するノードを解説。

Article Image
使用ソフトウェアバージョン備考
Blender3.2

Endpoint Selection

日本語:端を選択

Endpoint Selectionノード外観

読者のレベル

このノードは少し難しいので次を理解している事が望ましいが、可能な限り優しく記述する。

  • Instance on Points等、基本ノードは理解している
  • Selectionの使い方がわかる
  • フィールドの概念がわかる

次の記事も参照してもらえればと思う。

【Geometry Nodes】Selection(選択)って何【Blender】 | 謎の技術研究部

【Geometry Nodes】フィールドって何?PositionやIndexの使い方【Blender】 | 謎の技術研究部

概要

このノードの実用例で解説する。

スパイラルにスフィアを配置

まず、上のようなノードを組むと

実行例

このようにスパイラルの点それぞれに球が配置される。

これを次のように始点と終点のポイントだけ取得して、そこに球を置きたい。

始点と終点だけ抽出

こんなときに使うノード。

つまり?

カーブの始点と終点から指定個数の点を選択するノードである。

上の例では始点1個、終点1個をそれぞれ指定したので上のような結果となっている。

出し方

Curve => Endpoint Selection

使い方

上の例はどういったノードになっているかというと

Endpoint SelectionをInstance on PointsのSelectionに入力

Endpoint SelectionInstance on PointsSelectionに入力しただけである。

Selectionの使い方がわからない場合は次の記事から読んでもらえたらと思う。

【Geometry Nodes】Selection(選択)って何【Blender】 | 謎の技術研究部

Size指定

Size外観

まずはじめにこのStart Size, End Sizeの意味を確認しておく。

Start Sizeは始点から何個選択するのか、End Sizeは終点から何個選択するのか、というシンプルなもの。

試しにEnd Sizeを3にしてみると

終点だけ3個ふえた

下の終点に3個の玉が配置された。

注意点

このノードはSelectionと書かれたソケットから出ている。

このピンク色のソケットは単にTrue, Falseが出力されているだけである。

これはフィールドの機能により、各頂点1個ずつに対して「それが指定された選択範囲にあるか?」という答えがTrue, Falseという結果で出てくる。

フィールドは少し難しい概念なので、ふんわりと配列のようなものとおぼえておけばよいと思うが、次で詳しく解説しているので読んでもらえればと思う。

【Geometry Nodes】フィールドって何?PositionやIndexの使い方【Blender】 | 謎の技術研究部

このノードのソケット名通りSelectionの入力ソケットを持つノードへつなぐものとシンプルに考えて使えばよいかと思う。

Selectionソケットを持っているノードに使おう

その他のノード例

上の他にもSet Positionノードで使う例も多そうだ。

例えばSpiralの直後にSet PositionEndpoint Selectionを追加したらどうなるだろうか。

Set Positionを挟む

ここではZのオフセットが2mとなっているので、答えは次のようになる。

最初と最後だけ変化

Endpoint Selectionに設定されたポイントだけポジションが移動していることが分かる。

作例のスケールの設定がマイナスになっていたので上の例はオフセットが正の値なのにマイナス値で変化しているので注意(ただの設定ミス)

作例

今回の作例として次のようなノードを作ってみた。

作例

Object Infoは別で用意している地形のメッシュ

玉をGキーで移動すると次のようになる。

詳しく解説しないが、この作例では玉の中央から地面に向かってカーブが出ている。

Endpoint Selectionを使い終点(地面側)の座標だけ変化させ、玉の中央側の座標は変化しない。

つまり常に球から地面の一番近いメッシュに対して線が引かれるような操作をしている。

以上

カーブの始点/終点にだけ何か処理を入れたいケースはけっこうあるイメージ。

中級者には必須のノードかと思う。

Endpoint Selectionノード自体に入力ソケットがあるので、ユーザーが自由に調整できる変数として設定してもいいし、別のノードからこの数値を動かしてみるのも面白いかもしれない。

こちらも様々な可能性を秘めたノードだ。



謎の技術研究部 (謎技研)