Realsitic Fire using Particles .BLEND NOW AVAILABLE!!!

wow that’s one cool effect you’ve got there - keep up the awsome work

Actually, the no-particle test, while material wise needs improvement, I really like the overall fluidity of the motion. The way it wavers reminds me of a candle flame.

Looking at some of the other video’s on youtube, NVidia seems to use a perlin algorithm for realistic flames in there Direct X 10 tests. This is something that could maybe be looked into.

No, I’m pretty sure someone else has done mesh based fire before. Perhaps you would share who you got the inspiration from? :wink: Or, maybe even the file? I’m not accusing you or anything, it’s just our setups look awfully similar.

As for the animation, the displacement map should move faster than it currently is. Good job so far.

Its similar to some extent…but different in several ways…it just looks similar(fire can only look real one way haha)…

Looking between your shader(which I still love BTW) My alpha map(which is a blend) is mapped on the Nor channel on only the Z. It also doesn’t have a displacement modifier like yours…and yours is much more turbulent…and all of my fire effects are based off of an animated empty…so it can move as fast or slow as you want it to without editing the actual material. I’ll post my blend file though! I guess it is similar to yours in several aspects too though, although I made it from scratch, but I’ll definitely give you credit! I’ll go update that post right now! And sorry about that:o!

Here’s the blend for the mesh-based fire!
http://www.badluckbob.com/firel%20shaader.blend

And sorry there haven’t been any updates…for one its because I’ve been extremely busy, and for two, I haven’t come up with anything better, or any improvements!

So I will update again…just not for a few days probably!

Thanks for your support!

-Chris

Well, lets say this then: Realistic Fire in Blender using the current particle system in Blender requires so much work that not even the Team behind Project Orange managed to get a decent fire or explosion going in Elephant’s Dream.

The problem with the particle system is that its waaaaay too primitive. There is too little control over particle rotation, size and shading through its lifetime. Especially the functions for randomness in Particles leaves A LOT to be desired.

The approach you seem to use is the same approach that I used way back when.
Your shader is definately spot on.

But like I said, unless you manage to come up with some neat python script to control the particle emission, I seriously doubt that you will achieve realistic fire.

Perhaps the first thing you should concentrate on is to achieve the proper motion of the particles so that the movement resembles fire.

They way I used to do it with MAX was to have the particle emitter emit textured plates which face the camera. I’m assuming your using something similar.
Like I said, the individual particles were square plates which always faced the camera. I used a procedural cloudy-swirly texture. Each textured plate also had a circular alpha map applied, so that the texture would fade out to being completely transparent before it reached the edge of the plate.

The next step I did was the particle motion. Very important here are things like having each little particle grow and shrink over the course of its lifespan. But of course randomised so that not every particle had the same lifespan, or even grew and shrank the same amount.
Also, in MAX you could have particles blend from one texture or color to another during the course of its lifetime. So I basically set it up so that at the start of its life it had a blueish texture, then in the middle more flame like, and in the end completely transparent.

This was already looking very good, especially the motion was very convincing. The flames were pulsating randomly and blended rather nicely together. You could see some nice flame tendrils and such. But the final touch was achieved using postpro. I forget exactly which mix of filters and effects I used in After effects. But I was quite amazed at the result. Unfortunately I dont have those files anymore. (I dont use max anymore.)

Anyways, the key was the motion of the particles. Not only could you randomise every aspect of them. But you were able to animate every single attribute using a random noise filter. For example, you could apply this animation filter on the strength of the emission of the particles. This animation fiter looked like and soundwave. It was random but you could control things such es seed, frequency amplitude. It certainly helped a lot in making the particle emission behave more erratically like it does in nature.

Either way, I think your definately on the right track, but I think unless you find a way around Blenders particle motion limitations, your not gonna achieve the result you desire.

By the way, the technique I described worked even better for nice thick photoreal smoke which was shadeable. i.e. It would react to light and shadow realistically. The best thing about the smoke was that it didnt even require any postpro filtering to look right.

If you made it from scratch, there’s no reason to give me any credit. Your fire shader’s alpha map is actually much better placed than mine, which means it’s time for me to make a new one. I tried making a flame mesh around an object, but my alpha map makes it look like someone blasted a hole in it. :o Anyway, thanks for the .blend, it’ll help with my shader as well. Sorry for the trouble.

Oh its okay! It was no trouble at all! You do deserve credit anyway considering you used the mesh-based fire first anyway!

I’ve been playing with the fire a lot today BTW and haven’t come up with anything better yet…

ChojinDSL: I used to use Max for everything. I am very familiar with their particle system, which is incredibly powerful(in the most recent versions). I only play around with it because a competition my robotics team enters requires we use autodesk software considering they host the competition. But they give us a free copy:D. However, I still very much prefer the Blender interface :D!

Okay, for the fire though, I did not use planes. I’ve been using spheres. I didn’t even think to use a facing-like particle emitter 0_o. So I tried it and I like the results so far…although they have yet to match the results of my first post…so I can’t update anything yet really…so I guess I’ll definitely keep playing around with it!

I’m still working hard on this, so don’t think I’ve given up! I just have yet to IMPROVE my first attempt…

Any ideas are definitely welcome!!!

-Chris

Great work. It’s very cool use of materials, textures, animations, and everything. I learned a lot from the .blend file of flame fire you provided so kindly and thank you for sharing it.

Its been quite a while since I’ve been able to work on this…

I haven’t given up, but its on hold for a while.

And with that being said, I figured some of you with more time might be able to improve it, so here’s the .blend file!

I might write up an explanation on how to use it better later.

What do I call a public license for it by the way?

Regardless, Enjoy!!!

www.badluckbob.com/realistic%20fire2.blend

-Chris

Anyone going to download it?

Huh…well, thanks for looking anyway!

-Chris

that awsom fire, i love it, i downlaoded the file, but is there any chance of an explination as to how you would put it together? i see all the parts to it, im just not sure how to peice to gether properly :o
peace.

Hey… I think I’ve seen it recently on YouTube… by any chance did you post it?
Cool one, nevertheless.

Hi guys. I’m currently working on a little indoor Fireplace Scene. This of course includes a few logs and some fire in the fireplace.

I tried a few techniques to get decent looking fire going, but in the end I resorted to a technique I discovered back when using 3D Studio Max.

Basically what I did was this:

I created my logs. Then I placed a few metaballs in such a way that they engulfed the logs and applied a displacement distortion. I forget who made the mesh-based flame shader, but I analysed it and modified it slightly to create my shader.

Currently this technique only works for still images. But I’m convinced that It could work for animations as well. I just havent gotten around to testing it.

Basically, for animating it, you would proceed as follows. This is all assuming that you can use metaballs as particles, so correct me if I am wrong in this regard, since I havent tested it yet.

In case of simulating a fireplace:

  1. Define the logs as particle emitters. Have them emit metaballs. The particles should flow in the direction of the normals of the particle emitter as well as upwards.

  2. Apply a displacment texture and animate it.

  3. Create a “vortex” type particle deflector above the fire mesh. This should make the emitted metaballs come together at the top, as fire normally does.

Obviously you would need to play around with the sizes of the metaballs as well as the settings for your displacement texture until you achieve the desired effect.

Here is a image that Im working on which demonstrates this technique.
http://www.render-wahnsinn.de/images/FSimages/firecloseup.jpg

As you can see the fire still needs some work, especially around the top. But this should be easily fixed by adjusting the displacement.
Once I’m finished with this Image I’ll start a separate thread with appropriate Blend files.

Dude, That fire looks awesome!! I have got to do some experimenting.
My only suggestion is to place more fire on the logs!