僕がHoudiniを触り始めてからまず迷ったことなので書いてみます。
Houdinistの方!間違ってたら是非ご指摘ください。
まずMayaに関して。
Mayaでアトリビュートと言ったら何でしょう。
translate, rotate, scale, tx, ty, tz… などのトランスフォーム情報や、
width, height, depth, size, color, colorR, colorG, colorB, shapeTypeなどの各種情報。
あとはinMesh, outMeshだったりcreate, local, worldSpaceなどのシェイプ情報もありますし、
age, lifespanPP, velocity, massなどのパーティクルアトリビュートもあります。
といった具合いに、Mayaの場合はノードの情報をアトリビュートと呼ぶようです。
一方Houdiniはというと、たとえばGeometryノードを例に取ると、こちらもTranslateだとかRotateだとかがあります。
しかし、これはアトリビュートではありません。
これはチャンネルです。
チャンネルは/obj/geometryA/xform1/txのように、階層から辿っていけるものです。
CHOPで値を編集することも出来ます。
じゃあHoudiniではアトリビュートをチャンネルと呼ぶんだね?となるとそうではありません。
Houdiniのアトリビュートは、数種類にわかれています。
detail, point, vertex, primitiveです。
詳しい説明は省きますが、要は各Pointや各Primitiveが値を持っているのがHoudiniのアトリビュートです。
Mayaで言うShape情報のが持つ情報がアトリビュート、なのかな。
detailに関してはその限りではないのですが、これは僕もあまり使ったことがないので一旦忘れてください。
多分ノードストリーム全体での何か、だと思います。あくまでも多分。
たとえばHoudiniでは、ポイントという概念があり、これを関連付けたりすることによってプリミティブが作られます。
なのでCube1個作ってもPoint8個は作成されています。
で、そのポイントはtx, ty, tzなどのポジション情報を持っています。
あとは頂点カラーもHoudiniでは頻繁に使用するのですが、Cdというアトリビュートがカラーの値を持ちます。
こんな具合ですね。(頂点カラーは話には出ましたがスクリーンショットでは未設定です。)

といった具合に、Houdiniではシェイプに関する情報は全てアトリビュートで管理されており、またどのアトリビュートも好き勝手にいじれます。
こちらはPointSOPからポイントの座標値を2倍してみたところです。

Houdiniのポイントアトリビュートは、イメージとしてはMayaのパーティクルアトリビュートに近いかもしれませんね。
こんな具合で、Houdiniはアトリビュートをいじったり、必要であれば新しくアトリビュートを作ったり(AttribCreateSOPを使います)しながらデータを作っていきます。
アトリビュートはシェーダにも渡せたりするので、これを利用してMayaでいうパーティクルインスタンサーみたいなこともやれたりします。
あとは破片ごとにテクスチャや色が違う、みたいなこととかも可能ですし、まぁとにかく便利です。
SOPがあるからHoudiniは最強の裏には、アトリビュートが好き勝手にいじれるから好き勝手にデータを作れるぜヒャホーイ!というのが隠されているかもしれません。
というわけで、MayaのアトリビュートはHoudiniのアトリビュートとは全くとは言わないまでも、異なった考え方のものです。
Mayaの方がアトリビュートという概念の適用範囲が広い気がします。
とりあえずざっくり、僕がひっかかったところの解説でした。
これがわかればあとは自分でざくざく勉強できる!はず!!いやマジで。
これがわかってればわかるチュートリアルってかなりありますから。
MayaのShapeをいちいちノードで作ってると思えばSOPなんて楽勝なんじゃないですか!(さすがに乱暴でしたすみません)
Go Procedural!!
- Newer: [CG JOBS] ポリゴン・ピクチュアズが人材募集中
- Older: [随想] 未来について
Comments:4
- ますお 2010/06/27
Houdiniのattributeは,
detail : per shape
primitive : per face
vertex : shared
point : unsharedだったと思います.確か.
- tai 2010/06/27
>ますおさん
おお!詳細な解説ありがとうございます。
detailとprimitiveはまさにその通りかと思います。
pointとvertexは逆かなとおもいます。
pointがshared、vertexがunsharedだったと思います。
点としてのデータがpoint、primitiveを構成する要素としての点がvertex、と理解しています。
って逆に間違ってたらすみませんwwwwwww- ますお 2010/06/28
あ,すみません.
そうです.逆でした :-P- tai 2010/06/28
>ますおさん
Attributeのことを再度調べなおす良い機会になりました!
ありがとうございます!
Trackbacks:0
- Trackback URL for this entry
- http://blog.taikomatsu.com/2010/06/27/houdini-maya%e3%81%a8%e3%81%ae%e9%81%95%e3%81%84-attribute/trackback/
- Listed below are links to weblogs that reference
- [Houdini] Mayaとの違い – Attribute from memlog