are there any realistic fire propagation systems in Unity? I’m talking about a system that procedurally spreads fire taking into account the effects of:
Flammability of certain objects (gasoline, wood, stone,…)
The effect of water (wet wood vs dry wood + water putting out fire)
Wind (changing the direction of the fire)
Destruction of objects by the flames
Doing damage to npcs in the fire
…
Fire propagation is something that really intrigues me.
I know there is or was something like that on the Assetstore, but imho the demos looked rather bad. I’d assume generally you’ll need a very custom and heavily optimized implementation, tailored to work well with the rest of your game, and the work involved will be quite considerable. It will not be a one-time cost either, it will make every other asset you make for the game much more difficult to create if you really want to author your content to be affected by fire in interesting ways. I have some doubts it’s worth it, unless you want to go all-in and make your game primarily about fire, and you also have the resources to make it look and sound amazing. If you go for it and post about it, please tag me. I’d like to take a look. Also check out this shader asset:
I can’t say I’ve seen a system like that before as a stand alone ‘package’ - but there was a gent who was working on a realistic fire fighting game not too long ago around here. Might find it if you dig through wip thread enough.
I remember the game was set in NY city and he had captures some very realistic audio content.
I mention this because I’d think that game would require to have some type of semi-realistic fire propagation system and it could benefit looking into his project, or discuss with the developer.
I looked back a ways in the wip thread and could not find the game. Might have been in another sub-thread.
In terms of the actual propagation of the fire, I think it’s possible to create a system that works out of the box for every scene, don’t know about the performance though. Take a look at this blog post about the fire system in Far Cry 2. You could create a system where every mesh get’s split up into 3D cells, and for every mesh, the tool looks automatically what the name of the material/texture is of that mesh, in order to decide what kind of effect it should have on the fire. For example if the tool finds a mesh that has a texture that contains the string ‘wood’, that mesh will be set to ‘easily flammable’. For the surface you can divide the terrain up in 2D grids, and basically do the same, so the tool automatically decides what the world is made of in terms of flammable objects. Then you could of course let the user fine tune the world, for example with a ‘gasoline brush’, where he can paint areas in the scene that should have highly flammable fluids in them, or a ‘water brush’ etc.
Take a look at this video, it’s in UE4, but the system looks awesome! I talked with the developer, and the system he used was in a lot of ways similar with the system used in Far Cry 2.
Fire propagation is certainly something I’m going to look into in the future.
Might also look at the chemistry engine of the new zelda breath of the wild, there is a gdc video about it, it gneralized beyond fire using a 3 rules system and two concepts (elements and material).