Artikkelit -> Blender 2.5 : Realistinen tuli savusimulaattorilla

Blender 2.5 : Realistinen tuli savusimulaattorilla

Luotu: 1.5.2010
Päivitetty: 24.7.2010


Tämä opas näyttää miten Blender 2.5:n savusimulaattorilla voi tehdä realistisia tulitehosteita. Oppaan seuraamiseksi vaaditaan perustietämys Blenderistä ja sen savusimulaattorista, sillä vain tuleen liittyvät asiat on selitetty.

Savusimulaattori on osa Blender 2.5:n kehitysversiota. Voit ladata tuoreen version sivuston Blender Builds -osiosta tai virallisen julkaisun Blenderin viralliselta sivustolta.


Tässä oppaassa luodaan seuraavanlainen video: palava Suzanne-apinanpää:

Oppaan lopusta voi ladata *.blend -tallennustiedoston sekä muita mallitiedostoja.

Oppaan sisältö

1. Savua tekevä kappale
2. Simulaation asetukset
3. Tulimateriaalin asetukset
4. Jälkikäsittely
5. Esimerkkejä

1. Savua tekevä kappale

Align Suzanne and domain

Tässä oppaassa käytän Blenderin Suzanne-apinaa tulenlähteenä.

Lisää haluamasi tulta tekevä kappale ja lisää siihen partikkelisysteemi, jota savusimulaattori käyttää lähteenä. Voit myös lisätä Domain-kuution nyt tai myöhemmin oppaan aikana.

Tulta lisätessä voi partikkeleilla tietenkin käyttää "No physics"-asetusta, mutta tässä esimerkissä käytän toista menetelmää: liikkuvia lyhytikäisiä partikkeleita.

Se lisää tuleen satunnaista liikehdintää, mikä johtaa pyörtelyyn sekä satunnaisempaan käyttäytymiseen.

Partikkelien asetukset

Partikkeleille käytin seuraavanlaisia asetuksia: 100.000 partikkelia joiden elinikä (Life) on 6. (Pieni elinikä vaatii suuren määrän partikkeleja.) Sitten liikkeen ("Velocity") -asetukset: Vähensin pintanormaalin suuntaista nopeutta ja lisäsin satunnaista (Random). Älä käytä liian suuria arvoja sillä nopeus siirtyy savusimulaattoriin hyvin herkästi.

Partikkelit voi myös laittaa syntymään kappaleen tilasta ("Volume"), mikä pehmentää savunlähteen ympäristöä.

Particle emission settings Particle velocity settings

Seuraavaksi poista painovoiman (Gravity) vaikutus "Force Fields" -välilehdeltä ja partikkelisysteemi on valmis. Lisäksi on myös suotavaa vaihtaa partikkelien "Render"-asetus kohtaan "None", jolloin partikkeleja ei renderöidä. "Display" -kohta kannattaa pitää päällä, jotta partikkelit näkyvät edes esikatseluikkunoissa.

Particle force settings Particle rendering settings

Savunlähde

Nyt aseta savunlähde ("Flow") käyttämään luotuja partikkeleja. Asetuksissa nostin "Temp. Diff" arvoksi 2.0, jotta tuli nousisi nopeammin. Arvoa voi lisätä edelleen jos tavoittelee vieläkin nopeampaa tulta tai vastaavasti pienentää. Arvo myös riippuu liekin mittakaavasta.

Smoke flow settings

Huom: Tiheyden ("Density") pitää olla 1.0 sillä käytetty tulimateriaali käyttää tiheyttä tulen piirtämisessä ja pienemmät arvot sotkisivat tämän.

2. Simulaation asetukset

Seuraavaksi määritetään simulaation "domain". Tulisimulaatioissa domain on helppo skaalata oikean kokoiseksi. Sivuille ja alas tarvitaan vain vähän tilaa, päälle vain liekin korkeuden verran.

Huom! Skaalaa domain-kuutio aina "Object Mode":ssa! ("Edit Mode" aiheuttaa ongelmia tekstuurikoordinaaniston kanssa.)

Domainin asetukset

Domain base settings

Seuraavaksi domainin asetukset. Tärkein asetus tässä paneelissa on "Dissolve". Se saa savun katoamaan hitaasti ajan kuluessa, antaen hyvin tulimaisen vaikutelman. "Time" asetuksena käytin arvoa 21. Arvoa voi muuttaa vapaasti riippuen domainin koosta tai siitä, kuinka "korkeaa" tulta haluaa". Myös tavoiteltu savun määrä riippuu tästä arvosta.

Seuraavaksi laita päälle "Initial Velocity" koska partikkelijärjestelmä on tehty liikkuvista partikkeleista. Tämä asetus saa syntyvän tulen liikkumaan partikkelin suuntaan.

Resolution-arvo on täysin simulaatiokohtainen. Esimerkissä käytin arvoa 64, mutta 32 sopii hyvin testisimulaatioihin.

High resolution

Domain high resolution

Toinen keino, jolla tuloksen saa näyttämään tulelta on "High resolution"-asetus FFT-noisella.

Joten kytke päälle "High resolution" ja vaihda "Noise Method" arvoon "FFT". Huom. FFT ei välttämättä ole valittavissa joissain käännöksissä.

Lopullisessa simulaatioon käytin "Divisions" arvoa 2. Kannattaa testailla tulen yleistä käyttäytymistä ennen "High Resolutionin" käyttöä. Tämä siis turhan uudelleensimuloinnin välttämiseksi jos jotkin arvot eivät ole kohdallaan. :)

Noise type comparison

Tässä on vertailu "Wavelet" ja "FFT" noisen välillä.

Kuten kuvasta näkyy, ero ei ole kovin suuri. FFT on hieman terävämpi ja siten "parempi" tulelle. Monissa tapauksissa ne ovat kuitenkin lähes identtisiä.

Tulta simuloitaessa kannattaa myös huomioida, että domainin resoluutio muuttaa tulen käyttäytymistä ja ulkonäköä. Joten suurimman mahdollisen resoluution käyttäminen ei ole paras vaihtoehto. Korkeat resoluutiot tuottavat pienempiä liekkejä, joka näyttää lopulta epäaidolta. Resoluutiota pitää siis pienentää ja kasvattaa liekkien koon mukaan. Tästä syystä käytin "vain" 64 resoluutiota.

3. Tulimateriaalin asetukset

Vaikein vaihe on renderöidä tuli kunnolla. Käyttämäni tapa on käyttää simulaation tiheyttä (Density) materiaalin "kirkkautena" (Emission). Tämä toimii koska simulaatiossa on käytetty voimakasta "Dissolve"-asetusta. Savu haihtuu niin nopeasti, että se säilyttää muotonsa ja sen tiheys vastaa hyvin tulen lämpötilaa vastaavassa tilanteessa.

Materiaalin asetukset

Domainin materiaalin asetuksina käytin kohtuullisen pientä tiheyttä ja sirontaa (Scattering). "Density Scale" -arvo 4.0 sekä "Scattering" 0.6. Tulen pitää myös säteillä valoa, joten aseta "Emission" arvo välille 2.0 ja 10.0 riippuen siitä kuinka kirkasta tulen pitää olla.

Fire material settings Fire material settings

Lisäksi alempaa löytyvää "Step Size" -asetusta pitää pienentää huomattavasti, sillä kirkkaat kohdat muuttuvat rakeisiksi oletusarvolla. Itse käytin "Step Size" arvoa 0.015.

Tekstuurien asetukset

Käyttämäni tulimateriaali vaatii kaksi eri tekstuuria. Ensin luodaan tavallisissa savusimulaatioissakin käytetty "tiheyteen" vaikuttava tekstuuri.

Density texture settings

Sitten lisätään vielä toinen. Tätä käytetään säätelemään materiaalin kirkkautta ja väriä. Tämänkin tekstuurin tyypin pitää olla "Voxel Data" tyyppinen.

Add a new texture for emission. Emission texture settings.
Tämä kuva havainnollistaa toisen tekstuurin vaikutusta. Se vaikuttaa tulen kirkkauteen ja väriin.
Tämä kuva havainnollistaa toisen tekstuurin vaikutusta. Se vaikuttaa tulen kirkkauteen ja väriin.

Aseta tekstuuri vaikuttamaan ("Influence") vain "Emission" ja "Emission Color" arvoihin ja muuta "Blend" tyyppi kertovaksi ("Multiply"). Näin kirkkaus ja väri himmenevät alueilta joissa tiheys on pieni, mutta säilyvät tiheissä kohdissa. Nyt tulen kirkkaus riippuu kohdan tiheydestä.

Seuraavaksi tärkein osa: Ylempänä on "Colors" -välilehti, kytke "Ramp" -asetus päälle. Näin väriä ja kirkkautta voi muuttaa helposti väriskaalalla.

Tässä käyttämäni väriskaala. Se tuottaa lähes savutonta tulta, joka on tummanpunaista reunoilta.

Emission texture color ramp.

Kun väriskaalaa käytetään "voxel"-tyyppiseen tekstuuriin vasen reuna on "0.0" tiheys ja oikea laita "1.0". Tässä tapauksessa tiheiden alueiden pitää olla kirkkaita ja kellertäviä kun taas reunojen, eli harvojen alueiden, punertavia.

Siirtämällä skaalan vasenta laitaa oikealle voi lisätä savun määrää. Jos sen jättää puoliväliin kaikki savu jonka tiheys on alle "0.5" piirtyy tavallisena savuna. Tässä oppaassa käytin savutonta skaalaa.

Väriskaalalla voi säätää savun määrää.
Väriskaalalla voi säätää savun määrää. "Dissolve":n aikaa voi kuitenkin joutua nostamaan, jotta tuli olisi tarpeeksi korkeaa.

Siinä se. Jos tulen renderöi nyt sen pitäisi jopa näyttää tulelta. Nyt enää pitää lisätä jälkikäsittely.

4. Jälkikäsittely

Open node editor.

Siirry Blenderin jälkikäsittelytilaan avaamalla "Node Editor" mistä tahansa kuvaruudusta.

Select and enable compositing

Nyt klikkaa "Compositing Nodes" -kuvaketta ja valitse "Use Nodes".

"Composition"-nodeilla muokataan kuvaa heti kun se on renderöity. Yleensä tavoitteena värien tasapainotus, sumennukset ja hohdot.


Tässä oppaassa käyttämäni tehoste on yksinkertainen "hohto", jolla tulen saa näyttämään kirkkaammalta. Käytin kahta "Glare"-nodea tuottamaan tasapainotetun hohtotehosteen.

Node setup for a simple but nice looking glow.

Ensin lisään "Fog Glow" tyyppisen "Glare"-noden. Se on perinteinen usvainen hohto. Toinen Glare-node on "Streaks"-tyyppinen. Se lisää tähtimäisen hohdon, mikä sopii mielestäni hyvin tuleen.

Post processing node differences.

5. Esimerkkejä

Oppaan mallitiedostot

Lataa valmis "Palava Suzanne" -tallennus tästä: fire_sample.blend

Tässä on toinen esimerkki, joka on tehty samoilla asetuksilla, mutta eri partikkelijärjestelmällä.

Lataa tämä tallennus: fire_sample_slide.blend

Huom: Näiden tallennusten partikkelien määrä on vähennetty tuhanteen tiedostokoon pienentämiseksi. Muista muuttaa se takaisin 30-100k ennen simulaation aloittamista.


Lisää esimerkkejä

Tässä on kaksi muuta videota, jotka näyttävät erilaisia tulen käyttömahdollisuuksia. Näistä ei ole saatavilla *.blend -tiedostoja, mutta tuloksen muuntaminen edellisistä mallitiedostoista ei ole vaikeaa.


Mancandy - the master of fire: Tehty usealla eri "savunlähteellä": yksi Mancandyn käsissä, yksi tulipallolle ja yksi maahan jääville liekeille.


Liekinheitin: Tehty käyttäen korkeanopeuksisia partikkeleja.


Hyödyllisiä vinkkejä

  • Jos haluaa tehdä nopeita testirendauksia, kannattaa käyttää suurta "Step Size" arvoa ja kytkeä reunanpehmennys pois.
  • Pitkäikäisillä ja hitailla partikkeleilla saa "vakaata" tulta, nopeilla ja lyhytikäisillä satunnaisuutta.
  • Simulaation edistymisen näkee Blenderin konsolista tai hiiren kursorista.
  • Jos materiaalin esikatseluksi muuttaa kuution ("Cube"), saa näkyviin pienen esikatselun domainista. Tämä voi olla hyödyllistä kun säätää väriskaalaa. Ikävä kyllä materiaalin esikatselua ei voi suurentaa, vaikka se on hyvin pieni. :P
    Domain preview visible on material editor
    Domain preview visible on material editor
  • Blender 2.5 on kehitysversio, joten se voi olla epävakaa. Siksi kannattaa aina käyttää uusinta käännöstä ja tallentaa usein.

(Kommentteja, kysymyksiä tai keskustelua artikkelista.)

English DEEP
25.07.2010 23:17
StarStarStarStarStar
YOU ARE AWESOME. THANKS FOR THIS TUT
English Adam
26.07.2010 07:20
StarStarStarStarStar
Whoa! Great tutorial!

That mancandy fire is so realistic
English Big Fan
26.07.2010 21:37
StarStarStarStarStar
Terrific! thank you!
English anmisto
02.08.2010 17:03
StarStarStarStarStar
awesome never knew how to do it but now i do
English Quisto
04.08.2010 21:01
StarStarStarStarStar
Thank you!!!!!
English Rob Cozzens
05.08.2010 10:03
StarStarStarStarStar
Amazing! This is some of the best CGI fire I've seen. Definitely the best fire from Blender.
English pbrn
05.08.2010 12:47
Very impressive!
I like your work on the Live Paint tool!
Thank you!
English rafek
06.08.2010 10:44
very very cute and wonderful
English XoniX
14.08.2010 06:47
Merci tuto à couper le souffle et très simple merci merci
English todo
16.08.2010 16:10
didn't work
English todo
16.08.2010 20:08
it worked!!! thx
English DSkyline
17.08.2010 20:24
The best fire effect made with blender i've ever seen. Great work!
English Sebastian
21.08.2010 15:44
StarStarStarStarStar
Thanks a lot for this tutorial, keep it up! good job
English Stef
28.08.2010 11:36
StarStarStarStarStar
Thanks so much !!!
English Missxu
15.09.2010 17:29
StarStarStarStarDark Star
Hello! That was wonderful, but, when ever I render it I don't see the Smoke/Fire.
Any Help?

Missxu
English ScaroDj
17.09.2010 06:15
Ow! Here's the tutorial. I don't have time right now to study it, but as I spoke too fast... :P
English pebble garden
11.10.2010 00:36
Thank you for this excellent tutorial. It works like a charm and taught me a lot of new things. Bravo!
English BluntShortFilms
15.10.2010 22:45
StarStarStarStarDark Star
great tutorial!thanks for a well written tutorial,but one thing you never mention to bake..i was confused but figured it was the last thing to do.thanks again!
English BUR
09.11.2010 21:27
thank you Miika for tuts, but with blender 2.54 project not work(no fire). can you update, please, tutorial for latest blender version?
English Whimsy Collective
10.11.2010 09:24
StarStarStarStarStar
Thank you for the tutorial.

Might it be possible to see the Flame Thrower .blend file
English ChrisP
28.11.2010 23:27
StarStarStarStarStar
Wow this tutorial looks rock solid. I love the new Blender 2.55, just have to find out how to run the scripts(no easy window anymore). This tutorial shows some of the new awesomeness available. To make such quality renders it's quite impossible in the previous versions or it would just take far more nodes and hard work in tweaking. Thanks for sharing =). Feels good to be enlightened. God Bless.
English ssawyer
01.12.2010 21:09
StarStarStarStarStar
For everyone having trouble getting this to work, you need to go down to the bottom of each of your textures and specify the domain object. That should fix it.
English IanSmith
04.02.2011 13:41
StarStarDark StarDark StarDark Star
The smoke works but not the fire. There's not enough information about whether or not to use density, heat etc for the fire texture.
English DaHumm
06.02.2011 12:55
StarStarStarStarStar
Perfect.
English Skykooler
12.02.2011 06:56
StarStarStarStarStar
Wow, this was just what I was looking for! Thanks!
English car313
19.02.2011 07:05
Thanks a lot for sharing your knowledge!Terrific Tutorial.
Can I trouble you to consider a detailed nodes tutorial for us Blender dummies?
English Knight
01.03.2011 04:19
Wow, what a fantastic tutorial. I really appreciate the time and effort you put into this; it saved me that time and effort myself. :)
English matrix
13.03.2011 22:28
StarStarStarStarStar
Hello,
the tuto looks great , maybe you could add more infos and steps for the begginers.

For me i can't render it , even if i can see the smoke in blender preview.. , when i render it can't see the smort / fire .

Please help.

You can answer me here : matrixofdeath@hotmail.fr
English Peter
27.03.2011 20:20
Maybe I did something wrong, but I think this isn't working in Blender 2.56a. (Loaded sample files)
Any ideas?
Apart from that: Great work!
English Peter
27.03.2011 20:53
StarStarStarStarStar
Oh, I forgot to bake. You should mention this ;-)
English Kjell Inge Sandvik
08.04.2011 16:30
Where is the "domain object material settings"?
(Using version 2.57 RC2).
waltsu
16.04.2011 19:02
StarStarStarStarDark Star
I have the same problem, i cant find "domain object material settings". Im using 2.57.

waltsu
16.04.2011 19:05
StarStarStarStarStar
SOLVED! (Change material Surface -> Volume) =)
English Blender_Enno
18.05.2011 23:45
realy great work and i think many of us can use your tut..
i think sebastian and andrew and co use it right now... and i´m next ^^

thx for work
English Jimmy Gunawan
09.07.2011 00:59
Miika, thanks for this tutorial and fantastic Dynamic Paint! I learn a lot from your articles. Great tutorial.
English Sooraya Q
12.07.2011 14:09
StarStarStarStarStar
Awesome tutorial. Poor Suzanne, monkey needs
a fluid simulation fast!
English Wes
09.08.2011 05:27
StarStarStarStarStar
Ok now HERES a good tutorial! Sorry about the last one i commented on, it was rather rude, but it is very un informative. But this ones GREAT!! I wish more were like this!! Thanks alot!!
English Chris
22.08.2011 07:00
Outputting a transparent PNG image for compositing... how do you do it? I'm not a newbie... but for some reason this is defeating me. Whenever I output an RGBA image from Blender using fire from a tutorial like yours, it looks nothing like what I see in the image viewer in Blender (much more faded and grey). I've tried using "Straight Alpha" and "Premultiplied Alpha" but nothing seems to work... help?
English Shawn
03.09.2011 19:09
Very very new to blender. Just had to say THANKS for taking time to teach us through this tutorial. It looks awesome!
English Styleknight
19.09.2011 18:16
StarStarStarStarStar
Simply the Best. It's because people like you Blender will rock the world. I now have faith in being a 3D creator.
English Animaticoide
08.10.2011 21:58
Your tutorials are always the best ! Thanks so much for this article. Keep it up !
English cgmystic
22.10.2011 17:08
Awesume stuff !
English moshe
08.11.2011 15:35
awesome! thank you very much... any idea on how to make the domain have no shadow?
English Blender baker
03.12.2011 00:11
Looks good, but the only thing I can get to render is what looks like a hot metal monkey, I'm using 2.59, please help!
English JamesD
09.12.2011 22:45
StarStarStarStarStar
Thanks so much Miika!!! I've been looking for a tutorial like this!
English YJ, ROK
17.01.2012 12:41
StarStarStarStarStar
This is godly. two thumbs up. Waaay up.
English Blipblipblur
25.02.2012 18:48
fantastic, so many other tutorials are just not as good as this one, 100% perfect.
English Travis Gatlin
03.03.2012 21:31
Very good tutorial! I followed it exactly and got extremely good results! Wasn't quite as high quality as any of your test renders though. I will be using this same method multiple times in the future. Thanks so much.
English JIm Hyslop
26.03.2012 02:23
Great tutorial, thanks.\n\nI must have missed a step somewhere, though. When I render, all I see is a black silhouette of Suzanne against a grey background. I don't see any smoke or flames. Any suggestions on what to check?
English Tyler
27.04.2012 18:31
StarStarStarStarDark Star
Awesome tutorial, never new how to make fire until now:)
English Y0a0bon
07.06.2012 15:04
StarStarStarStarDark Star
Hey ! Very good job, easy to follow !
But my render doesn't show ome fire.. And in your blend file too: no fire when I make a render :/
English Shinigami
11.06.2012 19:13
Good work, realistic and easy to learn.. tks
English Dwayn
03.01.2013 17:05
bug with the files to get
English Fredie
05.01.2013 04:08
StarStarStarStarStar
hey man, it's simply fantastic. it is possible to do it in the game engine?
English gab
24.03.2013 10:21
StarStarStarStarStar
Thanks for the whole tutorial. And a big thanks for the .blend ! Sometimes we just need to get the shit done as fast as possible.

English Ritcik_mandyam
08.02.2014 06:53
StarStarStarStarStar
Someguycommiinground, that's not miika h's fault. That looks like a compositing or lighting or something like that error. So if I were you, I'd re-rate it with the four or five stars that this tutorial deserves.
English steph
14.04.2014 21:26
StarStarStarStarStar
Thanks a lot Mika, your text tutorial is much more helpful, than the youtube-vids out there. (in case of these fire-sims)

English stephen
05.12.2014 21:08
StarStarStarStarStar
Miika, thank you for this tutorial. I download the fire_sample.blend and my system seems to be poor performance while rendering one frame. it tooks me about 8 seconds to render a frame. is it normal ? I am new in blender. I thought the graphics card is a major problem, so i bought a Quardo 600 to check the performance since the recommendation in blender site and wiki show someone has good experience on this kind of graphics card. I would like to know how fast when you render a frame and how long does it taken to generate a video ? in my system ,100 frames takes around 15 minutes.

my system is core I5 2.6G
DDR3 8G system memory
Quardo 600
64bit Windows 7

English todaytuts
24.01.2015 15:24
StarStarStarStarStar
that was awesome !
English Kris
18.09.2016 20:22
StarStarStarStarStar
Wow this is awesome, thanks for your time to write this tutorial.

I'm an illustrator that totally noob and never try blender before. I want to create hyper realistic fire and smoke, I can't make it looks perfect and natural using digital painting.

Thanks :)
English joker123 deposit pulsa
26.04.2021 04:28
May I simply say what a relief to uncover an individual who actually knows what they are talking about on the web. You actually know how to bring an issue to light and make it important. More people ought to look at this and understand this side of the story. I was surprised you arent more popular because you certainly possess the gift.

Kommentoi:
Nimi: *
Kotisivu:
Kieli:
Arvio:
Varmistuskoodi: *verification image (?)
Kommentti: *
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021