2019-02-26

houdini engine for Maya facet set support


ここでは Houdini Engine for Maya プラグイン 17.0.486 で対応した Maya の Facet Set への対応について説明する。Facet Set を聞いたことのない人・使わない人は、以下無視して結構。



使用したビルド: Houdini 17.0.486 (486 以降必須)
Maya 2018.2

1. Maya で元シーンの作成

  1. PolyCube を作成 (pCube1)
  2. g キーでリピート (pCube2)
  3. polyCube2 の Width, Height, Depth をすべて 0.8 にする。
  4. pCube2 を X 方向に 0.4 程度移動する。
  5. select -r pCube1.f[5];
  6. sets -facets true ;
  7. できた Facet Set を FacetSet などと名前を変更
  8. select -r pCube1.f[5];
  9. Create->Sets->Set []
    Name に Another Set などと入力して Apply。
  10. select -r pCube1.f[0] pCube1.f[1];
  11. Create->Sets->Set []
    Name に Ordinary Set などと入力して Apply。
  12. Windows->Relationship Editor->Sets を実行、Relationship Editor (Set editing) を開く。
      Relationship Editor の左側のリストに Another Set と Ordinary Set の二つが追加されていて、右側には、Another Set、FacetSet、Ordinary Set の3つが表示され、それぞれ以下のような面がセットのメンバとして登録されている。
ここまでで保存したのが、set only_new.ma。

2. 期待される挙動

最初に期待される挙動を Maya の機能を使って行う。

  • pCube1 を選択、 pCube2 を追加(Shift)選択し、Mesh->Boolean->Difference を実行。

      AnotherSet, FacetSet, OrdinarySet の3つにBoolean の結果の面が追加されていることがわかる。
  • 結論から言うと、Houdini Engine 経由で Houdini のBoolean 機能をHDA化し Maya で実行すると、通常のセット (AnotherSet, Ordinary Set) には新しい面が追加されるが、Facet Set (FacetSet) には追加されなかった。

3. 486 での修正

486からの修正方法を以下に説明する。

  1. 上記の Maya のBoolean を Undo するなり、保存したシーンを読み直すなりして、元に戻す。
  2. Houdini Engine->Load Asset... で ktaki_newbooleanformaya.hda をロードする。
      ktaki_newbooleanformaya1がシーンに追加され、
      ... No geometry generated!
      というエラーが出るが入力がつながっていないだけなので心配無用。
  3. pCube1を選択、ktaki_newbooleanformaya1 を追加 (Ctrl) 選択、アトリビュートエディタ上の ktaki_newbooleanformaya1 の Subnetwork Input#1 脇の Set to Selection をクリック。
      pCubeShape1 がInput#1 に追加された。
  4. pCube2を選択、ktaki_newbooleanformaya1 を追加 (Ctrl) 選択、Subnetwork Input#2 脇の Set to Selection をクリック。
      pCubeShape2 がInput#2 に追加され、HDA による Houdini のブーリアンが実行された。
      しかし、通常セットには新しく作成された面が追加されたが、Facet Set には追加されていない。
  5. アトリビュートエディタの上部で houdiniInputGeometry1 というのを探し当て、その中の Allow Facet Only Sets のトグルをオンにする。

    または MEL で
    setAttr "houdiniInputGeometry1.allowFacetSet" 1;
  6. houdiniInputGeometry2 でも同様に行う。または MEL で
    setAttr "houdiniInputGeometry2.allowFacetSet" 1;
  7. ktaki_newbooleanformaya1 に戻り、Sync Asset をクリック。これで、FacetSet にも面が追加された。

まとめ

  • Facet Set を Houdini Engine プラグインで認識させるには、houdiniInputGeometry 上に新たに追加された Allow Facet Only Sets (Maya) アトリビュートをオンにする必要がある。
    setAttr "houdiniInputGeometry.allowFacetSet" 1;
  • シーンファイル: h17_setNodeTest_new.zip (14KB)

0 件のコメント:

コメントを投稿