>   >  ACADEMIC meets INDUSTRY:No.007:慶應義塾大学 理工学部 藤代研究室
No.007:慶應義塾大学 理工学部 藤代研究室

No.007:慶應義塾大学 理工学部 藤代研究室

RESEARCH 2:粒子ベース流体モデリングの高度化

・研究目的

実世界モデリングプロジェクトでは、複雑な構造や挙動を示す実世界の物象を選び、それを効率的かつ効果的にビジュアルシミュレーションする手法を模索してきました。なかでも流体は、映像やゲーム制作の現場に欠かすことのできない普遍的な対象として、研究室創設以来継続的に採り上げてきた題材のひとつです。基礎となる粒子ベース近似スキームは、火炎や砂塵、雪、血液、塗料などの具体的な対象ごとに柔軟に選択してきましたが、ここでは物理的妥当性と計算しやすさがバランスしたSPH(Smoothed Particle Hydrodynamics)法に限定して、その代表的な高度化の成果をお見せします。


・高速化と安定化

プリビズでの利用を考えるとき、流体シミュレーションの高速化は必須の達成項目のひとつです。まず、ろうそくやバーナーのような、日常的に目にすることの多い、安定的に形成される比較的小規模な火炎の再現に主眼を置いたリアルタイムSPHソルバを実現しました[1]。ここでは、支配方程式であるナビエ・ストークス方程式の外力として、シンプルな化学反応モデルから発生した熱による浮力項を加えているのが特徴です。すなわち、提案ソルバは既存のSPHコードとも十分な互換性を保持しているため、より多元的な物理シミュレーションを一元的に管理することができるようになります。また、火炎の周辺に粒子が集中するように効果的にリサンプリングすることで計算コストを大幅に抑えています。

粘性流体を数値的に安定してシミュレーションするために、陽解法による粘性積分を用いると時間幅が厳しく制限され、極端に長い計算時間が必要となってしまいます。そのような制限を打開するため、ポジションベース拘束を用いた粘性流体SPHシミュレーション法を提案しました[2]。この拘束を管理することによって、物質の弾性変形が生成できるだけでなく、物質の相転移が熱伝導により生じる物性の変化も取り扱うことができるようになりました[2]。

▲熱した粘性流を傾いた冷板に流すシミュレーションの連続体ビュー。【下段】は粒子ビュー。各粒子の色は温度を表しています。重力に従って坂を下るほど板の表面で冷やされて粘性が上昇し、流れが淀んでいく様子がわかります


さらに、陰解法による粘性積分により、粘性流特有のバックリングやコイリングといった現象を安定的に再現することにも成功しています[3]。

▲【左】陰解法によるSPHスキームによる粘性流特有のバックリング現象の再現。右上は、対応する粒子ビュー/【右】同じくコイリング現象の再現


・物理的忠実性の再現

上記の拘束は、体積保存性を考慮した粘弾性体のビジュアルシミュレーションの実現[4]にも役立ちました。

▲粘弾性体の初期状態【左】から水平板を垂直に下ろしたとき、シェイプマッチングとの組合せによる従来法の結果【中】と異なり、提案手法によるシミュレーション【右】では水平方向に潰れて延びることで、体積保存性を実現している様子がわかります


一方、ウォータークラウン現象や、平板に打ちまかれる塗料、水溜まりに落ちる雨のような日常的なシーンで、跳ね返った飛沫が織り成す複雑なテクスチャを再現することは、液体だけをモデリングの対象とする従来のSPH法では不可能でした。ところが、比較的近年の物理実験により、目に見えない空気層の存在がこの副次的な飛沫生成に大きな役割を果たしていることがわかったのです。そこで、空気分子からの圧力も考慮に加えたSPH近似を考案し、これらの現象をシンプルに再現することに成功しました[5]。 

▲空気層の存在を考慮したSPH近似によって表現した、打ちまかれた塗料がつくり出すパターン。平板に衝突した後、周囲にフィンガー状に延びていく副次飛沫まで再現しています


・監督可能性

プリビズでの利用時に必要となるもうひとつの重要な性質は、監督可能性(directability)です。粒子ベース流体シミュレーションの実行に必要な多数の制御パラメータ値を適正化する作業は膨大な手間を要します。極論すれば、コードの開発者しかパラメータを調整できない可能性すらあるのです。

これを解決するアプローチとして、まず対象の対話的制御を目的とした仮想粒子の導入が挙げられます。例えば、戦闘シーンで頻出する流血のビジュアルシミュレーション[6]においては、出血量や血圧の変化を考慮したin-vivo粒子や、傷口から外界に流出して、皮膚に吸着して伝い、筋状の血痕を構成するflow粒子、凝固した血液成分を表現するadhered粒子に加えて、物理法則を無視してもディレクターがほしい位置に血痕を誘引する働きをするguiding粒子を設けて、監督可能性を緩やかに実現しています。

▲3箇所の傷口からの流血シミュレーション。特にタトゥーを跨がないような血痕パターンに誘う緑色のguiding粒子をストローク指定しています



  • ▲Leap Motionを利用し、複数のハンドジェスチャーのコマンドを対話的に発行し、流体の動きを直接制御できます
  • また、流体シミュレーションおよび流体制御に用いるパラメータ調整を、特定のモーションデータに対応させた直接操作によって直感的に行う試みも進めています[7]。そこではLeap Motionを使い、両手のモーションデータを取得後、特定のモーションデータをジェスチャーとして識別し、3次元空間内でジェスチャーに応じた流体シミュレーションを実行します。


これにより、数値流体力学の詳細な知識を必要とせず、3次元流体の形状を意のままに制御することが可能となりました。これはResearch 1で紹介したSAMの原理の応用にほかなりません。


・参考文献

[1]間淵聡, 藤代一成, 大野義夫: 「SPHベースリアルタイム火炎シミュレーション」, 情報処理学会論文誌, 52巻10号2965-2972頁, 2011年10月
[2]Tetsuya Takahashi, Tomoyuki Nishita, Issei Fujishiro: "Fast simulation of viscous fluids with elasticity and thermal conductivity using position-based dynamics", Computers & Graphics, Vol. 43, pp. 21-30, July 2014[DOI: 10.1016/j.cag.2014.06.002]
[3]Tetsuya Takahashi, Yoshinori Dobashi, Issei Fujishiro, Tomoyuki Nishita, Ming C. Lin: "Implicit formulation for SPH-based viscous fluids", Computer Graphics Forum (Proceedings of Eurographics 2015), Vol. 34, No. 2, pp. 493-502, May 2015[DOI: 10.1111/cgf.12578]
[4]Tetsuya Takahashi, Yoshinori Dobashi, Issei Fujishiro, Tomoyuki Nishita: "Volume preserving viscoelastic fluids with large deformations using position-based velocity corrections", The Visual Computer, Vol. 32, No. 1, pp. 57-66, January 2016[DOI: 10.1007/s00371-014-1055-x]
[5]Kazuhide Ueda, Issei Fujishiro: "Splashing liquids with ambient gas pressure", in Proceedings of ACM SIGGRAPH Asia 2014 Technical Briefs, Article No. 6, Shenzhen, December 2014[DOI: 10.1145/2669024.2669036]
[6]Kazuhide Ueda, Issei Fujishiro: "Adsorptive SPH for directable bleeding simulation", in Proceedings of ACM VRCAI 2015, pp. 9-16, Kobe, October 2015[DOI: 10.1145/2817675.2817684]
[7]早川雄登, 藤代一成: 「直接操作による3D流体シミュレーションの制御」, 情報処理学会CGVI研究会研究報告, 2017-CG-168-24, 2017年11月



info.

  • 月刊CGWORLD + digital video vol.247(2019年3月号)
    第1特集:『ReVdol!』(リブドル!)
    第2特集:3Dエフェクト最新事情

    定価:1,540円(税込)
    判型:A4ワイド
    総ページ数:144
    発売日:2019年2月9日
    cgworld.jp/magazine/cgw247.html

その他の連載