Unity のパーティクルシミュレーションシステムで S4 Simulation System の Logo動画を作ってみた

  • HOME
  • Unity のパーティクルシミュレーションシステムで S4 Simulation System の Logo動画を作ってみた

Unity を使ったパーティクルシミュレーション

汎用シミュレーションソフト S4 Simulation System のロゴ動画を作ってみました。

S4 Simulation Sytem に関してはこちら

S4 Simulation System の開発チームでは、最近、Unity の Visual Effect Graph に興味を持っています。Visual Effect Graph はパーティクルシミュレーションを行うシステムですが、演算を全て GPU 上で行いますので、大量のパーティクルを利用してもスケールするのが特徴です。

具体的な手順としては、まず、平面上の S4 ロゴを 3D モデル化し、その Signed Distance Field(SDF)を作成します。パーティクルの動きの計算を効率化するため、メッシュ上の点からロゴへの符号付き距離と勾配を予め計算してベイクしておきます。

その上で大量のパーティクル(600万以上)を生成して、それぞれを SDF の力場に従いながら動かします。しかし、それだけでは直線的な動きでつまらない為、Perlin Curl Noise によって乱流を加える事で、うねりを発生しています。また、各パーティクルの起点自体もうねらせ、さらにパーリンノイズの周波数や振幅も時系列変化させる事で、動きを与えています。

ロゴタイプの方も20万点のパーティクルで表現しています。こちらは、Point Cache と呼ばれる技法を使っています。これは、モデル内のサンプリング点と、その法線をあらかじめベイクしておきます。その情報を基に、各パーティクルの位置、色、透明度などをプログラムした通りに動かす事で、このようなエフェクトが書けます。ただ、このぐらいなら、shader でやった方が良いかもしれません。

なお、基盤としては、最新の Unity 2019.3 で標準化された HDRP(High Definition Render Pipeline)を使っており、色の表現に HDR(High Dynamic Range)を使えます。そのため、ブルーム効果(光があふれ出すような表現)も簡単に出来ます。最後のロゴタイプの強調表現で、ブルーム効果を使っています。

音声トラックは、フリーの効果音と手持ちのシンセサイザーで作成しました。カメラワークは Cinemachine を利用し、背景画像は、フリーの 6 sided テクスチャから cubemap を作成しています。

今回利用したフリーのツールの紹介です。

  • CGI制作: Unity 2019.3
  • 3Dモデル制作: Blender 2.8
  • 画像制作: GIMP 2.10
  • 音楽制作: Cakewalk by bandlab 2020.05
  • 動画制作: Davinci Resolve 16

ご相談お待ちしております

シミュレーション結果をアピールするためには、可視化が非常に需要です。Unity を使ったパーティクルシミュレーションの可視化では、大量のパーティクルを流せるため、迫力のある可視化が実現できます。
各パーティクルの動きが単純な場合、パーティクルシミュレーションは効果的に可視化できます。例えば、ある力場に従ってパーティクルが動き回るような流体的なシミュレーションの可視化、経路上をパーティクルが動き回るような例、例えば、世界上を飛び回るネットワークパケットの可視化などには、向いているのではないでしょうか。
人流シミュレーションの可視化はもちろん、大量のパーティクルを利用した可視化、GIS と連携した可視化など、是非ご相談下さい。

監修:株式会社NTTデータ数理システム 機械学習、統計解析、数理計画、シミュレーションなどの数理科学を 背景とした技術を活用し、業種・テーマを問わず幅広く仕事をしています。
http://www.msi.co.jp NTTデータ数理システムができること
「数理科学の基礎知識」e-book無料ダウンロードはこちら

関連記事