使用ソフトウェア | バージョン | 備考 |
---|---|---|
Blender | 3.2 |
日本語:属性キャプチャノード
このノードを通った時点のValue
を保存しておくノード。スナップショット的なイメージ。
ここで保存した値は右側のAttribute
から出力される。
Attribute
> Capture Attribute
理解すればシンプルだが、少し難しいノードになる。
Position
のようなInput
(赤)ノードを使ったことがある人向け。
このノードは設定を覚えることよりも、概念的な理解のほうが優先。
というわけで設定解説は後に回して先に実例を出す。
頂点が1個(座標:0, 0, 0,)しか入っていないオブジェクトに次のジオメトリノードを作ると
OffsetX=5
となっているので、Xに頂点が5m移動するだけだ。
上のノードにCapture Attribute
を2個差し込んでポジションをキャプチャする。
※画像が小さいのでクリックで拡大。
Group Output
のソケットに処理後
と処理前
が作ってあるが、これがよくわからない場合は次の記事を参照。
【Geometry Nodes】アトリビュートの概念とGroup Output(グループ出力)ノード【Blender】 | 謎の技術研究部
上のノードではSet Position
で移動する前の座標を処理前
。
移動した後を処理後
としてアウトプットしている。
ちなみにサンプルは分かりやすくX座標だけを取り出している。
さて、その結果は
Set Position
された最終的なジオメトリのX座標は5
になっており、処理後のデータにも5
とある。
そして何よりSet Position
する前にキャプチャしたデータも正しく0
のままで出力されている。
正しくCapture Attribute
が挿されている位置のデータが保存されていることが解ると思う。
次にもう少し実用的な例があったので紹介(英語)
次の動画の6:30からの例
上記動画の最後の作例では、分割された各ポリゴンが拡大されていくようなアニメーションになっている。
上を参考にして、次のノードを組んでみた。
※こちらも見えないのでクリックして拡大推奨
ざっくり解説すると、一度ポリゴンの結合を剥がしてしまってからCapture Attribute
で頂点と面のPosition
を保存している。
面のPosition
はちょうど中央にくるのでこれらをMix
ノードでアニメーションさせるという手法。
おまけとしてポリゴンの位置を法線方向にずらしてから元の位置に戻るようにしている。
再生すると次のようになる。
動きが硬いのでもうちょっとアニメの調整が必要そうだがCapture Attribute
の便利さは伝わると思う。
かなり冗長的になりそうなので簡略的。対応した番号で解説。
読まなくても使えると思うが一応乗せておく。
FloatやBoolean等、保存しておきたいデータの「型」を指定する。
プロシージャルなモデリングでは一般的だが、アトリビュート(頂点などに付与されるデータ)は頂点だけではなくエッジや面それぞれ別の値を持っている。
Blenderではこの領域をドメインと呼ぶらしい(シミュレーションのドメインとは別?)
例えば上の画像の例ではPointとなっているので頂点に付与されているアトリビュートを保存するという意味。
どこの「ドメイン」のアトリビュートを保存しておきたかをここで明示する。
3に入ったジオメトリデータはそのまま4にスルーされる。
難しく考える必要はなく、単に保存したいデータが入っている物を明示するために通るだけ。
ここに保存したい値を入れる。
1で指定した型に合わせるように。
重要なのはここに入った瞬間のデータが保存され、出力されるということ。
これがこのノードの目的。
保存されたデータはここから出る。
おそらく本格的な作品を作る上では欠かせないノードになるのではないだろうか。
アトリビュート関係のノードは他にもあるので別で解説記事も作っていく。