コンテンツにスキップ

Vtx Point Primitive Mesh Polygon について

Houdini を調べていると、Maya 以上に細かくノードやコンポーネントに
名前が付いていて???になることが多いです。

とくに分からなかったのが、 Polygon と Mesh の違い。
Maya 使い的には「同じじゃね???」になりましたが
別の物として区別されている。ということはこれには意味があるはず。

ということでまとめてみました。

Geometry の要素

まず、Geometry。
Maya 的に言えば Geometry は Shape ノードに近い?

そして Geometry は、 Point Vertices Primitives を持っている。

Maya の場合は、
Vertex - Edge - Face
このような関係になっているのが、

Houdini の場合、
Point - Vertex - Primtive - Detail
このようになっている。

また、この Point Vertex Primitive のように Geometry を構成する要素のことを「エレメント」と呼ぶ。

Vertex と Point

Point が Maya の Vertex に近い。
Vertex は、Face 単位の Vertex で、複数の Vertex→Point のような構造になっている。

GeometrySpreadSheet を確認すると、Vertex はいずれかの PointNum と対応した構造になっている。

Primitive

Primitive は、Maya でいうところの Face にあたる部分。
いろいろな意味合いをふくんでいて
「ポリゴン・カーブ・サーフェイス・メタボール・パーティクル・ボリューム」
など、を含んでいる。
Face にあたると書いたけれども、
ポリゴンの場合は 1Face=1Primitive になるが、サーフェイスの場合は複数面=1 プリミティブ扱いでもある。

Detail

Detail は、Point・Vertex・Primitive の要素をすべて含む単位のこと。

Mesh と Polygon

Point - Vertex - Primitive の構造を理解したところで、
Mesh と Polygon の違いとはなにか?という話。

ありがたいことに、Twitter 上で教えて頂きました。

まず、内部の構造がどう違うのか確認します。

Polygon

Polygon の表示を見ると、 PointNum> のように表示されます。

それぞれの Primitive ごとに ID が振られていて、それが結線情報になっています。

Mesh

対して、Mesh の場合は 1 つの Primitive のみ。

ID を確認してみても Primitive の ID は1つのみで、Point が 9 点あるのみになっています。

Polygons and Meshes のヘルプを確認

Polygons are shapes constructed from a series of straight edges.

Help を確認すると、Polygon についてはこういう記述があります。
いわゆる Maya のポリゴンと Houdini のポリゴンは同じニュアンス。

A mesh is a collection of polygons with guaranteed ordering.
It is much more efficient that the equivalent polygons,
and unlike most regular polygons you can convert it directly to NURBS.

Mesh とは、順番の決まったポリゴンの集まりで、ポリゴンより効率的。
そして、そのまま NURBS に変換することができる。

さらに、Twitter で教えていただきました。

つまりは、Mesh とは Maya でいうところの History を維持した状態の Surface to Mesh Convert した
オブジェクトのこと。

Cube の Primitive Type を Polygon にした場合は、

ポリゴン系ツールが使用できるので、ベベルの効果がかかっているが
Type を Mesh にした場合は、ベベルの効果はかからない。

このように、Mesh から Polygon に変換すれば

効果がかかる。
なるほど。

まとめ

PolygonMesh と PolygonSoup はまだ使いどころが来ていないのでまたこんど。

データ構造は Point > Vertex > Primitive > Detail それぞれを Geometry を構成するエレメントと呼ぶ。

Mesh は、内部的には NURBS で1つのサーフェースとして扱われているので
プリミティブは1つ、また Polygon 系ノードは使用できず NURBS 系のノードが使用できる。
Polygon は Maya の Polygon と同等で、ポイントを結んでできた面を指す。

GeometrySpreadSheet で構造を確認すると、Mesh と Polygon では構造の持ち方が違う。
Polygon は、1つの面がプリミティブで、Point から Face が構成されている。
Mesh は、内部的には NURBS からサーフェイスが作られていて、サーフェイス自体が1つのプリミティブとして
扱われているので、Primitive は1つしか存在しない。

参考