見出し画像

Geometry nodesデータ構造

Blender3.3にアップデートされ、やっと安定したGeometry nodesで遊べるようになった。今回はGeometry nodesの理論的なことについて。理論的な話はほとんど英文での動画やサイトばかりだったのでニュアンスがわかりにくかったので理解するのに苦労した。自分なりの解釈も含めてまとめておく。

データの構造

Geometryとは

そもそもGeometryとは何なのか?辞書で単語を調べると、「幾何学」とかそのような意味が出てくる。Geometry nodesにおけるGeometryとは「データの構造体」とでも思ってもらえればいい。

Geometryには5つの要素がある。

  • Mesh

  • Curve

  • Point Cloud

  • Valume Grids

  • Instance

Spreadsheetを見るとそれぞれの情報と、内臓されたデータを確認することができる。

Attributes

Attributes(属性)とはGeometryのデータレイヤーである。
例えばMesh VertexのPositonやVertex GroupsのWeight値などがAttributesにあたる。
用語としてよく出てくるが内容としては単純である。動画等を見つつ使いながら覚えていった方がよい。

Data type

Data typeは次のものがある。

  • Value(Float)

  • Vector(XYZ)

  • Color(RGB)

  • Integer

  • Boolean

上3項はMaterial nodesでも使っているので、使い勝手は変わらない。ただし色付けはMaterialで行われるので、Color nodesはRGBをXYZ変換して使用する使い方が主である。
IntegerはIndexやSeed値の指定などの役割として使うことがほとんどである。計算はほぼValue(Float)で行う。
Booleanはソケットについている処理を部分的に有効無効の切り替えができるので使いながら覚えていった方がよい。

Fields

Fields

海外の動画を見ているとFieldsという言葉がよく出てきている。
fieldsはGeometry nodes間でreferencesへattributesとoperationsを渡す方法である。平たく言うとプログラミングの関数のようなものである。GeometryのデータフローにValueやVectorを追加し整形していく。この線形を与える概念がFeildsになる。

operations

operationsは関数の中身のことを指している。attributesが入力となり、計算処理しFeildsが出力する。
Feildsはこの一連の流れInstructionsを持っている。対照的にGeometryはattributesをひとまとめにしたDataを持つ。

references

GeometryはDataを持ち、法線のようにDataから計算され一意に決まるものをDerived Dataと呼ぶ。このDataとDerived Dataをひっくるめてreferencesと呼ぶ。

この記事が気に入ったらサポートをしてみませんか?