Cleanノード
クリーンノードで削除可能な要素の具体例

ノード概要
Houdini Document | Clean
https://www.sidefx.com/docs/houdini/nodes/sop/clean.html
クリーンノード
いくつかのクリーンアップ機能がまとめられているノード。

まず前提としてこのノードはネットワークノードであり、いくつかの削除系ノードを組合わせて動作している。

なので個々のノードを確認すると具体的にどういった挙動をしているかを確認することもできる。
動作
では具体的に何がクリーンアップされるかを確認していく。
Cleanノードはそれぞれチェックボックスによって以下の機能のONOFFができる。

Consolidate Points
重なっている頂点をマージする 内部ではfuseノードが処理している。

複数のオブジェクトにまたがっている場合でもマージされるので注意

Remove Degenerate Primitives
面積が極めて小さいポリゴンやエラーvertexを削除する。 内部的にはDeleteノードで削除している。

vertex参照が正常ではないprimもクリーンアップされる (vexなどで明示的に作れるのでスクリプトエラーにより作られたりする)


Primを構成していない独立したpointも削除してしまうので注意

Delete Unused Groups (Remove Degenerate Primitivesオプション)
Remove Degenerate PrimitivesでPrimを削除した際、含まれるPrimが無くなったGroupがあった場合に一緒に削除するオプション。
同じく内部的にはDeleteノード(Deleteノードに削除時に不要になったGroupを消すオプションがある)
Orient Polygons
反転したpolygonの方向を一致させる。
内部的にはfacetノード。

Reverse Winding
ポリゴンを反転する。
内部的にもReverseノードが入っているだけのシンプルな構造
(Clean?という感じの機能だけど多分OrientPolgonの補助機能かな)
Fix Overlaps
同一頂点を持つ重複したポリゴンを削除する。
内部的にはpolyDoctor

Delete Overlap Pairs (Fix Overlapsオプション)
有効にした場合、Fix Overlapの削除時に重複ポリゴンはそのペアごと削除する
こちらも内部的にはpolyDoctor

Remove Unused Points
ポリゴンに接続されていないpointを削除する
内部的にはaddノード

Remove Attributes / Remove Groups
指定したアトリビュートやGroupを削除する。 内部的にはAttribute RenameとDelete Group
デフォルトではOFFだがON時のデフォルト値が全削除( * )になっているので注意

Remove NANs
エラー値になっているポイントを削除する。
内部的にはisnanというVEXで検知している。
(基本的にHoudiniでNanは出来なそうだったので確認まではできず。)
FBXだとNan値はよく見るのでそういったデータのクリーンアップかと思われる。
Manifold-Only Topology
非多様体を削除する。
内部的にはPolyDoctor

Delete Small Manifold Patches / Primitive Threshold
Manifold-Only Topologyのオプション。
削除対象となる非多様体のポリゴン数

今回調べるまではよくわからないままとりあえずで使っていました。
万能なCleanではなくポリゴン特化のCleanであることも知りませんでした。
調べてみるとあんまり「とりあえずで入れとく」ノードでも無いかも。
中にはエラー要因になりそうな動作(複数ジオメトリで隣接頂点をマージしてしまうといったもの)もあったので調べておいてよかったです。

fish_ball
プロシージャル魚類