【Blender入門】モディファイアツールを活用する③Generate(Geometry Nodes)

今回はGeomerty Nodes(ジオメトリノード)の機能と簡単な使い方を紹介します。

※この記事で使用しているBlenderのバージョンは2.92です。

ちなみに本記事は3連続記事の3記事目です。

1記事目ではモディファイアツールの導入としてGenerateモディファイアの3つの機能(Array/Bevel/Boolean)を紹介しました。

2記事目ではGenerateモディファイアの別の3つの機能(Build/Decimate/Edge Split)を紹介しました。

Geometry Nodesとは?

バージョン2.92から追加された機能です。
名前にNodesとあるようにノード形式で編集します。
数式などを使用し細かく設定できるので、既存の機能で作るのとは一味違った動きのオブジェクトを作ることができます。

Geometry Nodesを使ってみる

他のモディファイアツールと同じく、工具のアイコンから追加できます。

工具のアイコン→Add Modifier

工具のアイコン→Add Modifier


Geometry Nodes

Geometry Nodes

ジオメトリノードを編集するため、画面を左上のアイコンから切り替えましょう。

左上アイコンからノードGeometry Node Editorに切り替え

左上アイコンでノードGeometry Node Editorに切り替え

プレビュー用に画面を増やします。

画面右上の角から画面を増やせる

画面右上の角から画面を増やせる(クリックして確認する)

モーショングラフィックを作る

プレーンの頂点データを使用したモーショングラフィックを作りましょう。
以下の手順を追っていきます。

  1. 土台となるプレーンを作成
  2. スフィアの集合体をプレーンに割り当てる
  3. 動きを設定する
  4. スフィアを動かす物体を設定する
割り当てたスフィアの動きが連動している

完成イメージ(クリックして確認する)

プレーンを追加する

まずはデフォルトのキューブを選択→[X]で削除し、[Shift+A]でプレーンを追加します。

画面上部で[Shift+A]→プレーン追加

画面上部で[Shift+A]→プレーン追加

[Tab]で編集モードに切り替えプレーンを細分化します。

右クリック→Subdivideで細分化

右クリック→Subdivideで細分化

左下のメニューからNumber of Cutsの値を10に変更し、さらに細かくしましょう。

Number of Cuts

Number of Cuts

プレーンの選択を解除したらスフィアを追加します。

[Tab]でオブジェクトモードに切り替え、[Shift+A]→Sphere

[Tab]でオブジェクトモードに切り替え、[Shift+A]→Sphere

ノードを追加・削除する

再びプレーンを選択しジオメトリノードをモディファイアツールから追加します。

Geometry Nodes

Geometry Nodes

そしてジオメトリノードエディター上で[Shift+A]を押し、Point Instanceというノードを追加します。

ノードを追加したい場所(Point Instanceの場合はGroup InputとGroup Outputの間)へカーソルを移動させ、クリックすると自動で接続されます。

Point Instance

Point Instance(クリックして確認する)

Pointというメニューから追加しましたが、Searchの部分に名前を入力すればすぐ検索できるので便利です。

削除したいときはノードをクリックし[X]を押します。

ノードを選択しXキーで削除

ノードを選択しXキーで削除

スフィアを割り当てる

Point InstanceのノードにあるObjectの■をクリックしSphereを選択します。

スポイトマーク→直接オブジェクトをクリックでも可能

スポイトマーク→直接オブジェクトをクリックでも可能

すると割り当てられたスフィアと共にプレーンが変化し、このような状態になります。

プレーンの頂点それぞれにスフィアが割り当てられている

プレーンの頂点それぞれにスフィアが割り当てられている

スフィアがプレーンに対して大きすぎるのでサイズを調節します。

スフィアを選択する

スフィアを選択する

[Tab]で編集モードに切り替えてから、[S]→カーソルを動かしてスフィアを縮小します。
全てのスフィア同士が重なり合わないくらいまで小さくなればOKです。

クリックして確認する

クリックして確認する

Attribute Fillでスフィアの大きさを変更する

[Tab]でオブジェクトモードに切り替えプレーンを選択し、ジオメトリノード編集に切り替えます。

[Shift+A]でAttribute FillというノードをGroup InputとPoint Instanceの間に追加しましょう。
このノードのAttributeという項目へ属性を入力すると、その下の値を調節することで属性を変化させることができます。
今回はここにscale(大きさ)と入力しますが、他にはposition(位置)やrotate(角度)などがデフォルトとして存在します。
それ以外の属性でも入力すれば新たに作成されるようです。

Attribute Fill

Attribute Fill

これでスフィアの大きさを簡単に変更できるようになりました。

Attribute FillのValueの値を変化させるとスフィアの大きさも変化する

Attribute FillのValueの値とスフィアの大きさの変化が連動している(クリックして確認する)

Attribute MixでAttributeノードをミックスする

続いてAttribute MixをAttribute FillとPoint Instanceの間に追加します。
このノードは2つのAttributeノードをミックスし、新しいAttributeノード を作成します。

Attribute Mix

Attribute Mix

変更点は以下の通りです。

Attribute Mix

Attribute Mix

  • Mix→Addに変更
  • B:Attribute→Vectorに変更
  • B:の3段目の値を1.0に変更
  • Aの欄にpositionと入力
  • Resultの欄にpositionと入力

ここではスフィアの位置をZ軸に0→1.0移動させるように設定しています。Factorの値を変化させることでスフィアの位置もちゃんと移動していることが分かります。

クリックして確認する

クリックして確認する

Vertex GroupとVertex Weight Proximityで一部のスフィアを動かす

一部のスフィアを動かすためのSphereを追加します。

画面上部のウィンドウ内で[Shift+A]→Empty→Sphere

画面上部のウィンドウ内で[Shift+A]→Empty→Sphere


[S]→カーソルを動かして大きさを調整

Sキー→カーソルを動かして大きさを調整

再びPlaneを選択しObject Data Propertiesのアイコンを選択します。
そしてVertex Groupsの+をクリックし、Planeを登録しましょう。

Vertex Groups

Vertex Groups

[Tab]で編集モードに切り替え、Assignをクリックし選択してあるプレーンを割り当てます。

Assign

Assign

Modifier Propertiesに戻り、Vertex Weight Proximityを追加します。
このツールについて詳しくは別記事で紹介する予定です。

Modifier Properties

Modifier Properties


Vertex Weight Proximity

Vertex Weight Proximity

Vertex Groupの項目に先ほど登録したGroupを、Target ObjectにEmptyを割り当てます。
Proximity ModeはGeometryに設定しましょう。

順番を入れ替えそれぞれのオブジェクトを割り当てる

順番を入れ替えそれぞれのオブジェクトを割り当てる(クリックして確認する)

Weight Paintを編集する

Geometry Nodesを一旦非表示にしたら、左上のアイコンからWeight Paintモードにします。

Weight Paint

Weight Paint

Lowestの値を調節し、スクリーンショットのように中央にグラデーションの円ができるようにします。
この円の大きさが、後ほどプレーンに割り当てたスフィアを動かす際、影響する範囲になります。

プレーンが小さめなのでLowestを0.5に設定した

プレーンが小さめなのでLowestを0.5に設定した

Attribute Mixを追加して編集する

左上のアイコンをクリックしオブジェクトモードに戻したら

  1. Planeを選択します
  2. Modifier Propertiesからジオメトリノードのディスプレイアイコンをクリックし割り当てたスフィアを再度表示させ
  3. ノードのアイコンをクリックしノード編集に戻ります
Planeを選択→スフィア再表示→ノード再表示し編集

Planeを選択→スフィア再表示→ノード再表示し編集

Attribute Mixのノードを選択したらコピー&ペーストし、元からあったAttribute MixとPoint Instanceの間へ新たに追加しましょう。

 

Attribute Mixを追加

Attribute Mixを追加

その後、追加したノードを編集します。

ノードの値などを変更する

ノードの値などを変更する

  • FactorをFloat→Attribute
  • 2つ目のFactorの欄にGroup(先ほど登録したVertex Group名)を入力
  • B:の一番下の数値を調整

これで全ての設定が完了しました!
Plentyを選択し[G]→カーソルを動かすと、スフィアも一緒に動いていることが分かります。

Geometry Nodesだけでもまだまだ沢山機能があるので挑戦してみてくださいね。

割り当てたスフィアの動きが連動している

割り当てたスフィアの動きが連動している(クリックして確認する)