No More Retake

3DCG屋さん向けTips&Referenceサイト

メニュー

Houdini:Example-VellumSmokeSheet

Houdini勉強回。
Houdiniについてくるサンプルファイルが、とても勉強になったので復習がてら解説してみようとてするなり。

使用するサンプルファイルは、VellumSmokeSheetです。
サンプルファイルの開き方はこちらの記事参考
https://www.sidefx.com/docs/houdini/examples/nodes/dop/vellumsolver/VellumSmokeSheet.html

こんな感じに、布の下に入り込んだ空気が押し出されてブワッとなる、みたいなシミュレーションです。

[ネットワーク概要]

上図赤枠部分が、SIM前の仕込み。上図緑枠部分が、シミュレーション。
(a)Cloth設定を付与しGridの端っこをPin留め。(b)”resist”というアトリビュートを付与(シミュレーションで空気抵抗値に使用)、(c)縦にパタパタ移動させる(シミュレーション内でPin留めしたところが影響を受ける)

シミュレーション方法としては2種類、提示されています。面白かったのが、(d)右側の方。以下は、その中のネットワーク。

ネットワーク内は大きく分けて、(e)左の方がVellumのシミュレーション、(d)右の方がSmokeのシミュレーション。
なんとなくの流れは、

[1]:Vellumのシミュレーション(f)

[2]:Vellum形状に厚みを持たせてVDB化(g)

[3]:それをSmoke側のコリジョンとして使用、コリジョンの動きによって Velocity Fieldが更新される(h)

[4]:更新されたVelocity FieldがVellumのシミュレーションに影響を与える(i)

[5]:1に戻る

個人的に目から鱗だったのは、[3]のコリジョンによるVelocity Field更新の部分。
煙が発生しているわけでもないただの空間内で、コリジョンモデルが動くことで、Velocity Fieldが更新されている(空気の流れができている)ことでした。
Vellumの動きによって作られた、Velocity Fieldを可視化したのがこちら。

Smoke Solverは煙(density)をシミュレーションするものという思い込みがあったようで、こういう使い方もあるのかと思いました。
空気の流れを作るだけならdensityは必ずしも必要ないな、と。


これを使って、次のようなのを作ってみました。
上記のコリジョンとVelocity FIeldにフォーカスして、シンプルにしたものです。

一見、コリジョンありにようにも見えますが、衝突の類は一切なし。
パーティクルはジオメトリが動いた際に作られるVelocity Fieldによって動かされています。
Velocityフィールドを可視化したのが、下図。

ネットワークは以下の通りです。

DOPネットワーク内に、SOPネットワークを作成。そこでコリジョンオブジェクトを作り動かす。これをStatic Object DOPノードが読み込んでいます。
Smoke Object(DOP)内の空間をコリジョンが動きまわり、Velocity Fieldが更新されて、空気の流れが生まれる。(左黄色)
そのVelocity Fieldを使って、パーティクルを動かす。(右赤)

左右のネットワークをつなぐMerge(DOP)の設定で、Relationshipの設定が”None”に設定しているので、コリジョンが直接パーティクルには影響していない。
パーティクルを動かすのは、あくまでVelocityフィールド。

煙シミュレーションのプロセスを思い返してみると、確かにそのとおりなのですが、目からウロコでした、はい。

 

以上、また次回!

 

関連記事

  1. 匿名 2019.08.13 11:21am

    面白いです!とても勉強になりました!
    また次のサンプルファイルの解説記事も楽しみにしています!

    • 1
    • 0

このサイトについて

3DCG Tipsサイト。Houdiniの記事が多めです。

RSS

follow us in feedly

Archives

  • 2024 (1)
  • 2023 (2)
  • 2022 (9)
  • 2021 (14)
  • 2020 (46)
  • 2019 (17)
  • 2018 (33)
  • 2017 (29)
  • 2016 (36)
  • 2015 (64)
  • 2014 (54)
  • 2013 (60)
  • 2012 (55)

スポンサードリンク

言語切り替え

  • English (United States)
  • 日本語

スポンサードリンク

言語切り替え

  • English (United States)
  • 日本語

Houdiniを使えるようになる本


Warning: file_get_contents(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed in /usr/home/nomorere/nomoreretake.net/wordpress/wp-content/themes/n1-custom/functions/social.php on line 132

Warning: file_get_contents(): Failed to enable crypto in /usr/home/nomorere/nomoreretake.net/wordpress/wp-content/themes/n1-custom/functions/social.php on line 132

Warning: file_get_contents(http://api.facebook.com/restserver.php?method=links.getStats&urls=http%3A%2F%2Fnomoreretake.net%2F2019%2F08%2F12%2Fhoudiniexample-vellumsmokesheet%2F): failed to open stream: operation failed in /usr/home/nomorere/nomoreretake.net/wordpress/wp-content/themes/n1-custom/functions/social.php on line 132

Warning: file_get_contents(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed in /usr/home/nomorere/nomoreretake.net/wordpress/wp-content/themes/n1-custom/functions/social.php on line 132

Warning: file_get_contents(): Failed to enable crypto in /usr/home/nomorere/nomoreretake.net/wordpress/wp-content/themes/n1-custom/functions/social.php on line 132

Warning: file_get_contents(http://api.b.st-hatena.com/entry.count?url=http%3A%2F%2Fnomoreretake.net%2F2019%2F08%2F12%2Fhoudiniexample-vellumsmokesheet%2F): failed to open stream: operation failed in /usr/home/nomorere/nomoreretake.net/wordpress/wp-content/themes/n1-custom/functions/social.php on line 132