2017-05-25

SOP Solver


ここでは、Attribute Transfer ノードを使い、こちらで作った球の落下シミュレーションで、球が落下した部分の地面の色を Attribute Transfer を使って変える方法、そしてSOP Solver を使い色が軌跡として残るようにする方法を紹介する。


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

1. Attribute Transfer の設定

次に衝突したところの色が変わるようにする。

  1. シーンが設定されていない場合、こちらの 01_rbd_collisions.hip を開く。
  2. /obj/grid_object1 の中に入り、TAB->Object Merge を作成。作成された object_merge1 で
    • Object1 フィールド横の +アイコンで、/obj/sphere_object1 を選択。
    • Transform の設定を Into This Object に。
  3. object_merge1 の出力から TAB->Color を実行。
    • Class は Point のまま
    • Color Type を Random にする。
  4. grid_object1 の最下流にある attribcreate1 の出力からも TAB->Color を実行。

    Color Type は Constant のまま、色も白のまま (好きな色に変えても良い) 。
  5. TAB->Attribute Transfer を作成。attribtransfer1 が出来る。
    • 左側の入力に Color 2 (地形の色) を、右側に Color 1 (球の色) を接続。
    • Conditions タブの Kernel Radius を 1.0 (球の直径) に
    • Distance Threshold にも 1.0 を設定
  6. 再生をすれば、球が接している面の色が変化するのがわかる。

    ただし、軌跡にあとは残らない。これはAttribute Transfer が毎フレームその都度評価され、前のフレームが上書きされるから。

2. SOP ソルバによる設定

  1. 同じ /obj/grid_object1 内で TAB->Solver を実行。

    solver1 が出来た。このノードは SOP Solver という。
    • solver1 の一番目の入力に Color2 (地形の色)を接続。
    • solver1 の二番目の入力に Color1 (球の色)を接続。
  2. attribtransfer1 を選択、Ctrl+C。
  3. solver1 の中に入り、Ctrl+V。
    • solver1 内の attribtransfer1 の一番目の入力に Prev_Frame を接続。
    • solver1 内の attribtransfer1 の二番目の入力に input_2 を接続。
    • attribtransfer1 に表示フラグが設定されていることを確認。
  4. U キーを押して一つ上に上がり、再生をすれば、今度は球の色が軌跡として残る。

まとめ

  • Attribute Transfer を使うことであるオブジェクトのアトリビュートの値を別のオブジェクトに渡すことが可能になる。
  • オブジェクトがアニメーションしている場合、Attribute Transfer だけでは各フレームで初期化されてしまう。
  • 軌跡を残す場合には、(SOP) Solver を使い、前のフレームの状況に追加されるようにする。

シーンファイル h16_transferAttr.zip (99KB)
  • 01_rbd_collisions.hip: このページで作ったファイル。作成には Houdini FX 相当のライセンスが必要。
  • 02_sopsolver.hip: このページで作ったファイル。01_rbd_collisions.hip を Houdini Core で開いて作成することも可能。その場合、SOP Solver の編集は出来るが、RBD (主に AutoDopNetwork 以下) の編集は出来ない。

SOP ソルバに関するチュートリアル


最終更新: 2021-09-26

0 件のコメント:

コメントを投稿