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ää:

Get the Flash Player to see this video.

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ä.

Get the Flash Player to see this video.

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 Kenneth Realpe
11.08.2010 00:53
Que Buen tutorial para crear un fuego realista grasias,tuve que traducirlo en la pagina de http://traductor.elmundo.es/Pages/UrlTranslation/

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 Aaron Smithey
03.06.2011 15:01
Great tutorial.
After many attempts, I can not reproduce the flame thrower as you have. Any chance you can post screen shots of you settings. I like how your looks like an actual flame. Mine just looks like a bunch of moving colors with some smoke. It does not look real.
Thanks,
Aaron Smithey


English Aaron SMithey
03.06.2011 15:04
Here is the link to my attempt. For some reason the link button is not working for me.

http://s287.photobucket.com/albums/ll151/asmithey/Dragon/?action=view¤t=fireAnimation20.mp4

Thanks,
Aaron


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 tjam2010
23.04.2013 04:16
StarStarStarStarStar
Thank you so much! Ive been using this tutorial ever since 2011, and i have found it constantly helping me(I have a terrible memory). I realized that i had never rated it so there you go! And you can see where i used it for the first time here: http://www.youtube.com/watch?v=pEAkiXmmPREnAnd a more recent version here: http://www.youtube.com/watch?v=t16Vsmz_QTU
English Someguycomminground
08.01.2014 00:17
StarStarDark StarDark StarDark Star
I have some problem with the method, what I did looked somewhat different and while rendering the demo I got some edges ... (look here) http://i.imgur.com/Shz8EZK.png
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 :)

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