JangaFX LiquiGen リアルタイムで水のエフェクトをつくる

ポメロ越田くんから水の処理に関してご相談いただき、以前からお互いに注目していた
JangaFX LiquiGenでも使ってみっかっていう流れになりました。
当然、明日、明後日、、、遅くとも今週中にアガリをくれという作業ではなく
急ぎでもないのでR&D絡めてニューツールの可能性をはかるためにイッチョやってみよーという取り組みです。

個人的にも以前使ったEmberGenのリアルタイムの威力が凄まじかったため、
そのうち使ってみたいとは思っていました。
そして、ライセンスを取るなら少々高くてもLiquiGenを含むSuiteだなとも。
結局BlackFridayセールでは見送ったので購入はしていませんが。

さて、このLiquiGen、現在アルファ版の状態で無償・制限なしで使えるのはTrialの2週間のみのようです。

水をLiquiGen、それを貯めているレンガの池をC4D、草庭含め奥を画像生成AIのFireflyでそれぞれ作成
ポメロの案件を前提としているのでアニメ美術調のルックコンセプトでコンポジット

 

JangaFX LiquiGen 0.3.2-alpha

ベータ版にもなってないクセにまずまずの金額をとろうってのは生意気だなと思いつつも、
使ってみると納得のクオリティ
アニメ撮影のお仕事を中心としていた時からそれなりに水系のエフェクトにはチャレンジしてきました
(主に撮影でやれていたのはコースティックなど標準エフェクトとPsunamiなどでの水面処理や、
Particularで飛沫やマリンスノーを加える程度にはなりますが)、
3Dでのご依頼をお請けするようになってからはHOT4DやAAOceanなどの水面系デフォーマーをはじめ、
さらには、よりリアルなうごめきのためX-Particlesで長時間のシムを重ねたこともありました。
しかしその甲斐もなく、コンポでこねくり回してなんとか形にしてきたというかんじで
リアルな水の難しさに苦しみ妥協した経験もあり、その表現には一過言あります。

が、一方で、個人的に愛用していたAfterEffectsの今は亡き水面描画プラグイン
Psunamiも重いことで有名でしたし、水系はとにかく重い印象で
かつ何をどうしたら軽くなるといったことの想像もできないほどつかみどころのない感じも持っていました。

それがLiquiGenに関してはほぼリアルタイムです。C4DやBlenderのビューポートプレビューでたとえるなら
ストレスなくアニメーションとして連続した動作がわかるレベルで自分の感覚からすると尋常ではない速さです。
つかみどころがなかった作業にイノベーションが起きそうだと期待しています。

作業環境

本題の前に使用している機材に関しての説明です。
普段のメインはMac mini(M1)ですが、このテストに使用しているのは当然WindowsのPCでして
C4DのCPUレンダー比だとMac miniの倍ぐらい時間がかかるような自作デスクトップPCです。
※しかし10年前のモノというほど古くはなく、2018年当時はまずまず早いマシンではありました。

GPUに関しては3年ほど前のRTX-4060Tiですからそれなりには早いと思いますし
メモリは128GBなのでそのあたりは必要十分なスペックだろうとおもっています。
プレビュー中にタスクマネージャーで確認するとGPU使用率は100%で頭をうっています。
フル使い切っている状態です。

ワークフロー備忘録

さて、本題ですが備忘録も兼ねてテストした際のWorkFlowをのこします。
今回DCCツールはC4Dにしました。手持ちのR23永続ライセンスです。
というのも、LiquiGenを使うということに集中したかったので
包括的に使用法がわかるC4Dを使用することで多少ストレス軽減になるとおもいますし
LiquiGenで発生するトラブルシューティングに当てられると考えたからです。
Blenderだとそもそもわからないことを調べつつって感じになり
どっちつかずのプラクティスになりかねないと予想しての環境選定です。

 

ざっくりWorkFlow

  1. DCCツールでメインシーンを作成。

    ※用意するモノ
    水を貯めるCollider用コンテナ
    初期の水Emitter用コンテナ
    吐水Emitter用オブジェクト

    今回はすべて1ファイルのFBXとしてC4Dから出力。

  2. LiquiGenの[import]ノードでインポート
  3. その他マストの[simulation],[emitter],[scene]などの各ノードをベースに
    シーンを構築に着手(基本的な部分はEmberGenと一緒)
  4. [collider],[drain]などのノードも使用しつつsimをかけ調整。水シーン完成。
  5. abcのキャッシュデータで出力
  6. DCCツールでメインシーンにabcをインポートし、マテリアル、ライティングなどのレンダリング工程、
    AEでコンポ作業をし完成

カメラデータ

1で出力するデータにカメラが含まれていないことにお気づきかも知れませんが気にしなくても大丈夫です。
5の段階でabcで出力していることからもお分かりかもですが、現段階ではカメラの受け渡しはできません。
キャッシュはクソ重たいので、できれば欲しい画角でレンダリング済み画像として
コンポ渡しもできるようになって欲しいですが アルファ版の現状はでは不可能となっています。
※カメラの受け渡しはできませんが、LiquiGenで画像のレンダリングはできます。

Simulationノードメモ

今回は水の流れが主ではなく水が噴出するような細かい水の方を表現したかったのでvoxelサイズを小さくしており
シムの途中で黄色い文字でビューポート上にアラートがでて停止してしまうことが度々ありました。
※ちゃんと覚えていませんが、このシーンではparticleが上限打ってっぞみたいな内容だったと思います。

ということで、その場合は[Simulation]ノードのResourcesからvoxelやparticlesの上限を増やす必要があります。
そうすると、当然シーンは重くなるのでこの辺りの調整を行ったり来たりということになりそうです。
ただ今回は先述の通りビューポート上で普通にアニメーションがわかるレベルでおさまっていました。

importとEmitterノード

見た目はまんまEmberGenと同じです。
C4Dから出力したFBXは1ファイルですが、位置調整などが発生する可能性を考えて
[import]ノードはフィル、射出エミッターに分けて配置しています。
EmberGenの時に何故かピッタリ合わない、なんか違和感があるといった事象が
度々発生したことがあったのでその対応策という感じです。

abcキャッシュ

ちなみに初期シム後のプリロール分として240フレームオフセット(※ 10sec/24f)し、
480フレーム分をテスト出力してみましたが

メッシュ:データ容量 13 GB(0.5時間)
ポイント:データ容量 490 GB(2時間)

となりました。本当はポイントデータベースでC4Dのボリュームビルダーを使ってみたかったんですが
データの移動や、テストでも作業をやり始めてしまうと貧乏性がうずいて勿体ない気持ちになったりするので
2時間頑張ってPCが出力してくれましたが問答無用で即座に削除しました。
時間に関しては、単純にデータ量が多いためHDDだと書き出す時間がかかったということだと思います。

drain、Whitewater(白波)などのノード

特徴的なノードも用意されています。
[drain]ノードで水を抜くことができます。
常時、水を追加するようなシーンだと当然溢れ出したり水位が変わったりするので、
排水してあげる必要があるようです。
これまでジャバジャバと水を出し続けるようなシーンが作れるなんて考えたことも
ありませんでしたがなるほど!といった感じです。

[Whitewater]ノードは名前から想像つくと思いますが、波頭などに立つ泡状の白波などを出力します。
真水だと成分的なことなのかあまり泡立たないと思うのでほとんど必要ありませんが
海水を表現したい時にはつけたい場合も多いですよね。
ちなみにWhiteWaterのみをポイント(パーティクル)としてabc出力することもできるのでなかなか便利です。

ツールとしての展望 / 生成AIが最先端?

LiquidGenに関してはこれこそ発展したツールだという感触があります。

ここで未来のツールという感じで盛り上がっている生成AIに関して少し個人的な感想を書きます。
生成AIはPython、JSなどのコードを書く際のアシスタントや、
映像用のコンセプトイメージの生成、少々バレてしまうBGの描き足しなど(このテストでも使用)に
個人的にも使用して便利さを享受しており絶対使わないといった否定的な印象は持っていません。

しかし、普通は痒くならないところが痒くなったときには、
何度やっても手が届かないという感じも実感としてあります。

みんながかゆくなってwebにかき方を説明しているようなところだけを
めちゃくちゃスマートに無駄なく出力することができるという現状のAIの性質
新しいモノを創造しようという場合には、孫の手としても猫の手としてもかなりまたは全く足りません。

これができるから使わないやつってバカ?と言っているような国内ITの先駆者で年末サンタなご意見番や
それ何に使うの?という仏像を大量に生成して、これってすごいと思わない
と言っているどこぞの国立大若手教授や
過去の素晴らしい音楽の搾りかすで音楽を生成しアーティストぶっているパロディアンな通りすがりの天才達が
両手をあげて生成AI礼賛していることには疑問も持っています。
たとえ、使うことを過激に推奨する煽り文句だとしても、それはそれでクソバブリーで鼻白んでしまいます。
個人的な感想としては、そもそも期待してはいませんが、、、
新しい表現をしたいという場合には大体的外れな結果で望むような役目を果たしません。

初期のCGアートとしてTV中心にメディアに多く掲出されていたナントカアートみたいな芸能人のモノ
変わらない気がしています。

または、ありもしない可能性を見抜けずに意味不明の新ビジネスが爆出してはすぐに淘汰されていった
ドットコムバブルのような印象ももっています。

生成AIの現状の使い方としては、たとえばコードを書いてる時に
自分の意に沿うよう踏んでほしいチェックポイント(たとえば使ってほしいライブラリなど)付きのプロンプトを
渡し
コードを完成してもらうことで、自主学習に役立てたり、
映像制作では、とりあえず雰囲気でおきたい絵や音楽を生成してもらったりといった
コンセプト制作には
とても役に立つ・有益だとはおもっています。

話はLiquiGenにもどって
今までにもハヤイはエライだと思ってきましたが、EmberGenと合わせてすばらしいです。
※アニメの制作さんには早い=簡単と決めつけて、見積りをする方がいますが少し意識を変えて頂きたいです。
と同時にご自分で早くできるならば、値切ってまで外部に発注せずご自分でやることを強くお勧めします。

また、展望としてはUIからの想定ですが、LiquiGenが正式版になって以降に
別々のアプリのSuiteというよりも、一つのアプリとして統合されるんじゃないかという気もします。
FXGenみたいな感じでしょうか。
その方が幅も広がるでしょうし、ただの希望ということでもないのではないかと思っています。

個人的に以前には予定されていたMac版が消えてしまったことを残念におもっていますが
Windows版でも、それなりに予算をいただける仕事の場合にはを導入したいツールの一つです。

※以下はこれまでにAE、C4D,UEなどでPatecが作った水系流体テスト動画。



コメントを書く