記事の目次

    Guideを活用したRBDのコントロール例を紹介します。

    TEXT_秋元純一 / Junichi Akimoto(トランジスタ・スタジオ/取締役副社長)
    日本でも指折りのHoudini アーティスト。
    アーティスト業務の傍ら、Houdiniアーティスト育成や布教活動に勤しむ
    www.transistorstudio.co.jp
    blog.junichiakimoto.com


    EDIT_小村仁美 / Hitomi Komura(CGWORLD)

    ●CGWORLD Online Tutorialsにて特別無料配信中!
    【無料】Houdini COOKBOOK +ACADEMY 特別編 ~コロナをやっつけよう!~

    • 「Houdini COOKBOOK +ACADEMY」
      Houdiniを基礎から楽しく学ぶオンライン講座

      公開日程:毎週金曜日公開(予定)
      価格:1,300円(税込)※セットでの割引販売有
      ※第一回「Houdiniの基本概念とインターフェイス」は無料公開中
      受講対象:Houdiniをこれから学びたい方、Houdiniの勉強で挫折した方など
      cgworld.jp/special/houdinicookbookacademy

    マニュアルなシミュレーション制御

    シミュレーションの制御は、Houdiniを使っている方であれば誰であれ感じる難易度の高い課題です。シミュレーションはある意味で、セッティングをしてしまえば結果待ちのようなところもあり、その感覚をつかむまではやみくもに何度も良いところをねらうしかなく、また、そのねらって良い感じになった部分もある意味では偶然の産物に過ぎず、異なるシチュエーションでもう一度同じような結果をねらうことは難しいものです。

    今回は、RBDのコントロールにフォーカスを当てて検証してみたいと思います。RBDはこれまでも何度か紹介していますが、今回は、近年のHoudiniで進化を遂げている、SOP内で完結するようなフローを用いてみます。SOPで完結すると言うのは、アーティストにとっては嬉しい限りで、ネットワークを右往左往する必要がないだけで、生産性が向上します。新たなフローで、簡易的、直感的な操作でコントロールするためのしくみを検証していきましょう。

    今回のHoudiniプロジェクトデータはこちら

    01 Source GEO

    崩壊のベースジオメトリを作成します。

    ベースになるジオメトリ【A】【1】を読み込み、VDB from Polygons SOP【B】でVolumeに変換します。その際、Volumeが見えにくいときは、Volume Visualization SOP【C】でDensity Scaleを上げると作業しやすいです【2】。また、VDBに変換した際には、VDB from Polygons SOPのFill Interiorにチェックをして、内部を充満させています。

    部分的にPointをコントロールしたいので、Sphere SOPを使いエリアを作成していきます【3】。同じくVDB from Polygons SOPでFogに変換し【D】、VDB Combine SOP【E】のMultiplyでFogを乗算して部分的なVolumeにします。


    Volumeは、Volume VOP【F】を使ってNoiseでDensityをコントロールして濃淡を作ります【4】。これにScatter SOP【G】を使ってPointを配置します【5】。これらは、それぞれで使用できるように、Group SOP【H】を使ってGroupを作成しておきます。

    今回、Fracture用のジオメトリを作成するために使用するのが、RBD Material Fracture SOP【I】です。このノードは、素材を指定してその素材の特徴をもったFractureのジオメトリを簡単に作成できる上、Constraintの設定やProxyの作成も同時に行うことができます。そのため、今回のようにSOP内で完結させる上でも、非常に重宝するHDAのひとつです。ただし、どうしても汎用性のあるデータを作成するために挙動が重いのと、内部的な仕様を理解していないと、深く突っ込んだセッティングが難しいのが難点ではあります。それを理解した上で使用するのが望ましいでしょう。

    今回は、コンクリートの特性を活かして、Fractureを作成しています。また、Cell Pointは内部生成ではなく、先ほどVolumeベースで作成したものを使用しています【6】


    その他にも、Edge DetailやChippingなどの設定もしており、多少のディテールをアップもこのノードで行なっています。しくみ上、どうしても数のコントロールが難しくなることと、非常にクッキングが重くなるので、それも込みで、自身のマシンパワーなども想定してセッティングしてください。

    Fractureのクッキングが完了したら、RBD I/O【J】を使って、ジオメトリ、Constraint、Proxyのそれぞれをキャッシュしておきます。これにより、クッキングが重いものでも、ある程度無駄のない作業が行えます。

    また、RBD Exploded View SOP【K】を使って、どのように内部が分割されているか確認しながら調整することも大事です【7】


    02 Simulation Flow

    シミュレーションのセッティングを解説します。

    今回のシミュレーションは、ガイドを使った制御を行いたいと思います。これは、SOP内でガイドジオメトリを作成し、その動きをRBDのシミュレーションへ移行すると言うもので、非常にマニュアルで、直感的な操作が可能です。

    まず、ジオメトリからBounding Box SOP【A】を使ってグリッド状のケージを作成します。これに対して、Bend SOP【B】を使って変形のアニメーションを加えていきます。これは、その他のDeformの方法でも問題なく、ガイドが変形していれば、それに伴った動きを作り出すことが可能です。

    今回のシミュレーションは、SOPのみで完結するために、Bullet Solver SOP【C】を使用してシミュレーションのセッティングを行います。Bullet Solver SOPは、内部的にはDOPのセッティングがなされていますが、通常通りにセットアップするベースはもちろん、ConstraintやProxyのセットアップも同時に行なってくれるだけでなく、Collisionなども簡単にセッティングすることが可能です。また、今回のようなガイドを使った制御用の設定もあらかじめ準備されているので、ある程度のものに対応できるような汎用性のあるHDAになります。

    ただ、これもあくまでも上等なサンプルとして認識する程度が望ましく、やはりプロダクションレベルであれば、無駄のない、カスタマイズ可能なフルスクラッチが理想です。今回は、基本的な扱いとして、可能性を考える検証の位置づけとして紹介しています。もちろん、非常に高性能なHDAにはなりますので、参考になることは間違いなく、簡易的なものに使用するのであれば十分かもしれません。

    5番目のインプットにガイドを入力し、Guided SimulationのUse Guides【1】をアクティブにすれば、簡単にガイドに沿った動きをしてくれます。あとは、シチュエーションに合ったStrength【2】や距離による影響力【3】などの調整などを加えて完了です【4】

    Visualizeで様々な状況を確認することができます。ガイドがどのようにキャプチャされているか【5】、ジオメトリのRepresentationがどのようになっている【6】か、また、ガイドがアクティブになっているピースを目視するための設定【7】があります。


    シミュレーションのセッティングが完了したら、RBD I/O【D】でキャッシュを取ります。

    今回は、シミュレーション後に動きをRetime SOP【E】で可変にしています。また、Normalの調整をRetimeの後にして、改めてキャッシュを取り完成です【F】

    次ページ:
    03 Operators

    [[SplitPage]]

    03 Operators

    主要ノードを解説します。

    ●RBD Bullet Solver

    RBD Bullet SolverはSOPで完結できるRBDシミュレーションを一手に担うノードです。今後は、こういったSOP内でデザイナーが簡単にアプローチできる汎用ノードが主流になっていくと考えられます。Vellum登場のときからこういった大きなながれができ、Pyro、Bulletと続いています。

    とはいえ、本文にも書きましたが、やはりあくまでも汎用性のあるノードは、それなりに使用しない部分もまとめられており、煩雑になっていることが多いです。そのため、カスタマイズしたくても、内部構造を理解するためにはある程度時間が必要なことと、複雑に組み上げられているものを分解する面倒さは避けられないでしょう。

    今回提唱するのは、あくまでも参考の高性能HDAと位置づけて、自分でフルスクラッチできるような基本的な知識を得るためのものと割り切ろうと言うものです。もちろん、便利なノードには違いないので、簡単なシチュエーションや、簡易的なもので問題ない場合には利用しない手はないと思います。ただ、より深い制御が必要な場合は、やはり自分自身で組み上げたものの理解度とはまるで違います。

    便利さに慣れると、次第に知識や想像力の欠落を招くことは、人間の歴史を見れば明らかです。便利なものは利用したいのが世の常ですが、Houdiniユーザーたるもの、バランスを損なうことのないように気をつけたいものです。


    • 「Houdini COOKBOOK +ACADEMY」
      Houdiniを基礎から楽しく学ぶオンライン講座

      公開日程:毎週金曜日公開(予定)
      価格:1,300円(税込)※セットでの割引販売有
      ※第一回「Houdiniの基本概念とインターフェイス」は無料公開中
      受講対象:Houdiniをこれから学びたい方、Houdiniの勉強で挫折した方など
      cgworld.jp/special/houdinicookbookacademy