ここでは Houdini Engine for Maya の Debuggin 機能を元に Maya のメッシュデータがどのように Houdini Engine に渡されているかを確認する方法を紹介。
使用したバージョン: Houdini 15.0.377, Maya 2015 SP5
空アセットの作成
Houdini Engine が Maya 内のオブジェクトをどのように扱うかを知るために、まず仮の空のアセットを作成する。
- Houdini を起動。Create シェルフから Grid ツール(Box でも Sphere でも何でも良い) を Ctrl キーを押しながらクリック。
- ネットワークビューで 'i' キーを押して grid_object1 の中に入る。中に grid1 ノードがあるはず。
- grid1 の出力から TAB->Null を選択、Shift+Enter で確定すると、表示フラグが作成された null1 に移る。
- null1 のみを選択した状態で、 をクリック、Subnet を作成する。
grid1 は Subnetに含めない。 - subnet1 の名前を myasset などわかり易い名前に変更し、RMB->Create Digital Asset を実行。
myasset.hda などとしてとりあえずわかり易いデスクトップなどに保存するように設定し、Accept をクリックして確定。 - Edit Operator Type Properties ウィンドウが開いたら、そのまま何もせず Accept をクリックしてウィンドウを閉じる。
- ネットワークビューで myasset ノード上で RMB->Save Node Typeを実行、HDA ファイルを確定する。これで空アセットの作成が終了。
Maya のオブジェクト作成
Maya で Houdini Engine に渡すオブジェクトを作成。
- Maya を起動。Polygons シェルフで Polygon Plane (Cube でも Sphere でも何でも良い) をクリック。pPlane1 が出来る。
- 下の画像のようにマテリアルを2つ(赤と青)アサイン、頂点カラーを緑で、Mayaでいう所のVertex モード(Houdiniで言うところのPoint) で描く。
このオブジェクトは、 colorPlane.ma 。 - Mayaのメインメニューの Houdini Engine -> Load Asset... を実行。先ほど作成した myasset.hda をロード。
- Outliner で pPlane1、それから myasset1 の順で両方を選択。Attribute Editor を開き、Inputs 以下のSet to Selection をクリックし、 pPlaneShape1 が myasset1 の入力メッシュとして登録されるようにする。
ただしこのアセットは本質的に NULL なので、これ自体は何もしない。
Debugging メニュー
Maya 内の Houdini Engine メニューには Debugging (デバッグ)というサブメニューがある。これを使うと Maya 内で作成されたオブジェクトのコンポーネントデータなどがどのように Houdini Engine に渡されるかを理解することが可能。
- Houdini Engine->Debugging->View Assets in Houdini... を実行。新たに Houdini が起動し、 Maya のシーンと同等のシーンが Houdini の中に再構成される。
- ネットワークビューで 'L'キーを押してノードの配置を整理すると、以下の3つのノードがあるのがわかる。
- GlobalNodes:
- myasset: Maya にロードしたアセット
- input: Maya 内で作成したメッシュオブジェクト
- input を選択、'i' キーを押して中に入る。もう一つ input というの名のロックされた Null ノードがある。
- この input ノードを選択し、Geometry Spreadsheet を開く。ここで Mayaでアセットに渡されたジオメトリの各データの様子を見ることが可能。
- 例えばNode Input脇の4つのスイッチを切り替えることで次の情報にアクセスできる。
Points ポイント(点・頂点)単位 P[x,y,z] 各点の座標 Vertices 面頂点単位 PointNum, Alpha, Cd[0,1,2], N[0,1,2], uv[0,1,2], uvNumber 対応するポイント番号, 頂点カラーのAlpha値, Cd=Color Diffuse (頂点カラーのRGB), 面頂点単位の法線, 面頂点単位のUV座標, UV番号 Primitives 面単位 maya_shading_group, group:_ungrouped_group 面単位でアサインされたMayaのシェーディンググループ。リストを見ていけば、blinn1SGとlambert2SG がそれぞれアサインされていることがわかる。 Details ディテール Mayaのオブジェクトアトリビュートの設定に対するHoudiniのアトリビュートの対比(下参照)
ここで重要なことの一つに、Mayaで定義した頂点カラーは、Mayaでいう所の頂点単位で定義したとしても、Houdini Engine には、面頂点単位で渡されるということがある。
0 件のコメント:
コメントを投稿