Sintel, the Durian Open Movie Project » Blog Archive » Fire progress

    

Fire progress

on October 10th, 2009, by ben

The purpose of this fire method is more of a companion effect in case a particular scene calls for so much fire that the volumetrics / simluation becomes route impractical to use on ‘absolutely‘ every part of the scene. The goal is to use volumetrics and simulation for the bulk of the fire where appropriate.

I was going to call this post ‘Flaming monkey mullets Batman!” seeing as most of my tests were setting the top of a Suzanne head on fire, (eg the first of these two videos ) but never got around to compositing the head back in.

Without further babbling on:

Fire V2 – 5 from Ben Dansie on Vimeo.

Durian Fire from Ben Dansie on Vimeo.

And of course, a .blend file – Durian_Fire_BD_1.blend (476kb) [Alternate Link]

The .blend file contains one sphere with a standard material and one with the fire material on it and 3 modifiers. To transfer the fire effect to your own meshes you need to:

  1. Make a duplicate of the object you want to set on fire.
  2. Copy the material and the three (one subsurf, two displacement) modifiers to that fire mesh.
  3. Create an image (greyscale image texture recommended) that will act as an emitter mask for what is on fire and what isn’t and assign that to the texture called “Fire Mask”
  4. Hit render. πŸ™‚

The idea behind this fire setup is that a previous version of the script included an entire city being burnt by dragon fire. Which sounds cool as a shot, but when you are the effects dude working in full 4k, that is a lot of fire.

Clearly some R&D needed to be done.

I don’t start in Amsterdam until December, but with fire being such a key thing I wanted to have some tricks up my sleeve before I got there. So I took the flames I had been working on before in a previous project and set about making the whole thing more convincing and more flexible to transfer on many different meshes. I’d still like to do more with it, (stuff like this can always be tweaked that little bit further…) but for now I think I’ll give it a rest until I have a set list of what fire effects I need for Durian.

“What about volumetric fire?” you ask…

Very good question. It will be more flexible in what it can do and has the potential to be more realistic. However, if a scene like the ‘town on fire’ one was to be done entirely with volumetric fire – imagine setting up the simulations needed to set the 200 buildings on fire, the trees, wooden carts, etc. In 4K. The sheer logistics of file size for the cache would be a nightmare, let alone the time to set it all up and then let it simulate. The idea is to use volumetrics for ‘hero’ fire like the fire from the dragon’s breath, fire in the foreground and so on. This fire material setup is intended for anything in the midground and background. But being 4k (yes I keep coming back to that) a midground element can still be larger than a full screen PAL render so it needs to look good.

While it is very quick to put the material on and get going, a particle system to set some nice embers flying around and some smoke composited over the top if needed will add a lot to the effect. This is intended as the base of the effect.

Advantages

  • Quick setup time
  • Low file size
  • No simulation / raytracing required at all, so it renders fast
  • Can be applied to any mesh
  • Empties no longer required from previous fire method I was using

Current Limitations

  • Fire ‘peaks’ are stationary and rotate with the object instead of being heavily influenced by the global coordinates. (This is something I’ll need to look at per effect shot. Might be able to get away with this limitation or might be able to fix it in 2.5 by adding a mapping setting or two.)
  • Fire ‘licks’ off the top of the flame probably need some more attention
  • Still not suitable for multi-directional fire like flame throwers or dragon breath. Again, we have volumetrics though so that isn’t so much of an issue.

Finally (long post, I know) there is a Blenderartists.org thread that chronicles the development of this material / effect and that is where I will be posting any further updates and tweaks. (Major stuff I’ll post here too of course.) If you use this material to do something groovy, post a render there – I would love to see it!

Enjoy!

-Ben.

23 Responses to “Fire progress”

  1. DingTo Says:

    Great stuff! Epic! πŸ™‚

  2. Wahooney Says:

    This is a really cool, yet relatively simple effect. I look forward to it’s development πŸ˜€

  3. R2D2 Says:

    Woww ! 3rd !! Nice Fire !!!! I enjoy it already !!!

  4. vykelt Says:

    I love when we’re heading into projects and all sorts of cool new stuff starts coming out. Great time to be a Blenderhead for sure. Awesome fire Ben and good luck with all the 4K fun you’ll be having come December.

  5. Antonio Says:

    Smoke?? Why not volumetric like houdini? 4K is not an excuse. Anyway very nice fire with blender. I liked the first time that I see in vimeo.

  6. Robo3Dguy Says:

    Great flames Ben!

  7. Shiretoko Says:

    @Ben: Can you show us an example of volumetric fire that you will be using the the foreground?

  8. Anon Says:

    It’s cool… But I don’t really want to see a cheat… I think volumetric is important to stay competing with other software…

  9. zeauro Says:

    Point Density Texture should permit volumetrics without simulation.
    Particles’ Cache could be used as proxies for flames.

    But maybe, raytracing with less nodes could not give quick render times of cool effect like that.

    I am impatient to see tests of dragon breath.

  10. NANA Says:

    kelo TRAILERRRR
    POL FAVOL

  11. TT Says:

    BenDansie, Please listen to this:

    “Point Density Texture should permit volumetrics without simulation.
    Particles’ Cache could be used as proxies for flames.”

    QFT… Volumetric fire doesn’t mean that you need to simulate it with the smoke/fire simulator. You can use volumes without simulating anything.

  12. Matt Says:

    Btw, it should be possible (if not now then with minimal coding work) to create a library of various smoke/fire sims, that you can save out as voxel data and then place around as instances in the render.

    It would still probably be a bit slower to render (though not by that much if you’re just using textured emission colour) than this faked method which is coming along pretty well, but just letting you know there are plenty things that can be done to ease strain on volumetric file size/memory usage, etc.

  13. amoose136 Says:

    @Antonio, Can houdini render 200 buildings with volumetric flames in a reasonable time with anything less than a render farm? I’m not sure if Durian has access to Sun’s renderfarm like project peach did.
    @Shiretoko, +1!

    If what zeauro says is true, then I would love to see all the fire in Durian done with volumetrics. Although this is a good technique, I can’t see it passing off as the end solution. What is used for fire here will be what other people using blender will use in the future. I don’t think this method is an easy one for someone new to blender to setup without help from a pre-made blend file and tutorial. For a moving camera, or a camera going through the flame, I don’t think this is a good choice.

    Can we not just reduce simulation and render time by changing the resolution of the simulation based off of the flame’s distance from the camera?

  14. Rabie Says:

    Ben, the purpose of the Durian project is to improve Blender, not improve *your* flame faking techniques. If you aren’t ready to use volumetrics for everything, then it will be useless for Blender. Matt, the developer of volume rendering, said it is possible, and FYI the Blender Foundation is going to buy a very high-end performance render farm this time, so no need to worry. If you use volumetrics, they will only naturally improve because the devs around you will improve them, same as what happened to hair rendering in BBB.

  15. LetterRip Says:

    Ben,

    looks excellent. Your link to the blend appears to not be working though.

    Rabie,

    “Ben, the purpose of the Durian project is to improve Blender, not improve *your* flame faking techniques.”

    The devs have plenty on their respective plates πŸ™‚ Some things will use work arounds some things will use fakes. It might end up possible to use a purely volumetric approach, or it might end up that almost everything needs to be done using procedural texture.

    Also the texture approach has very little bandwidth requirements for getting assets to the renderer, whereas the volumetric approach can be huge. (As is pointed out in the texture thread linked).

    LetterRip

  16. Ben Dansie Says:

    Hi all,

    Thanks for the comments, I appreciate all the feedback. First I think I need to clear up the ‘fake’ vs. volumetric fire thing because my intention is not to have one win out over the other at all!

    http://www.youtube.com/watch?v=WrkXHW3L7Nc – Wrath of the Lich King Trailer from the Mood Board.

    At 1:05 in the clip there is a deceptively simple yet very cool effect. Blizzard tried all sorts of advanced methods for the wiping away of the snow, but in the end they fell back on an old trick of theirs and used an animated displacement map on the snow mesh and added some particles on the edges to make it more convincing.

    The purpose of this fire method is more of a companion effect in case a particular scene calls for so much fire that the volumetrics / simluation becomes route impractical to use on ‘absolutely’ every part of the scene. The goal is to use volumetrics and simulation for the bulk of the fire where appropriate.

    I love using volumetrics although I have only tested it with smoke simulation so far, not simulated fire or fire using the point density texture. Obviously renders and details to come when I get that far. I still have a full time job at the moment that isn’t Durian after all.

    I also completely understand the point of Durian at it’s core is an advanced test scenario and public tech demo for 2.5 and that features need to be pushed. I remind Colin of that every now and again. πŸ™‚ So I very much look forward to pushing anything and everything volumetric where it is appropriate to use it.

    @LetterRip – thanks, that is what I was trying to get across.

  17. ROUBAL Says:

    Ben, very good effect ! I haven’t tried your last blend yet, but if you use meshes, don’t forget what I told you some time ago : applying softbody and a wind blower on the meshes gives more life to the flames. If you remember, I used this method on the wood fire animation I made for Christmas 2008.

    Keep on the good work. I love your flames !

    Best regards,

    Philippe

  18. Ben Dansie Says:

    Cheers Philippe. I hadn’t forgotten, it was the next step I wanted to try. Like I hinted, I don’t see this as ‘finished’ as a method, but I think I’ve played with it enough for the time being so I felt like sharing the progress. Depending on the storyboard and script we may actually be able to do the whole lot with fully simulated volumetric fire anyway, which I hope to play with a lot in the next few weeks before I leave for Amsterdam.

  19. DeathCloud Says:

    Either a softbody sim, or a particle system…
    I was thinking of trying it out with a particle system that uses spheres, which in the beginning of their life start out large and eventually shrink when they die. This material would be assigned to the spheres, and they could be effected by wind. Using a particle system like such would also probably be more efficient.

    I’m not quite sure how I would go about making the spheres shrink, but I’ll give it a try. I’d like to see what anyone else has to come up with tough…

  20. Anon Says:

    Death Cloud, Just use an Object Visualization as the method for displaying your particles. it’s in the options. from there you can animate the original sphere to shrink it. there’s also a way to make it so they start the animation when they are born rather then just all at once though I have forgotten. probably a random button somewhere.

  21. Felix Says:

    @:ben that low-rez WoLK trailer doesn’t do it justice, here’s an HD link:
    http://www.youtube.com/watch?v=PcRg_O9TNjU

    also, I keep throwing this making off article link around:
    http://www.cgchannel.com/news/viewfeature.jsp?newsid=8144

  22. Kirado Says:

    Hey Durian folk.. can yah pleeeease.. pweeeease.. post ogg files or something other than vimeo.. it just refuses to work at all from some of us… for unknown reasons… something to do with flash being useless. So it would be super sweet and awesome if the flash video was not the only viewing option. Thanks in advance πŸ˜‰

  23. Ben Dansie Says:

    @Kirado,

    Thanks for the feedback on the video uploading. I know Peach did a fair bit of .ogg uploading as well as vimeo, we’ll have to make sure we keep that sort of system up a bit more. Especially when we get to tutorials! πŸ™‚

    @Felix – Thanks, I’ve seen that cgchannel article before but I recommend it to other people to have a look!