スクリーンショット_2019-01-28_13

Real Flow

ちょうど去年の今頃、2018年の1月の終わり頃に、3DCGソフトウエアの調査を始めたのでした。3DCGのプログラムを自分で書くことばかり考えていて、理論を考案したりしていましたが、市販の3DCGソフトウエアが安く出回っているらしい、ということを、その頃に知ったのでした。ネットで検索して、Maya、3DSMax、CINEMA4D、LightWave3Dなどのソフトウエアがあることを知りました。そして、調べてゆくうちに、Real Flowを発見したのでした。

トップ絵は、Real Flowを出しているNEXY LIMIT社のホームページの映像のスクリーンショットです。水の表現が、とにかく美しい。これがほしい、と思いましたが、当然のことながら、お財布の中身が足りませんでした。トップ絵は、花の中で弾ける美しい水ですが、大きなシーンも描くことができるでしょう。

Houdiniも、優れた水の表現ができますが、実際に使ってみると、いろいろと難しいところがあります。HoudiniのDOPネットワークは、初心者の僕には難解で、どのノードを使えばよいのかがわからなかったり、使えるノードを苦労して発見しても、使い方は試行錯誤をして手探りしなければいけません。

Real Flowの美しい水の表現は、しかし、多くのマシンパワーを消費するだろう、ということに、後になって気づきました。次の動画は、Houdiniのミルククラウンですが、ちょっと忘れましたが、レンダリング時間は相当長かったと思います。

なんだかんだで、MODOを買いました。時に2018年4月1日。そして、買ったすぐに、MODOで水の表現を作ってみました。静かな水面に波紋が広がる、というものでした。次の動画です。

これは、ダイナミクスは使っていなくて、ただ単に波の形をradial sweepして半径を大きくしているだけです。しかし、たったそれだけのモデルなのに、ものすごく苦労しました。苦労した理由は、モデリングの方法に問題があったからでした。メッシュの数が増えすぎることや、波紋の中心部分のメッシュが細かくなりすぎること、MODOのRadial Sweepはややバグ的な動作が含まれていること、Booleanを使うので、メッシュが乱れる、などの欠点がありました。

いまは、Houdiniを使って、VEXpressionで波紋を表現しています。ダイナミクスは使っていないので、当然、Real Flowのような水の表現はできませんが、反面、数学的な表現ができるようになっています。

Houdiniの水のダイナミクスの表現手法のひとつに、Flipを使う方法があります。Flipは、ParticleとVolumeを組み合わせた表現手法です。一つのVolumeの中に複数個のParticleが含まれるようなモデルを使います。そのモデルのことをVoxelと呼びます。Voxelの中のParticleの挙動は、SDF(Signed Distance Field)というフィールドが規律します。とは、リファレンスに書かれていることを文章的に整理しただけで、僕は、実際に、SDFを使って数学的にVoxelをコントロールした経験はありません。

次の絵は、Flipを作って作った動画です。これも、相当苦労しました。Houdiniは魔法使いですが、魔法の使い方を熟練しなければ、思うような魔法が使えません。顛末はponticleに書いてあります。

Real Flowの美しい水の表現に、少しでも近づいて行きたいと思います。

この記事が気に入ったらサポートをしてみませんか?