Dev:JA/Ref/Release Notes/4.30/geometry nodes
元記事:Geometry Nodes - Blender Developer Documentation
目次
Blender 4.3: ジオメトリノード
For Each Element(要素繰り返し)
新しい For Each Element(要素繰り返し) ゾーンが追加されました (6e5e01e630)。ゾーン内でジオメトリの要素(ポイントや面など)毎にノードの評価ができます。各要素での評価の出力は、後で新規ジオメトリまたは新規属性に統合されます。
このゾーンの使用は、従来は不可能または非常に複雑だった多くのユースケースに最適です。ただし、ゾーン内の同じ Math(数式)ノードの評価と比べると、シンプルなフィールド評価の方がパフォーマンスが大幅に上です。さらにパフォーマンスについて考慮する必要があれば、上記コミット内のメッセージをご覧ください。
グリースペンシル
ジオメトリノードがグリースペンシルデータに対応しました。ジオメトリノードの観点からすれば、グリースペンシルのジオメトリは、カーブを持つレイヤー群のフラットなリストで構成されています。レイヤー、カーブ、カーブ制御点には、カスタム属性を持たせることができます。
すでにカーブで動作する多数のノードが、グリースペンシルデータでも自動的に動作するよう更新されました。これらでは、各レイヤーは個別に処理されます。
すべてのカーブ編集機能が利用できるよう、グリースペンシルは対応する変換ノードでカーブに変換、そして元に戻すことができます。この変換はまだ完全に可逆ではありませんが、すべての汎用属性とマテリアルは伝播します。また、他のジオメトリタイプの生成用に変換ノードをグリースペンシルを入力として使用したり、ジオメトリノード内で一からグリースペンシルデータを作成することもできます。
グリースペンシルと他のジオメトリはマテリアルに互換性がありませんが、両種のマテリアルがマテリアルソケットを使用していることに注意してください。
グリースペンシルをカーブに変換する時、各レイヤーは別々のカーブインスタンスになります。これにより、各レイヤーを別々のカーブとして処理できます。入力オプション Layers as Instances(レイヤーをインスタンス化)
無効時、出力は全レイヤーのストロークが入った単一のカーブジオメトリになります。
同様にカーブをグリースペンシルに変換する時も、インスタンスはレイヤーになります。
元のグリースペンシルデータ内でレイヤーの名前を唯一の物にする必要がありますが、ジオメトリノードではそうではありません。
これは意外にもパフォーマンスの点において重要で、レイヤー名を唯一の物にするのは非常にコストがかかる可能性があるためです。しかし、グリースペンシルモディファイアーの適用時は、同じ名前のレイヤーがすべて一つに統合されます。
また、新しい Merge Layers(レイヤー統合)ノードにより、これをジオメトリノード内で明示的に行うこともできます (53b9594ee2)。レイヤーは名前またはカスタムグループ ID で統合可能です。
パックへのベイク
Bake(ベイク)ノードまたは Simulation(シミュレーション)ゾーンにより作成されたベイクを .blend
ファイルにパックできるようになりました (3ccfa65245)。従来は、ベイクデータは常に別ファイルに格納されていました。.blend
ファイルへのパックにより、共有性が改善し、ベイク開始のハードルが低くなりました。非常に大きなベイクデータの場合、必要に応じて読み込むことができるため、今も別ファイルへの格納をお勧めします。
ベイクはデフォルトでパックされますが、Bake Target(ベイクターゲット)をジオメトリノードモディファイアーやベイク毎に設定可能です。一度ベイクすると、そのデータはロスレスでパック・パック解除できます。これもより汎用の Pack/Unpack Resources(リソースをパック/パック解除)
オペレーターに統合されています。
また、ベイクサイズも表示できるようになりました。
ギズモ
ノードグループにギズモを追加できるようになりました (24dc9a21b1)。これにより、ノードエディターやモディファイアースタックに移動しなくても、3Dビューポート内でノードツリーへの入力を編集可能になりました。
この最初のバージョンでは、以下の三種のギズモが利用可能です:
- Linear Gizmo(リニアギズモ): 線形移動のスカラー値をビューポートで操作可能です。寸法やカウント数などの設定に適しています。
- Dial Gizmo(ダイアルギズモ): ダイアルの移動により、スケール値を操作できます。角度の入力に最適です。
- Transform Gizmo(トランスフォームギズモ): トランスフォーム行列値の操作が可能です。実際には移動・回転・スケールの複数のギズモの組み合わせです。また、3Dビューポートのグローバル・ローカルトランスフォーム座標系を考慮します。
これらのノードの使用時、このノード自体による入力値はない、ということを理解することが重要です。代わりに他の既存の入力値に取り付け、操作するだけです。
これらのノードを使用する必要があるのは、ギズモ付きのノードグループをオーサリングする時で、他の誰かが追加したギズモを(ユーザーが)使用する時ではありません。
Transform Geometry(ジオメトリトランスフォーム)ノードのようなビルトインノードにはまだギズモがありませんが、今後のリリースで追加される予定です。
Warning(警告)
新しく Warning(警告)ノードが追加されました。ノードグループにカスタムの警告を追加できます。(e8b81065bc)
デフォルトでは、すべての警告タイプが親ノードグループに伝達されますが、新しい Warning Propagation(警告を伝達)ノード設定により、特定の警告の上への伝達を禁止できます (1ee6a8fad5)。これは内部ノードにエンドユーザーには関係のない警告を出す可能性のあるアセットに使用できます。
ジオメトリノードモディファイアー内の警告の表示が再編成され、パネルの一つとなり、重要度とアルファベット順で並べ替えられました。
ノードによりジオメトリノードモディファイアー内に生成された警告は、Python からもアクセス可能です。
for warning in modifier.node_warnings:
print(warning.type, warning.message)
ジオメトリ名
ジオメトリに新しいSet Geometry Name(ジオメトリ名設定)ノードで名前を付けることができるようになりました (dc8e9678e1)。一部のノードもオブジェクト名やコレクション名を元に名前を初期化します。名前は大半のノードに伝達されます。ジオメトリに名前を付ける主な目的は、複雑なインスタンス階層のデバッグの簡略化です。この用途で、スプレッドシートもインスタンスが入れ子の場合でもデータの表示が可能になりました。
ユーティリティノード
一部セットアップで便利な、小さな新しいノードがいくつかあります:
- 新しい Hash Value(ハッシュ値)ノード。(294994e4b9)
- 新しい Integer Math(整数式)ノード。(bf04513dec)
- 新しい Matrix Determinant(行列式)ノード。(22d78c5a8e)
- Value to String(値の文字列化)ノードが浮動小数点の精度の問題のない、整数値の変換に対応しました。(44fbd69317)
その他
-
ノードのタイミングがより正確に。(8af75d2fcc)
-
シミュレーションゾーン内の Skip(スキップ)チェックボックスが、不意にクリックしてしまうことを防ぐため非表示に。(af0d417450)
-
ノードツールからスカルプトのマスクにアクセス可能に。(98f0926825)