Currently I’m in the process of creating dynamic fire that will spread its way across 2D and 3D models and landscapes.
There is still alot to be done, especially in the performance departement. This mainly regards the efficient usage of particles, as GPU is my problem. The method is use for allowing the spread of fire (or any particle effect / game object for that matter) is pretty CPU friendly.
At the bottom you can find a webplayer demo, note though that it is not optimized and may start lagging if you set to much stuff on fire (there’s also still some bad culling which I’m to lazy to fix)
cool …and hot! Glad you made a webplayer demo …i burned everything! Didnt notice any lag, but you should include fps counter to get some feedback about performance. Are you planning to go asset store with this? If not, you should
I did finished the project a long time ago, but lost interest in releasing it.
For those that are interested in building a similar system this is how it works:
Scan over a specific mesh and basically create a voxelized representation of it (you can do this dynamically (when a model gets hit by an object on fire) to save memory).
Store these cells (or blocks) and let each cell maintain a health value (this indicates if it should burn or not). Depending on your way of storing this 3D grid, it should be fairly easy to look up where a specific object was hit with a burning object.
Apply some propagation algorithm to it (looking at neighboring cells).
If you have more questions feel free to send me a message.