今回は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を使ってみる
他のモディファイアツールと同じく、工具のアイコンから追加できます。
ジオメトリノードを編集するため、画面を左上のアイコンから切り替えましょう。
プレビュー用に画面を増やします。
モーショングラフィックを作る
プレーンの頂点データを使用したモーショングラフィックを作りましょう。
以下の手順を追っていきます。
- 土台となるプレーンを作成
- スフィアの集合体をプレーンに割り当てる
- 動きを設定する
- スフィアを動かす物体を設定する
プレーンを追加する
まずはデフォルトのキューブを選択→[X]で削除し、[Shift+A]でプレーンを追加します。
[Tab]で編集モードに切り替えプレーンを細分化します。
左下のメニューからNumber of Cutsの値を10に変更し、さらに細かくしましょう。
プレーンの選択を解除したらスフィアを追加します。
ノードを追加・削除する
再びプレーンを選択しジオメトリノードをモディファイアツールから追加します。
そしてジオメトリノードエディター上で[Shift+A]を押し、Point Instanceというノードを追加します。
ノードを追加したい場所(Point Instanceの場合はGroup InputとGroup Outputの間)へカーソルを移動させ、クリックすると自動で接続されます。
Pointというメニューから追加しましたが、Searchの部分に名前を入力すればすぐ検索できるので便利です。
削除したいときはノードをクリックし[X]を押します。
スフィアを割り当てる
Point InstanceのノードにあるObjectの■をクリックしSphereを選択します。
すると割り当てられたスフィアと共にプレーンが変化し、このような状態になります。
スフィアがプレーンに対して大きすぎるのでサイズを調節します。
[Tab]で編集モードに切り替えてから、[S]→カーソルを動かしてスフィアを縮小します。
全てのスフィア同士が重なり合わないくらいまで小さくなればOKです。
Attribute Fillでスフィアの大きさを変更する
[Tab]でオブジェクトモードに切り替えプレーンを選択し、ジオメトリノード編集に切り替えます。
[Shift+A]でAttribute FillというノードをGroup InputとPoint Instanceの間に追加しましょう。
このノードのAttributeという項目へ属性を入力すると、その下の値を調節することで属性を変化させることができます。
今回はここにscale(大きさ)と入力しますが、他にはposition(位置)やrotate(角度)などがデフォルトとして存在します。
それ以外の属性でも入力すれば新たに作成されるようです。
これでスフィアの大きさを簡単に変更できるようになりました。
Attribute MixでAttributeノードをミックスする
続いてAttribute MixをAttribute FillとPoint Instanceの間に追加します。
このノードは2つのAttributeノードをミックスし、新しいAttributeノード を作成します。
変更点は以下の通りです。
- Mix→Addに変更
- B:Attribute→Vectorに変更
- B:の3段目の値を1.0に変更
- Aの欄にpositionと入力
- Resultの欄にpositionと入力
ここではスフィアの位置をZ軸に0→1.0移動させるように設定しています。Factorの値を変化させることでスフィアの位置もちゃんと移動していることが分かります。
Vertex GroupとVertex Weight Proximityで一部のスフィアを動かす
一部のスフィアを動かすためのSphereを追加します。
再びPlaneを選択しObject Data Propertiesのアイコンを選択します。
そしてVertex Groupsの+をクリックし、Planeを登録しましょう。
[Tab]で編集モードに切り替え、Assignをクリックし選択してあるプレーンを割り当てます。
Modifier Propertiesに戻り、Vertex Weight Proximityを追加します。
このツールについて詳しくは別記事で紹介する予定です。
Vertex Groupの項目に先ほど登録したGroupを、Target ObjectにEmptyを割り当てます。
Proximity ModeはGeometryに設定しましょう。
Weight Paintを編集する
Geometry Nodesを一旦非表示にしたら、左上のアイコンからWeight Paintモードにします。
Lowestの値を調節し、スクリーンショットのように中央にグラデーションの円ができるようにします。
この円の大きさが、後ほどプレーンに割り当てたスフィアを動かす際、影響する範囲になります。
Attribute Mixを追加して編集する
左上のアイコンをクリックしオブジェクトモードに戻したら
- Planeを選択します
- Modifier Propertiesからジオメトリノードのディスプレイアイコンをクリックし割り当てたスフィアを再度表示させ
- ノードのアイコンをクリックしノード編集に戻ります
Attribute Mixのノードを選択したらコピー&ペーストし、元からあったAttribute MixとPoint Instanceの間へ新たに追加しましょう。
その後、追加したノードを編集します。
- FactorをFloat→Attribute
- 2つ目のFactorの欄にGroup(先ほど登録したVertex Group名)を入力
- B:の一番下の数値を調整
これで全ての設定が完了しました!
Plentyを選択し[G]→カーソルを動かすと、スフィアも一緒に動いていることが分かります。
Geometry Nodesだけでもまだまだ沢山機能があるので挑戦してみてくださいね。