2015-07-20

vop toonshading

ここでは、VOP を用いたシェーダの作成をの簡単なトゥーンシェーダを元に説明する。


  1. オブジェクト読み込みと事前処理 (このページ)
  2. サーフェスマテリアルの作成 (別ページ)
  3. アウトラインの作成 (別ページ)

Houdini 15.0 以降の簡単なトゥーンシェーディング設定の説明はこちらにあり。

使用したバージョン: 14.0.395



オブジェクト読み込みと事前処理

  1. Houdini を起動、ビューポート内にカーソルがある状態で TAB->Test Geometry から3種類のテスト形状のうち好きなものを配置。

    ここでは Squab を使用。Enter キーを押して確定、原点に配置する。

    testgeometry_squab_object1 ができた。
      シェーディング表示で既にテクスチャを含むマテリアルがアサインされているのがわかる。このマテリアルは使わないので削除するのだが、このモデルはデジタルアセットであり、ジオメトリとマテリアルが一つのパッケージになっていて、ノードネットワークをたどってマテリアルの関係を削除するのはかなり面倒。そこで、
  2. ネットワークパネルで testgeometry_squab_object1 を選択、ダブルクリックするなり 'i' キーを押すなりして中に入る。
      testgeometry_squab1 というノードがあるはず。
  3. testgeometry_squab1 の出力に Attribute Delete ノードを追加。attribdelete1 が出来る。パラメータビューの Primitive Attributes のところで、右端の ▽ から、Material (shop_materialpath) を選択。

    表示フラグ (ノードの右端の水色のフラグ) をこのノードに移すと、マテリアルが削除されたのがわかる。
      このデータの場合、Primitive アトリビュートが一つしかないので、テキストフィールドに "*" としても同じ結果になる。"*" を他のデータを使う場合、すべての Primitive アトリビュートが削除されるので注意が必要。
  4. カメラ を配置。ついでに Null ノードを配置し、こちらにしたがってターンテーブルアニメーションを作成。ターンテーブルはしなくとも良いがカメラ (/obj/cam1) は必須。
ここまでが squab_toon_setup.hip (次のページにリンクあり)。

まとめ

  • Primitive アトリビュート:
      Primitive とは面のこと。Primitive アトリビュートは面単位のデータ。
      ネットワークビューで testgeometry_squab_object1 ノードを MMB (真中マウスボタン) クリックすると表示される情報に、"1 Primitive Attributes: shop_materialpath[1s;2]" と表示されるが、attribdelete1 ノード上で同じ操作をすると Primitive Attribute が表示されないので、このアトリビュートとそのデータが削除されたのがわかる。Geometry Spreadsheet で Primitive で二つのノードを見ても同じ。
  • Normal:
      使うジオメトリデータによっては、delete ノードの後に normal アトリビュートを追加して、法線を再定義するのも良い。squab_toon_setup.hip の中で追加されているが、この squab では変化が無いので、評価 (表示) ノードにはなっていない。
  • Squab: SideFX による造語。squid (イカ) と crab (カニ) の掛け合わせ。

サーフェスマテリアルの作成につづく

0 件のコメント:

コメントを投稿