【Blender5.0】ジオメトリノードの新機能と新ノード紹介:Volume/SDFの基本的な使い方

blender
記事内に広告が含まれています。

Blender 5.0 がついにリリースされ、ジオメトリノードが大幅に進化しました。
今回のアップデートでは、ノードの使い勝手そのものを見直す基礎からの刷新が行われ、ソケット構造の再設計、ビューアノードの強化、新しいボリュームノード群、SDF(Signed Distance Field)ノードの追加、そして便利なバンドルノードなど、制作ワークフローに直結する機能がまとめて強化されています。

さらに基礎的な便利ノードも複数追加されており、ジオメトリノードでできることの幅がかなり広がっています。

この記事では、Blender 5.0 で追加・変更されたジオメトリノードの注目ポイントを、実際の制作でどう役立つのかという視点から分かりやすく紹介していきます。ピックアップして使用方法なども解説していますので、ざっと目を通しておきたいという方にオススメです。

ジオメトリノード初心者さんにもソケットの記号の意味やビューアノードは知っていて損はない内容だと思いますので、これから初めてみようって方も読んでみてください。

この記事は、Blender5.0のジオメトリノードの新機能・新ノードについて解説している初心者~中級者向けの記事です。

難易度 2.5

スポンサーリンク

Blender5.0で新しくなったジオメトリノードの機能やノードについて

Blender5.0で新しく追加された機能・ノードはざっと以下のようなものになります。

  • ソケットシステムの再設計
  • ビューアノードの強化
  • バンドルノード追加
  • Closureノード追加
  • Volume系ノード追加
  • SDF系ノード追加
  • UV Tangentノード追加
  • 新規基本ノード
  • その他

それぞれが結構大きいんですが、まずソケットシステムの再設計・ビューアノードの強化で、今までよりさらにジオメトリノードが扱いやすくなってます。よりわかりやすく、シンプルになった感じですね。(ソケットの変化については今までのに慣れてる人はチェックしといた方がいいと思います。)

バンドルノードやClosureノード追加でさらに機能的に、アドオン作成や自作ノード作成がめちゃくちゃ便利になると思われます。

一番大きいのが、SDF系、Volume系ノードが大量に追加されてることですね。SDFなど、初めて聞いた方も多いかもしれませんが、そこまで難しい概念ではなく、とにかく空間内でプロシージャルに形状変形が滑らかにできる手段が増えたっていう感じです。思い通りに使えるようになると神ノードになる可能性が高く、モデリングや形状変形の革命が起きつつあると思います。

他、UV Tangentノードや、基本ノードも大幅に追加されています。辺の判定や座標変換系ノードがあり便利になっています。

Blender開発ページと以下のBlender5.0ジオメトリノード新機能紹介記事を参考にしています。書いてあることを検証し、さらにSDF系ノードなどについて追記していこうと思っています。harry blendsさんはBlenderコミュニティでも有名な方で、最近ジオメトリノードの新機能紹介をよく担当されてます。チュートリアル記事もたくさん出されているのでジオメトリノードが好きな方はチェックしてみると良いかと思います。

スポンサーリンク

ソケットシステムの再設計

Blender 5.0 の最大の変化のひとつが ソケット形状のルール変更。ノードの入力ソケットや出力ソケットが値の種類によって変化してるんですが、そのルールが変更になりました。経験者にも影響がでかい変更です。結構困惑するかも。

旧来の記号体系が見直されました。今まではフィールドか単一値か、ノードを入力してみたあとに、単一値だとドットがついたひし形にソケットが変化する動的なソケットでした。今後は、静的な形を変えないソケットになります。

新ソケット形状

  • 縦バー(|)
    • 単一値のみ を扱うソケット
    • フィールド値など複数の値ではない、単一の確定値がここに分類されます。ジオメトリ、マテリアル、定数みたいな値の接続を期待します。
  • 丸(●)
    • 最も汎用的 なソケット
    • 任意のデータ(数値・ベクトル・カラー・フィールドなど)を扱えるソケットです。今までに慣れてるとちょっと困惑するかもしれない…mathノードなどがほとんど変わってると思われます。フィールド接続できることを忘れないようにしたいですね。
  • 菱形(◆)
    • フィールドを「期待する/生成する」ことを示す
    • 実際単一の値なのかフィールドなのかはノードの線の形状を見て判断できます。
      • 点線…フィールド
      • 実線…単一の値

縦バーソケット、あれに似てる…

縦バーソケット、Join Geometryノードの複数ノード入力ソケットに似てるな…って思いました。まぁ長さが違うのでわかりますけど、初心者さんは間違えないようにしてください。長い縦バーは複数のノードが入るソケットです。

ソケットの色について

復習がてら、ノードのソケットの色について解説します。ソケットの丸とかダイヤの色は、値のタイプ(型)によって違います。

右図でわかる通り以下のように配色されています。(色の感じ方は個人差があります)

  • Float 小数…灰色(Gray)
  • Integer 整数…緑(Green)
  • Boolean 審議値…ピンク(Pink)
  • Vector ベクトル…紫(Purple)
  • Color カラー…黄色(yellow)
  • Rotation 回転角度(接続先によってはラジアン)…赤紫(Red-purple)
  • Matrix マトリックス、行列…濃い赤紫(Carmine)
  • String 文字列…青(Blue)
  • Menu メニュー…墨色(Dark Gray)
  • Object オブジェクト…オレンジ(Orange)
  • Geometry ジオメトリ…明るい緑(light green)
  • Collection コレクション…白(White)
  • Image 画像…暗い紫(Dark Purple)
  • Material マテリアル…コーラル(Coral)
  • Bundle バンドル…暗い緑(Dark green)
  • Closure クロージャ…暗い黄色(Dark Yellow)

どのノードを接続すればいいかわからない場合、色を見て同色同士でつなぐと大体適切につなげる可能性が高いです。(一部は同じ色じゃなくてもつなげて使えたりします。)

スポンサーリンク

ソケットがメニューにも登場

ノードのドロップダウンメニュー内のオプションが外部から接続可能なソケットを持つようになった。

例:
Resample Curve の「Samples」をメニューではなくソケットに → 外部から制御可能
Evaluated / Count / Length のような設定がソケット化 → 状態を外部の論理ノードで切り替えられる

これによりシステム化できるメニューが増え、アドオン化やプロシージャル化がしやすくなりました。

ソケットの説明が地味に改善(Tooltip)

どんな値を接続することを期待されているか、わかりやすく表示されるようになりました。

Type:が追記され、表示もすっきりして読みやすくなった。

使用する上でのポイント

ソケットの形、丸いソケットを見ても、フィールドが接続できるってことを忘れないようにすると良いかと思います。…これは多分誤解する人が出る…。

スポンサーリンク

ビューアノードの強化

Viewer Node は 今までも細かいアップデートはあったんですが、5.0で再整理され強化されました。ジオメトリノードでモデリング、シミュレーションなどする上で、ビューアノードで現在の値や位置を確認することは不可避です。この数値やカラー表示が便利になることは開発の効率化に直結すると思われます。

  • 非ジオメトリデータ も確認可能になった
  • 入力数が動的に変えられる
  • Ctrl+Shift+クリックでビューア接続、切断時には自動でソケットが削除
  • スプレッドシートで複数ジオメトリやバンドルの中身も確認できる
  • 単一値も直接表示可能

変更された主な機能

  • デフォルト状態
    • 4.5以前…Geometryなど入力ソケットが固定されていて、数も増やせませんでした。
    • 5.0…何も表示されてなく、最初は困惑しましたが、つまり自由になんでも入力できます。※あるジオメトリの表示を知りたい場合は旧ノード同様にジオメトリを同時に入力する必要があります。※ジオメトリ複数の状態をスプレッドシートで見ることが可能
  • 数値の表示
    • ビューポートオーバーレイでAttribute Textにチェックを入れることで使える機能です。
    • 4.5以前…Vectorなど一行で表示。桁数が多くなると数値が被って見えづらいことも多かった
    • 5.0…XYZも表記され、改行されて表示。
  • ノードの表示
    • 4.5以前…ジオメトリに関連された数値以外はそもそも表示されず、Stringなどサポートされてない型も多かった
    • 5.0…多くの型、値をノード上に表示できるようになった。出力された値を確認できる。

ちょっとした進化

今までも、Viewerノードのメニューで、フィールドがどの位置の値を返すべきか設定したときも、Pointなら頂点、Edgeなら辺に数値を表示していました。

5.0では、新たにFace Cornerにもきちんと表示されるようになりました。今まではFace Cornerの値って言ってたけど頂点に表示されていたのが改善されたということです。

他にも、モディファイアの管理パネルを非表示にできるようになった、とか、ノードを外すと自動的に全ての入力ソケットを削除してくれるとか、モディファイアがディスプレイ不可視になってるとエラーが表示されるようになったとか、細かい改善があります。あまり意識しないでも使いやすくなってると思います。

使用する上でのポイント

今までいろいろ計算をしてて、この出力結果がどうなってるのか知りたい、みたいなときにビューアノードが使えるということを押さえておくといいんじゃないかと思います。

※一度に位置やノーマルを出力できるようになっているのかと思いきや、表示は2番目につないだ値だけっぽいです。

スポンサーリンク

バンドルノード(Bundle Node)

複数の値、ノード出力をまとめて移動させられるノードが追加されました。コードを綺麗に整頓したい方に喜ばれる機能ですね。

  • 概要:複数の値を1つにまとめて扱える新しいデータ形式。
  • 新ノード
    • Combine Bundle:複数の値から新しいバンドルを作る
    • Separate Bundle:バンドルから個別の値を取り出す
    • Join Bundle:複数のバンドルをまとめて1つにする、既存の値を上書き可能
  • 対応:一部のノード(Switch ノードなど)がバンドル型をサポート。
  • シェーダーノードでも利用可能

使い方

基本的な使い方はCombine Bundleノードにまとめたいノードを接続して、Separate Bundleノードに接続するだけです。

Combine Bundleノードに全部ノードをつないでからSeparate Bundleノードをつなぐと、勝手に全部出力ソケットが生成されるんですが、途中からノードを増やした場合、ソケットを同期させるボタンが出現します。

ソケットの数が合わなくなるので、どちら側のバンドルノードに合わせるか決めます。Combine Bundleノードに合わせるなら、Separate Bundleノードの同期ボタンを押してソケットを増やせます。

Bundleノードをまとめることもできます。

join Bundleノードを挟むことで、複数のCombine Bundleノードをまとめることができます。

※例えば、同じCombine Bundleノードに複数のFloatノードを接続すると、自動的にFloat_001と名前がついて別の値扱いになるのですが、Join Bundleノードをはさむと、同名になって、ソケットが増えない現象がありました。改善されるかもしれませんが…

スポンサーリンク

Closures(クロージャ)

これもノードを整頓したい方に喜ばれるノードです。特にいろんな便利系ジオメトリノードツールとかアドオンとか作ってる方は本当に待ち望んでたノードですね。

  • 問題点(旧方式):ノードグループの内部を変更するには直接ノードグループを編集する必要があり、再利用性が低かった
  • 新機能:クロージャを使うことで、ノードグループ内に追加のノードを挿入して評価できる
    • Closure Zone:新しいクロージャを作成するノード。ノードグループに似ており、入力と出力を持つ
    • 外部から渡された値はクロージャ内で保持される
    • Evaluate Closure ノードでクロージャ内部を実行
  • シェーダーノードでも利用可能

使い方

Evaluate Closureノードを、挿入したい箇所のノードの間にはさんで、Closure Zoneの出力を接続します。

Closure Zoneの中で、その間に挿入したいノードを接続して使うことができます。

これはシェーダーでも使えるので、例としてこの間作った油彩シェーダーを挙げます。間にボロノイテクスチャなどで模様を変えられるようなノードを組んだときに、全体をグループノードでまとめたいけど、ボロノイテクスチャのパラメータは外からいじれるようにしたい、というようなときに、テクスチャノードだけを外に出したりできます。

Evaluate Closureノードは複数の値を持つこともでき、何か持っていきたい値があれば、その値にも接続してClosureゾーンに渡すことができるらしいです。

スポンサーリンク

Volumes(ボリューム)系ノードについて

Blender 5.0 では、ジオメトリの形状ではなく、空間そのものに“密度”や“距離”の値を持つ ボクセルグリッド(Volume/SDF) として扱えるようになりました。これにより、従来のメッシュベースでは難しかったボリューム編集・ブーリアン・スムージングを、より柔軟で一貫した方法で扱えるようになっています。

新機能:ボクセルグリッドを直接処理できるようになった

新規追加ノード

  • Store Named GridGet Named Grid:ジオメトリの中にグリッドを保存したり、取り出したりするために使用されます。しかしそれ以外の点では、グリッドはジオメトリの一部として扱われません。
  • Mesh to Density Grid:メッシュやポイントなど別のジオメトリタイプから、直接グリッドを生成します。
  • Voxelize GridPrune Grid:グリッドの疎密(スパース性)を調整して、より高度な制御やパフォーマンス改善を行います。
  • Grid to Mesh:グリッドの表面を指定した閾値でメッシュに変換します。
  • Field to Grid:既存のグリッドのトポロジー上でフィールドを評価し、新しいグリッドを作成します。
  • Grid CurlGrid DivergenceGrid LaplacianGrid Gradient:グリッド値から有用な特性(カール、発散、ラプラシアン、勾配など)を取得します。
  • Grid InfoVoxel IndexSample GridSample Grid Index:グリッドから直接情報を取得するノード
  • Set Grid BackgroundSet Grid Transform:グリッドにデータを書き込みます。
  • Advect Grid:速度場に沿ってボクセル値を移動

Blender Developerページより

基礎的な使い方

1例ですが、メッシュをMesh to Density GridノードなどでGridのデータに変換します。

するとmathノードやテクスチャノードで数値を変更できるので、そこで自由に加工できるようになります。

戻すときはGrid to Meshノードなどでメッシュに戻すこともできます。

使用するポイント

正直まだよくわかってないですが、滑らかにオブジェクト同士を合体させたり交差させたいとき、液体ぽい動きなどが、従来のVolumeより扱いやすくなっているんじゃないかと思います。実際やってないので軽くなっていると断言はできませんが、おそらく以前より軽く、より滑らかにしやすいんじゃないかな。

また、DivergenceとかLaplacianという、数学のベクトル解析がばりばりに出てきたので、渦などが可視化できるっぽいです。

スポンサーリンク

SDFグリッド(Signed Distance Field)系ノード

SDFグリッドは、各ボクセルにその場所がメッシュ表面からどれだけ離れているかを示す値を持つグリッドです。ボクセルごとに「表面までの距離」を格納する方式。値が 0 の場所が「表面」、正は外側、負は内側を意味する。

Blender 5.0 ではジオメトリノードで直接扱えるようになりました。

SDF グリッドは、メッシュと比べると、同じディテールを表現するには非効率かもしれませんが、その代わり以下のような利点がある:

  • 滑らかなブーリアン (合成、差、交差など) が簡単にできる。複雑な形状の合成・切削が容易。
  • サイズ変更や形状の変形 (膨張/収縮、オフセット) が容易。これにより、プロシージャルなモデリングやアニメーション、エフェクト用途に強み。
UV SphereのSDFをボリュームで表したもの。球の表面は黒(0)。球の表面から離れるほど値が増えていき白くなっていく。

新規追加ノード

  • Mesh to SDF Grid:メッシュから SDF グリッドを作成
  • Points to SDF Grid:ポイントから SDF グリッド作成
  • SDF Grid Boolean:メッシュブーリアンのようにSDF同士で演算
  • SDF Grid Laplacian:真の SDF に対して、平均曲率流(Mean Curvature Flow)をより低い計算コストで近似します。
  • SDF Grid Median :ノイズを減らしつつ、鋭いエッジ(シャープな特徴)を保持します。
  • SDF Grid Mean:高速に動作する“分離型の平均フィルタ”で、汎用的なスムージングを線形計算量で実行できます。
  • SDF Grid Offset:SDF の表面を、ワールド空間の距離で一定量外側へ膨張 または 内側へ収縮 させます。
  • SDF Grid Fillet:負の主曲率(内部の凹んだ角)を持つ領域だけに作用し、内部の角を丸めます。
  • SDF Grid Mean Curvature:曲率の高い部分(尖ったり強く曲がっている部分)を、平らな部分よりも強くスムージングします。

Blender Developerページより

基本的な使い方

ボリュームとほぼ同じ感じで使える気がします。

メッシュをMesh to SDF GridノードなどでSDF Gridに変換。そこから計算をしたり、SDF Grid Booleanで形状を変化させます。

今回はSDF Grid Booleanノードで二つの球のSDFを合体させてみました。

SDF Grid Meanで形をなめらかにできます。形を整えて、Grid to Meshでメッシュ化します。

SDF GridGridは違うらしく、SDF Gridには直接数値をいじるようなノードはうまく機能しませんでした。

使用するポイント

SDFはプロシージャルに形を作ることができますが、SDFもメッシュにするときには細かくしすぎると重くなったりするので注意が必要です。SDFはボリュームよりも、純粋な数式の空間になるので処理が早いらしい。動的なアニメだとこっちを使った方が良さそうです。

SDFがなんなのかわかんないって方も、Booleanのノード使えば、特に内容を理解する必要はないかもしれません。SDFという難しそうな名前がついてますが、本当にただ表面からの距離なだけです。

スポンサーリンク

UV Tangents(UV接線ベクトル)

UV Tangent ノードが新規に追加されました。

メッシュの接線ベクトルにアクセス可能になります。
デフォルトは Exactモードで、MikkTSpace(法線マップ用の正しい接線方向を計算するための計算法) ライブラリで生成、レンダー用に互換性あり
Fast モードでは計算が約4倍速くなるが、Blender内の他機能との互換性は低下

※UVマップ必須です

描画シェーダーとかでUV Tangent は筆の方向性・ストロークの流れを作るのに最適なので、またすごい描画シェーダーがどんどん作られる気がします。

スポンサーリンク

Essentials Library(エッセンシャルライブラリ)

基本的なノードもかなり増えました。使えそうなノードがいっぱいあります。

  • Random Rotation…垂直方向にランダム角度を生成
  • Combine Cylindrical/Separate Cylindrical…円筒座標に変換
  • Combine Spherical/Separate Spherical…球座標に変換
  • Is Edge Boundary…メッシュ内の各エッジが境界(バウンダリー)に位置しているかどうかを示すブーリアン値を出力
  • Is Edge Manifold…連続した面を構成する正常なエッジかどうかを判定する。
  • Is Edge Loose…面に属していないただの線か?を判定するノード
  • Is UV Split…ここが UV シームになっているか?を調べるノード
  • Edge Length…メッシュ内の各エッジの長さを出力
  • Face Corner Angle…メッシュ内の各フェイスコーナー(面の角)における角度の情報を出力
  • Normal Selection…指定した方向に対して、法線(Normal)が一定角度以内を向いている要素を選択するノード
  • Box Selection…指定した 3D ボックス内部にある要素を選択するノード
  • Sphere Selection……指定した球内部にある要素を選択するノード
  • Smooth Geometry…ジオメトリの連続した部分をスムーズにする
  • Displace Geometry…指定した方向やベクトルに沿ってジオメトリ要素を移動させ、位置をずらすことで変形を加える

一部ピックアップして紹介します。

Random Rotationノード

Random Rotation(ランダム回転)ノードは、指定した角度範囲の中でランダムな回転値を生成します。
インスタンス、パーティクル、ジオメトリの要素の向きをランダム化するために使用できます。

  • Min Zenith(最小ゼニス角)
    • 垂直方向(上下方向)の回転角度の最小値。ランダム回転がこの値以上になります。
  • Max Zenith(最大ゼニス角)
    • 垂直方向の最大回転角度。ランダム回転がこの値以下になります。

上下方向にだけ制限が効きますが、横方向はランダムに回転するため、それをオイラー角表示で見ると、設定した以上に回転してるように見えることがあります。完全に制御したい場合は軸ごとにRandom Valueでだした方が制御しやすいです

単一のランダム値を生成する

デフォルトでは「各要素ごとに異なるランダム回転」が生成されます(ID が要素ごとに違うため)。全ジオメトリで1つだけランダムな回転を使いたい場合は、ID 入力に 一定の値(例:Integer ノードで “1”など) をつないでください。

Combine Cylindrical/Separate Cylindricalノード

普通のデカルト座標(X, Y, Z)を円筒座標(R, Φ, Z)に変換します。今まで極座標を手作りしてたんですが、その必要がなくなりました…!!ついに来ましたね。

半径・角度・高さをもとに位置や方向を作るときに役立ちます。
例えば、螺旋(スパイラル)形状を作ったり、
円筒状の変位(ディスプレイスメント)を行うなどに便利です。

  • R…X–Y 平面上での原点からの半径距離。
  • Phi(ファイ)…Z 軸のまわりの角度(回転角)。
  • Z…垂直方向(高さ)成分。

シェーダーでも使えるので、万華鏡とか、みかんの果肉テクスチャみたいなのを作るのに使えます。

スザンヌを円筒形にしぼってみました

Combine Spherical/Separate Sphericalノード

デカルト座標(X, Y, Z)を球座標(R, Φ, Θ)のベクトルに変換します。これも座標変換系のノードです。

球座標は、3D 空間の点を原点からの距離、水平方向の回転角(方位角)、垂直方向の傾き(極角)で表現する方法です。そのため、球状のパターンの構築や、球面上の座標生成などに非常に便利です。

  • R…原点からの距離。
  • Phi(ファイ)…Z 軸まわりの水平回転角(方位角)。
  • Theta(シータ)…Z 軸から測った垂直方向の傾き角(極角)。

Edge Lengthノード

メッシュ内の各エッジの長さを出力します。
これは、そのエッジを構成する 2つの頂点間の距離を計算して求められます。

Edge系ノードの複数追加について

Edgeに関する判定ノードがかなり追加されていて、ジオメトリノードでなんでも作れるようにしてやるぞという意気込みを感じます。

街や家とか作ってるときに、これが端の辺なのかどうか知りたくてすごく悩んでいたので、おそらくジオメトリノードで背景、街などを作ろうと思ってる方はこれらのノードがめちゃくちゃ使えるんじゃないかと予想しています。

スポンサーリンク

Normal Selectionノード

Normal Selection ノードは、指定した方向に対して、法線(Normal)が一定角度以内を向いている要素を選択するノードです。
上向きの面、壁のように横向きの面、ライトやカメラの方向を向いた面などを選択するのに便利です。

入力(Inputs)

  • Direction(方向)…法線と比較する基準方向を示すベクトル。通常は 正規化(Normalize)されたベクトルを使います。
  • Threshold(閾値角度)…法線が Direction とみなされるための 最大角度差。この角度以内であれば、その要素が「選択された」とみなされます。
頂点のノーマルを判定している

Box Selection

Box Selection ノードは、指定した 3D ボックス内部にある要素を選択するノードです。
特定の空間領域にあるポイント、フェイス、インスタンスなどを抽出したいときに役立ちます。

入力(Inputs)

  • Center(中心)…3D 空間における、選択ボックスの中心位置。
  • Size(サイズ)…各軸(X, Y, Z)方向のボックスの大きさ。幅・高さ・奥行きを表します。
ボックスはCubeを使って可視化しています。

Smooth Geometryノード

Smooth Geometry ノードは、近くにある要素同士の位置を平均化することで、ジオメトリの連続した部分をスムーズにします。
表面の凸凹を減らしたり、全体の形を大きく変えずに柔らかく有機的な形状にしたいときに役立ちます。

入力(Inputs)

  • Geometry(ジオメトリ)…スムーズ化を行いたい入力ジオメトリ。
  • Selection(選択)…スムーズ化の対象となる要素を制御します。選択されていない要素は変化しません。
  • Iterations(反復回数)…スムーズ化の処理を何回繰り返すか。値を大きくするとスムーズ効果が強くなります。
  • Weight(ウエイト)…隣接する要素の影響度。大きいほど近くのポイントの位置に強く引っ張られます。

おそらく、VolumeとかSDFなどの融合系生成が増えるので、そのためにスムーズ化のノードを作ってくれたんじゃないかなと思います。他にも滑らかにするノード結構あるんですけどね。

Displace Geometry

Displace Geometry ノードは、指定した方向やベクトルに沿ってジオメトリ要素を移動させ、位置をずらすことで変形を加えます。
テクスチャや頂点属性などのフィールドを使って、プロシージャルな凹凸・波動・形状変形を作るときに使われます。

入力(Inputs)

  • Geometry(ジオメトリ)…変位(ディスプレイス)を適用する入力ジオメトリ。
  • Selection(選択)…変位の対象となる要素を指定します。未選択の部分は変化しません。
  • Strength(強さ)…要素をどれだけ移動させるか(変位距離)。
  • Offset Method(オフセット方法)…変位方向をどのように決めるかを選びます。
  • Normal(法線方向)…要素の表面法線に沿って動かす。
  • Vector(ベクトル)…カスタム入力のベクトルに沿って動かす。※ベクトルは内部で正規化されます(特に指定がない限り)。
    • Offset Distance – Normal モード…Normal を使う場合の変位距離。
    • Offset Vector – Vector モード…Vector を使う場合の変位ベクトル。
  • Substeps(サブステップ数)…変位処理をいくつの中間ステップに分けて行うか。法線や位置フィールドは各ステップごとに再計算され、より安定した・正確な繰り返し変位が得られます。
  • Post Substep Process(サブステップ後処理)…各サブステップの後に追加で行うジオメトリ処理を指定する「ノードクロージャー」。
    • クロージャーのパラメータ:
      • Geometry:そのステップ時点でのジオメトリ
      • Selection:そのステップでの選択要素
      • Strength:そのステップの変位強度
      • Substep Index:サブステップ何回目か(番号)
      • これにより、変形途中に追加処理を挟むような高度な変形が可能になります。

Substeps で 位置 → 法線再計算 → 位置 → 法線再計算 を内部で繰り返してくれる。法線依存の変形や、重ね掛け変形が滑らかで安定するので、地形の erosion(浸食)、粘土の押しつぶしなどがSet Positionなどでの変形より綺麗になる。

スポンサーリンク

その他の変更・新ノード

その他細かい改善や追加ノードです。

  • String to Value ノード追加…Value to Stringノードの対。セットが揃いました。
  • Pack UV Islandsノード改善…Shape Method オプション追加
  • メッシュの Shape Key データを保持してノードツール実行可能に
  • Random Value改善… ノードの大きな整数の生成改善(結果は以前と異なる)
  • シェーダー Gamma ノード対応…ノード追加
  • 単一ノードをグループ化するとカラータグが引き継がれる…グループノードがカラフルになります。(わかりにくいかもしれない…)
スポンサーリンク

まとめ

まとめてみて、今回のジオメトリノード周辺のアップデートは本当に凄いと思いました。大量にノードが追加されており、そのノードが結構使えそうなものが多いです。

また、VolumeやSDF系ノードが出てきたことで、ジオメトリノードでのモデリングやアニメーションの概念がまた1つ進化し、変化が起こってくるんじゃないかと思います。

今までやりたいことがジオメトリノードで実現するの難しかった…そして諦めた…という方も、今回導入されたノードでできるようになってる可能性高いんじゃないかと思うので、また再チャレンジしてみたり、新規でやってみようって方にもいいタイミングなんじゃないかなと思います。

あとは…リグ、ボーンの操作ができればジオメトリノード、ほぼ完成しちゃうんじゃないだろうか…。

コメント