2017-05-28

pyro lattice deform

Pyro FX を Lattice デフォーマを使って変形する方法をこちらにまとめました。



使用したビルド: 16.0.618
シーンファイルへのリンクは一番下にあり。

1. 元シーン作成

最初に Pyro シミュレーションを作成する。

  1. Houdini を起動、Create シェルフの Torus を Ctrlキーを押しながらクリック。
      トーラス形状 (torus_object1) が原点に作成される。
  2. torus_object1 を選択したまま、Pyro FX シェルフの Billowy Smoke (左から4番目) をクリック。
      ノードネットワーク (/obj 以下) には、シミュレーションネットワークのノードである pyro_sim とレンダリング用出力ノードの pyro_import の二つのノードが出来る。再生すればトーラス形状より煙が上がるのがわかる。
  3. ビューポートのカメラ位置を自分の見たい位置に調節し、Lights and Cameras シェルフの Camera を Ctrl キーを押しながらクリック。
      cam1 が出来る。これがレンダリング用カメラになる。
    1. パラメータビューで cam1 の View タブに行き、Resolution を 1024 x 1024 (または自分の使いたい解像度) に設定する。
  4. Smoke 上方に Point Light を一個配置すると煙がさらにきれいに見える。
  5. ビューポート上で 'D' キーを押し Display Options パネルを表示、下記の変更を行うと Pyro ボリュームが見易くなる。
    1. 背景色を変えるには、Background タブの Color Scheme を Light (グラデーション) から Dark (黒)、または Grey (明るいグレー) に変更する。
    2. Scene タブ(16.0) で HDR Rendering をオンにする (15.5 までは Effects タブにあり)。
    3. Geometry タブで Volume Quality を Normal から High に変更する。

      使用するグラフィックボードにより表示に差異あり。
    4. ここでは最終フレームを 120 フレームとして、シーンファイルを保存 (00_pyro_deform_setup.him)。

2. ボリュームからポイントを作成

作成した Pyro (ボリューム) からデフォメーションの元となるポイント (クラウド) を作成する。

  1. pyro_import の中に入り、import_pyrofields を選択、Ctrl+C、Ctrl+V で複製。
      import_pyrofields1 ができた。
  2. import_pyrofields1 を選択し、下にスクロール、Fields to Import が 7 になっているが、これを 1 に変更、density だけを残す。
  3. import_pyrofields1 の出力から TAB->Points from Volume を実行。出来た pointsfromvolume1 に表示フラグを設定する。
      煙のあるところにポイントが作成されたのがわかる。
  4. /obj/pyro_sim の中に行き、pyro ノード (左上) を選択。Division Size ラベル上で RMB-> Copy Paramter を実行。
  5. /obj/pyro_import に戻り、pointsfromvolume1 を選択、Particle Separation ラベル上で RMB->Paste Relative Reference を実行。

      これでシミュレーションのボクセルサイズ (Division Size) とこれから行う変形の元になるパーティクルの間隔 (Particle Separation) の値が同じになった。
  6. pointsfromvolume1 の出力から TAB->Attribute From Volume を実行。
    • 左側の入力に pointsfromvolume1
    • 右側の入力に import_pyrofields1
    • Attribute Name を density とする。
  7. シーンファイルを保存 (01_pyro_lattice_points.hip)。
      このファイルにラティスデフォーマを作成。

3. ラティスデフォメーションの設定

ポイント (クラウド) に対し、ラティスデフォーマを適用する。

  1. 最後のフレーム(120フレーム目) に行き、ネットワークエディタで /obj/pyro_import ノードを選択し、 Deform シェルフから Lattice ツールを実行。
    1. ビューポートでポイントをすべてバウンディングボックス選択。
    2. Enter キーを2度押して確定。これによりラティスがパーティクルを囲うようにして作成された。

      ビューポートに表示されたスライダでラティスの分割数を調整可能。
      アニメーション再生してみると、ラティスの大きさがラティスシミュレーションに併せて拡大しているのがわかる。
  2. attribfromvolume1 と lattice_bbox の間に Time Shift ノードを挿入。Frame のエクスプレッションを RMB->Delete Channels で削除し、120 (最後のフレーム) を挿入。

    これでラティスの大きさが120フレーム目の大きさで固定になる。
  3. ラティスケージを編集するには、 /obj/pyro_import/ 内にて lattice1 に表示フラグを設定し lattice_bbox_xform を選択。
      ラティスポイントを選択し移動などを行う。

      マニピュレータの軸を変更するには、M キーでトグル可能。
  4. ポイントの編集を行ったことにより、 lattice_bbox_xform と lattice1 ノードの間に edit1 ノードが挿入されている。

    編集の結果が気に入らない場合、このノードを削除。再び lattice_bbox_xform ノードを選択、ビューポートでポイントを選択し編集をやり直すことが可能。
  5. /obj/pyro_import 最下流の lattice1 の出力から TAB->Fluid Source を実行。できた fluidsource1 の
    1. Method を Stamp Points に
    2. Source Attribute は density のまま
    3. 同ネットワークの pointsfromvolume1Source の Point Separation で RMB->Copy Parameter、 fluidsource1 の Settings 以下のDivision Size で RMB->Paste Relative Reference。再生するとページ一番上の結果になる。

シーンファイル

pyro_lattice.zip (314KB)

  • 00_pyro_lattice_setup.hip: ラティスを作る前までの設定ファイル。
  • 01_pyro_lattice_points.hip: #2 終了までのファイル。
  • 02_pyro_lattice_edit.hip: ラティスポイントを編集する直前のファイル
  • 03_pyro_lattice_smoke.hip: 最後まで行ったファイル

0 件のコメント:

コメントを投稿