初めての Houdini 基本用語と構造
Maya使いでHoudini完全初心者が、使い方で調べていった内容を書きためていきます。
基本的な用語¶
基本的な所ですが、SOP・VOP・COP…という謎の3文字が並んで最初からわからない。
「OP」とは、Operatorの略。
Houdiniのノードの分類のようなもので、
SOP | Surface Operator |
VOP | VEX Operator |
COP | Composite Operator |
CHOP | Channel Operator |
ROP | Render Operator |
それぞれが上の意味になっている。
SurfaceOoeratorが、Geometry(Mesh)を扱うオペレーター
VEXというのは、C++ライクなHoudiniのプログラム言語で、
MayaでいうところのExpressionに近い(もっといろいろできるけど)
VOPは、そのVEXをノードベースで組み立てられるもの。
公式Helpのノードを見ると、このOperatorごとにノードがまとめられている。
データ構造について¶
Houdiniは、基本的に「ノード」という単位を基本として出来ている。
そしてそのノードは入れ子構造になっている。
シーンの構造を確認するのたTreeView
そしてこの階層は、Folder階層のように obj/geo1/attribvop1 のように表すことができる。
パラメーターにアクセスするときもこのパスが基本になる。
TreeViewのこのアイコンが、上記のOperatorに対応していて
各Operatorごとにノードがグループ化されている。
このなかのOBJというのは、MayaのDAGノードにおけるTransformノードのようなもの。
あるいは、BlenderのObjectのほうが近い。
GeometryやLight、Cameraなどを配置する「場所」であり
内包する各ノード(SOP等々)を実体化するための出口的な役割を持つ。
また、このOBJノードをつなぐことで親子化をすることができる。
Network¶
そして、Houdiniの最も重要な部分になるのがNetwork。
Networkに表示されているハコがノードで、そのノードそれぞれがさまざまな機能を持っている。
そのノードを接続していくことで、データを編集・構築していくことができる。
Maya使いの考え方で表すと、TreeViewはアウトライナはハイパーグラフのヒエラルキ
表示をしているのがTreeViewで、Networkは、ハイパーグラフをConnection表示にしたようなもの。
まずInputからデータが入力され、それぞれのノードがそのノード内でゴニョゴニョしたあと
Outputとしてデータが出力される。
その繰り返しでデータが構築されていく。
Houdiniのすごいところはこのノードの種類が多用なことと
ノードからアクセスできる内容がMayaの比ではないのが大きい。
(OpenMayaのイテレータで処理するような内容をノードベースで組める)