Blender 2.5 : Realistinen tuli savusimulaattorilla
Luotu: 1.5.2010Pä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ä kappale2. Simulaation asetukset
3. Tulimateriaalin asetukset
4. Jälkikäsittely
5. Esimerkkejä
1. Savua tekevä kappale
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öä.
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.
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.
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
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
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. :)
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.
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.
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.
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.
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ää. "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
Siirry Blenderin jälkikäsittelytilaan avaamalla "Node Editor" mistä tahansa kuvaruudusta.
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.
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.
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 - Blender 2.5 on kehitysversio, joten se voi olla epävakaa. Siksi kannattaa aina käyttää uusinta käännöstä ja tallentaa usein.