2024年10月
Blenderでの煙生成 成功
有限差分法で移流・拡散・非圧縮条件を解く標準フローを構築。OpenVDB形式で高密度な煙フィールドを出力。
主要方程式: ∂φ/∂t + (u·∇)φ = 0, ∂φ/∂t = D∇²φ, ∇·u = 0
Simulation Track
Blenderによる流体解析からUnityでのリアルタイム描画、nanoVDB最適化までの試行錯誤を整理しました。
有限差分法で移流・拡散・非圧縮条件を解く標準フローを構築。OpenVDB形式で高密度な煙フィールドを出力。
主要方程式: ∂φ/∂t + (u·∇)φ = 0, ∂φ/∂t = D∇²φ, ∇·u = 0
UnityにOpenVDBを直接読み込めず、旧パッケージの互換性もなし。外部VFXパッケージはOpenXR環境で利用不可だった。
逆投影行列と体積分を使ったカスタムシェーダを試作。理論上は実装可能だがQuestクラスでは負荷が高く断念。
vcpkgのOpenVDBモジュールでnanoVDBへ変換できることを確認。NVIDIAのサンプルをもとにUnityへの読み込みを実施。
複数のnanoVDBをフレームアニメーション化し、煙の連続再生に成功。MetaQuest上でも軽量に動作する構成を確認。
密度閾値とボクセル解像度を再設計し、さらなる軽量化と描画クオリティのバランスを図る。
Blender出力からnanoVDBまでのパイプラインを一括で実行できるスクリプトを整備。
煙の濃度変化を授業で説明できるよう、UIオーバーレイと操作手順を簡略化したデモを制作。