Smoke-Simulation — 2Dグリッド流体による煙エフェクト

Other

概要

A simple 2D smoke effect using a grid-based fluid simulation. Project created in Unity 2022.3

GitHub

このリポジトリは、Unity(2022.3)で作成されたシンプルな2D煙エフェクトのサンプルプロジェクトです。格子(グリッド)ベースの流体シミュレーションにより、煙の密度場と速度場を数値的に更新して可視化します。教育目的のデモとして設計されており、基本的なアルゴリズムやパラメータを読み替えながらリアルタイムで挙動を観察できます。動画デモも公開されており、実際の見た目を確認しながら学べます。

リポジトリの統計情報

  • スター数: 14
  • フォーク数: 1
  • ウォッチャー数: 14
  • コミット数: 4
  • ファイル数: 6
  • メインの言語: C#

主な特徴

  • グリッドベースの2D流体シミュレーションによる煙表現
  • Unity 2022.3 プロジェクトとして即実行可能
  • 軽量かつ学習向けの実装(C#スクリプト中心)
  • デモ動画で挙動確認可能(READMEにリンクあり)

技術的なポイント

このプロジェクトは「格子(セル)上に離散化された速度場とスカラー(密度)場」を時間発展させる典型的なグリッドベース流体シミュレーションの考え方に基づくと考えられます。一般的に含まれる処理は以下のような流れです:外力の追加(吸気やバイアス)、速度場のアドベクション(移流)による運搬、拡散項の近似、非圧縮性を保つための圧力投影(Poisson方程式の反復解法)、および密度(煙)のアドベクションです。小スケールの渦を強調するために「vorticity confinement」を導入する実装も学習用デモではよく使われます。本リポジトリはC#とUnityのAPIを使ってCPU側で格子配列を更新し、結果をテクスチャやスプライトに書き出して可視化する、比較的単純で理解しやすい構成になっている可能性が高いです。解像度と計算コストのトレードオフ、タイムステップ安定性(CFL条件)、反復解法の収束(ジャコビ反復など)といった数値的課題も学べます。Unity 2022.3プロジェクトなので、URP/HDRPの設定に依存しない基本的なレンダリング手法で動作し、実時間デモとしてのチューニングやインスペクタでのパラメータ調整が容易です。

プロジェクトの構成

主要なファイルとディレクトリ:

  • .gitattributes: file
  • .gitignore: file
  • Assets: dir
  • Packages: dir
  • ProjectSettings: dir

…他 1 ファイル

まとめ

学習向けのシンプルなUnityベース2D煙シミュレーション。入門やデモに最適。

リポジトリ情報:

READMEの抜粋: A simple 2D smoke effect using a grid-based fluid simulation.
Project created in Unity 2022.3

Video here: https://youtu.be/Q78wvrQ9xsU