[go: nahoru, domu]

Skip to content

Various snippets to interact between fire simulation results and VTK/blender/Unreal

Notifications You must be signed in to change notification settings

ISCDdocs/FDS-to-unreal

Repository files navigation

Les fonctionnalités pour FDS -> vtk -> blender sont reprises dans l'addon blender de l'organisation ISCDdocs, hormis la transformation d'un .mesh vers un champ de vecteurs dans Unreal!!! Dépot gardé pour "référence" donc

FDS2VTK

Exporter les résultats de simulation de FDS vers d'autres formats, pour aboutir finalement à des visualisations "réalistes" du feu dans des moteurs de rendu ou de jeu.

Contexte

Les résultats de simulation (sorties de FDS) sont visualisables via SmokeView, mais difficilement exportables vers d'autres formats. Il existe toutefois un utilitaire écrit en FORTRAN, fds2ascii, permettant de faire certaines conversions.

-> Analyser les fichiers de sortie de FDS pour extraire des données en grille structurée (voxels en x, y et z) de la concentration de suie dans l'air (SOOT) et de la flamme (Heat Release Per Volume).

Une fois ces données extraites, trouver un moyen pour convertir les infos vers un moteur de jeu pour ajouter des systèmes de particule simulant le feu, exemple ici Prendre par exemple au maximum de distance de l'isosurface de temperature une image assez grande de flamme, alors que plus proche de l'isosurface les flammes seront plus petites, ou au moins plus transparentes?

CF:

Fichiers

1 - fds2ascii

python fds2ascii.py --input /input/dir/path/ -o /output/dir/path/ --start startIndex --end endIndex --run

--input correspond au dossier dans lequel se trouvent les résultats de la simulation (avec un seul fichier .smv dans ce dernier), et --output correspond au dossier de sortie dans lequel seront écrits les fichiers .vtk (dossier à créer au préalable).

--run permet de faire tourner le script (peut durer plusieurs minutes). Si non renseigné, le script donne des infos sur les fichiers mais ne se lance pas.

startIndex et endIndex sont les numéros des frames de début et de fin d'export pour l'animation.

Les fichiers de sortie sont visualisables avec Paraview sous forme d'animation. Avant l'écriture des fichiers .vtk, la donnée est stockée dans des tableaux 1D, et peut être réexploitée, convertie en .mesh, isosurfacée... etc.

screenshot

2 - meshToFGA (Infos

python meshToFGA.py /path/to/the/.mesh

Le fichier .mesh doit être associé à un fichier .sol, contenant en chaque noeud du modèle tétrahédrique un vecteur 3D de vitesse.

Le fichier .fga créé peut ensuite être réimporté dans unreal engine pour influencer un système de particules en tant que champ de vecteur global, par exemple (théatre d'orange):

example

3 - readbobj

Adapter ce code pour lire puis réécrire les fichiers de cache de blender, et y charger une simulation de fluide "custom", comme celle de FDS.

Edit: Le code fonctionne -> possible d'overwriter les caches d'un baking de blender avec des mailages persos en supprimant les anciens .bobj.gz, et en incoporant les resultats de la simulation.

Une video est disponible (pour l'instant) ici

example

About

Various snippets to interact between fire simulation results and VTK/blender/Unreal

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages