2022年7月10日日曜日

Houdini初めのn歩(2歩目)

   次はHoudiniの概念説明の回です。

CGを構成する最小限の各要素とアトリビュートについて説明します。

参考:https://www.sidefx.com/ja/docs/houdini/model/attributes.html

Houdiniのジオメトリについて

Houdiniは他のCGツールと同様に、基本的には多面体(ポリゴンの集合体)によって構成されるメッシュを取り扱うことが多いです(パラメトリック曲線や曲面など他の表現方法もあります)。



Point

3D空間の位置を示す点です。シンプルな意味での頂点と考えて問題ないです。

Vertex

ちょっとヤヤコシイのですが、そのまま訳すと「頂点」となってしまいますが、実態を持つわけではなく、前述の Point への参照という役割を持つ概念と考えてください。

Vertex 自体が Point とは別に位置というアトリビュートを持つのではなく、Point を指し示す概念となります。

初心者の段階ではこの Vertex を気にすることは少ないので一旦置いておいても大丈夫です。


Primitive

複数の点(ここで言うと Vertex であり、更にそれは Point への参照となる)から構成されるポリゴン(多角形)を示す概念です。

Primitiveを構成するのが Vertex であり、それは Point への参照となるため、前述の図のように左側の三角形を示す Primitive と右側の三角形を示す Primitive は共に 3 という Point を共有することが出来ます。

前述しましたが多角形だけでなく曲線や曲面も含む概念ですが初心者のうちは多角形と思っても大丈夫です。


Houdiniのジオメトリアトリビュートについて

前述の Point, Vertex, Primitive にはアトリビュートと言う情報を格納することができます。Point は3D空間の位置を表すので必ず P という位置を表すアトリビュートが存在します。

Houdini初めのn歩(1歩目)

にて登場した Geometry Spreadsheet でそのようなアトリビュートを確認することができます。


アトリビュート生成には Create Attribute などのノードもありますが、ここではプログラムによって記述する方法を紹介します。

Wrangle 系のノードでプログラムを書けます。今回は Point Wrangle で試してみます。


Point Wrangle をノードに繋げて以下のようにプログラムを記述してみます。


VEXというプログラミング言語を記述しています。以下の公式ドキュメントでどんな言語か一通り見ることが出来ます。


関数リファレンスも役に立つと思います。


ジオメトリスプレッドシートで見てみますと、アトリビュートがそれぞれ追加されていることが分かります。







0 件のコメント:

コメントを投稿