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 と連携した可視化など、是非ご相談下さい。