Fotorealistična animacija ognja v animacijskem paketu Blender

Podobni dokumenti
Dinamika požara v prostoru 21. predavanje Vsebina gorenje v prostoru in na prostem dinamika gorenja v prostoru faze, splošno kvantitativno T

Poročilo za 1. del seminarske naloge- igrica Kača Opis igrice Kača (Snake) je klasična igrica, pogosto prednaložena na malce starejših mobilnih telefo

Oblikovanje 3D scene in spletnega vodi\unhbox \bgroup \let \unhbox \setbox \hbox {c\global \mathchardef

Adaptive Sound Technology Dodatek

SIN APLIKACIJA ZA POUČEVANJE GASILCEV The SIN Learning Application for Firefighters Simon Kolmanič*, Nikola Guid**, Andrej Nerat*** UDK :37.0

BYOB Žogica v vesolju Besedilo naloge Glavna ideja igre je paziti, da žoga ne pade na tla igralne površine, pri tem pa zbrati čim več točk. Podobno ig

Optimizacija z roji delcev - Seminarska naloga pri predmetu Izbrana poglavja iz optimizacije

7. VAJA A. ENAČBA ZBIRALNE LEČE

Smetanova ulica Maribor, Slovenija Andrej Gorenjak VIZUALIZACIJA ŠIRJENJA POŽARA Z GRAFIČNIM POGONOM UNITY 3D Diplomsko delo Maribor, februar

Univerza v Mariboru Fakulteta za naravoslovje in matematiko Oddelek za matematiko in računalništvo Enopredmetna matematika IZPIT IZ VERJETNOSTI IN STA

GRAFIČNA KARTICA UVOD: Grafična kartica skrbi za prikaz slike na računalniškem monitorju. VHODNI SIGNAL: Grafična kartica pošlje katodni cevi monitorj

ISOFT , računalniški inženiring

rm.dvi

NEVTRIN d.o.o. Podjetje za razvoj elektronike, Podgorje 42a, 1241 Kamnik, Slovenia Telefon: Faks.: in

Slide 1

Microsoft Word - A-3-Dezelak-SLO.doc

1 MMK - Spletne tehnologije Vaja 5: Spletni obrazci Vaja 5 : Spletni obrazci 1. Element form Spletni obrazci so namenjeni zbiranju uporabniških podatk

Računalniški praktikum Projektna naloga - Izdelava spletne strani Avtor: Matej Tekavčič Skupina: Matej Tekavčič - koordinator Simon Vrhovnik Tine Kavč

Strokovni izobraževalni center Ljubljana, Srednja poklicna in strokovna šola Bežigrad PRIPRAVE NA PISNI DEL IZPITA IZ MATEMATIKE 2. letnik nižjega pok

Osnove matematicne analize 2018/19

STAVKI _5_

CpE & ME 519

Podatkovni model ER

Gradbeništvo kot Industrija 4.0

Področje uporabe

Požarna odpornost konstrukcij

Microsoft Word - CNC obdelava kazalo vsebine.doc

VAJE

NAJRAJE SE DRUŽIM S SVIČNIKOM, SAJ LAHKO VADIM ČRTE IN KRIVULJE, PA VELIKE TISKANE ČRKE IN ŠTEVILKE DO 20. Preizkusite znanje vaših otrok in natisnite

Watch 40_MT40X_UM_SL.pdf

ANALITIČNA GEOMETRIJA V RAVNINI

Poročilo projekta : Učinkovita raba energije Primerjava klasične sončne elektrarne z sončno elektrarno ki sledi soncu. Cilj projekta: Cilj našega proj

DES

(Microsoft Word - U\350enje telegrafije po Kochovi metodi.doc)

PREIZKUS ZNANJA IZ VARSTVA PRED POŽAROM

3dsMax-Particle-Paint

Delavnica Načrtovanje digitalnih vezij

VEKTORSKO BARVANJE in SENČENJE Za predstavitev ideje se v arhitekturi uporabljata 2 načina: - Klasična predstavitev z načrti - Vizualizacije Risanje n

1 Naloge iz Matematične fizike II /14 1. Enakomerno segreto kocko vržemo v hladnejšo vodo stalne temperature. Kako se spreminja s časom temperat

Slikovne transformacije_2017_18_DKT

Navodila za pripravo oglasov na strani Med.Over.Net v 2.2 Statistično najboljši odziv uporabnikov je na oglase, ki hitro in neposredno prenesejo osnov

Vaje: Matrike 1. Ugani rezultat, nato pa dokaži z indukcijo: (a) (b) [ ] n 1 1 ; n N 0 1 n ; n N Pokaži, da je množica x 0 y 0 x

Ime in priimek: Vpisna št: FAKULTETA ZA MATEMATIKO IN FIZIKO Oddelek za matematiko Verjetnost Pisni izpit 5. februar 2018 Navodila Pazljivo preberite

Predtest iz za 1. kontrolno nalogo- 2K Teme za kontrolno nalogo: Podobni trikotniki. Izreki v pravokotnem trikotniku. Kotne funkcije poljubnega kota.

PowerPointova predstavitev

'Kombinatoricna optimizacija / Lokalna optimizacija'

Navodila za uporabo programske opreme OTRS verzija Administracijska navodila Avtor navodil: Sebastijan Šilec Datum: December 2007 Center odprte

PREDMETNI KURIKULUM ZA RAZVOJ METEMATIČNIH KOMPETENC

Matematika 2

Microsoft PowerPoint - Sirikt-SK-FV.ppt

Modem in krajevno omrežje Uporabniški priročnik

D3 V2 brosura net

Gimnazija Bežigrad Peričeva Ljubljana OPERACIJSKI SISTEM Predmet: informatika

DEDOVANJE BARVNE SLEPOTE

Univerza v Ljubljani FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Tržaška c. 25, 1000 Ljubljana Realizacija n-bitnega polnega seštevalnika z uporabo kvan

Potenciali lesne biomase v Sloveniji ter pomen kakovosti lesnih goriv

INDUSTRIJA 4.0: PRILOŽNOSTI DIGITALNE PREOBRAZBE PROCESA RAZVOJA BARV IN PREMAZOV TOMAŽ KERN, BENJAMIN URH, MARJAN SENEGAČNIK, EVA KRHAČ

PKP projekt SMART WaterNet_Opis

Macoma katalog copy

Microsoft Word - Document1

NAVODILA ZA UPORABO K01-WIFI Hvala, ker ste se odločili za nakup našega izdelka. Pred uporabo enote skrbno preberite ta Navodila za uporabo in jih shr

Analiza vpliva materiala, maziva in aktuatorja na dinamiko pnevmatičnega ventila

Navodila za uporabo Mini prenosna HD kamera s snemalnikom

Space Invaders Opis igre: Originalna igra: Space Invaders je arkadna igra, ki so jo ustvarili leta Bila je ena izmed prvih streljaških iger, v k

Vaja 2 Virtualizacija fizičnih strežnikov in virtualni PC A. Strežnik Vmware ESX Namestitev strežnika VMware ESX 3.5 na fizični strežnik 2. Nas

Albert Einstein in teorija relativnosti

Univerza v Ljubljani Naravoslovnotehniška fakulteta Oddelek za tekstilstvo Sledenje pogledu (Eye tracking) Seminarska naloga pri predmetu Interaktivni

HEXA_design_StanovanjeY_2018.cdr

Navodila za uporabo Mini snemalnik

MAGNETNE PALICE Set lesenih magnetnih palic za kreativno sestavljanje. V setu je 40 kosev KLEIN 0656 MAGNETICO KOCKE Set vsebuje ploščo, vozila

Ker so pri Microsoftu z igro Age of Empires (in dodatkom Rise of Rome) poželi tolikšen uspeh, so izdali tudi nadaljevanje te igre. Kakor prvi del igre

Univerza v Novi Gorici Fakulteta za aplikativno naravoslovje Fizika (I. stopnja) Mehanika 2014/2015 VAJE Gravitacija - ohranitveni zakoni

BeoLab 12 BeoLab 12 2 BeoLab 12 3

MATLAB programiranje MATLAB... programski jezik in programersko okolje Zakaj Matlab? tipičen proceduralni jezik enostaven za uporabo hitro učenje prir

RAM stroj Nataša Naglič 4. junij RAM RAM - random access machine Bralno pisalni, eno akumulatorski računalnik. Sestavljajo ga bralni in pisalni

FIZIKA IN ARHITEKTURA SKOZI NAŠA UŠESA

Jupiter Seminarska naloga Šola: O.Š.Antona Martina Slomška Vrhnika Predmet: Fizika Copyright by: Doman Blagojević

Univerza v Mariboru

Navodila za programsko opremo FeriX Namestitev na trdi disk Avtor navodil: Martin Terbuc Datum: December 2007 Center odprte kode Slovenije Spletna str

Uvodno predavanje

Microsoft Word - Analiza rezultatov NPZ matematika 2018.docx

PRIPOROČILA ZA OBLIKOVANJE KATALOGOV ZNANJA ZA MODULE V PROGRAMIH VIŠJEGA STROKOVNEGA IZOBRAŽEVANJA

Microsoft Word - Brosura neobvezni IP

UNIVERZA V LJUBLJANI FAKULTETA ZA MATEMATIKO IN FIZIKO Katja Ciglar Analiza občutljivosti v Excel-u Seminarska naloga pri predmetu Optimizacija v fina

(Microsoft Word - 3. Pogre\232ki in negotovost-c.doc)

DELOVNI LIST ZA UČENCA

DES

SLO - NAVODILO ZA UPORABO IN MONTAŽO Št

Laboratorij za strojni vid, Fakulteta za elektrotehniko, Univerza v Ljubljani Komunikacije v Avtomatiki Vaje, Ura 8 Matej Kristan

Vostro 430 Informacijski tehnični list o namestitvi in funkcijah

DES11_realno

Folie 1

Krmiljenje elektromotorj ev

Univerza v Ljubljani Fakulteta za matematiko in fiziko Verjetnost v fiziki 2012/13 tutorstvo #1 Kombinatorika Avtorja: Peter Ferjančič, Boštjan Kokot

scratch

5 SIMPLICIALNI KOMPLEKSI Definicija 5.1 Vektorji r 0,..., r k v R n so afino neodvisni, če so vektorji r 1 r 0, r 2 r 0,..., r k r 0 linearno neodvisn

Diapozitiv 1

Mladi za napredek Maribora srečanje DOLŽINA»SPIRALE«Matematika Raziskovalna naloga Februar 2015

Številka:

Transkripcija:

UNIVERZA V MARIBORU FAKULTETA ZA ELEKTROTEHNIKO, RAČUNALNIŠTVO IN INFORMATIKO Dominik Štrakl FOTOREALISTIČNA VIZUALIZACIJA OGNJA V ANIMACIJSKEM PAKETU BLENDER Diplomsko delo Maribor, junij 2018

UNIVERZA V MARIBORU FAKULTETA ZA ELEKTROTEHNIKO, RAČUNALNIŠTVO IN INFORMATIKO FOTOREALISTIČNA VIZUALIZACIJA OGNJA V ANIMACIJSKEM PAKETU BLENDER Diplomsko delo Študent: Študijski program: Smer: Mentor: Somentor: Dominik Štrakl VS študijski program Računalništvo in informatika Računalništvo in informacijske tehnologije doc. dr. Simon Kolmanič izr. prof. dr. Damjan Strnad

Zahvala Zahvaljujem se mentorju doc. dr. Simonu Kolmaniču in somentorju izr. prof. dr. Damjanu Strnadu za pomoč, vodenje in usmeritve v času izdelave diplomske naloge. Posebna zahvala gre tudi mojima staršema, ki sta me podpirala na moji študijski poti. i

FOTOREALISTIČNA VIZUALIZACIJA OGNJA V ANIMACIJSKEM PAKETU BLENDER Ključne besede: vizualizacija, računalniška grafika, animacija, 3D grafika, Blender UDK: 004.92(043.2) Povzetek Osnovni namen diplomskega dela je izdelati fotorealistično animacijo ognja v odprtokodnem animacijskem paketu Blender. Pri izdelavi smo uporabili metode, ki se v računalniški grafiki uporabljajo za vizualizacijo posebnih učinkov. Postopek izdelave in uporabljene metode smo podrobneje opisali. Na koncu smo analizirali različne vplive na doseganje realizma in vplive na časovno zahtevnost pri upodabljanju. ii

PHOTOREALISTIC FIRE VISUALIZATION USING BLENDER ANIMATION PACKAGE Key words: visualization, computer graphics, animation, 3D graphics, blender UDK: 004.92(043.2) Abstract The main purpose of the thesis was to create a photorealistic animation of fire using an open source animation package Blender. To achieve this goal, we utilized methods for visualization of special effects. We described in detail the process and the methods we used. In conclusion, we analyzed different influences on achieving realism and impacts on time consumption in rendering. iii

KAZALO 1. UVOD... 1 2. OGENJ IN NJEGOVE LASTNOSTI... 3 3. RAČUNALNIŠKA ANIMACIJA IN VIZUALIZACIJA OGNJA... 4 3.1. Zgodovina animacije... 4 3.2. Računalniška vizualizacija naravnih pojavov... 4 3.2.1. Sistemi delcev... 5 3.2.2. Standard OpenGL in senčilniki... 8 4. ANIMACIJSKI PAKET BLENDER... 9 4.1. Kratka zgodovina... 9 4.2. Gradniki Blenderja... 10 4.2.1. Luči... 10 4.2.2. Kamera... 10 4.2.3. Objekti... 11 4.2.4. Sistemi delcev... 12 4.2.5. Teksture in materiali... 14 4.2.6. Polje sil... 15 4.3. Upodabljanje slike in videa... 16 5. IZDELAVA FOTOREALISTIČNE ANIMACIJE OGNJA... 17 5.1. Vizualizacija različnih tipov ognja in povezanih fenomenov... 17 5.2. Zamisel scene vizualizacije ognja... 22 5.3. Uporabljene metode in potek vizualizacije ognja v okolju Blender... 24 6. REZULTATI IN ANALIZA REZULTATOV... 40 6.1. Taborni ogenj ob hiši... 40 6.2. Goreče bakle... 42 6.3. Vplivi na fotorealizem vizualizacije ognja... 45 6.4. Časovna zahtevnost posameznih učinkov in nastavitev... 47 7. SKLEP... 56 8. LITERATURA... 57 iv

KAZALO SLIK Slika 2.1: Zakonitosti ognja... 3 Slika 3.1: Slika iz keramične posode iz Šahri Sohte... 4 Slika 3.2: Primer sistema delcev za prikaz eksplozije... 5 Slika 4.1: Standardni geometrijski objekti v animacijskem paketu Blender, vir [8]... 11 Slika 4.2: Različne nastavitve objektov v Blenderju... 12 Slika 4.3: Nastavitve vplivov na posamezne parametre sistema delcev v Blenderju... 13 Slika 4.4: Nastavitve sistema delcev Blender... 14 Slika 4.5: Teksture kocke v obliki lesa... 15 Slika 5.1: Primer goreče krogle... 18 Slika 5.2: Primer razvoja ognja goreča opice "Suzanne"... 19 Slika 5.3: Primer vžigalice v 24. okvirju... 20 Slika 5.4: Primer eksplozije sfere ICO... 21 Slika 5.5: Uporabljena podlaga za vizualizacijo tabornega ognja... 22 Slika 5.6: Uporabljena prva podlaga za vizualizacijo ognja bakel... 23 Slika 5.7: Uporabljena druga podlaga za vizualizacijo ognja bakel... 23 Slika 5.8: Začetno delovno okolje animacijskega paketa Blender... 24 Slika 5.9: Domena dima in nastavitve... 26 Slika 5.10: Vpliv parametrov na obliko dima a) različne nastavitve turbulentnosti, b) uporaba metode hrupa opcije Wavelet in FFT... 27 Slika 5.11: Izvor in njegove nastavitve... 28 Slika 5.12: Uporaba urejevalnika vozlišč in uporaba barvne lestvice... 29 Slika 5.13: Uporaba teksture oblakov za ogenj... 30 Slika 5.14: Primer animacije ognja po uporabi teksture tipa "Clouds"... 31 Slika 5.15: Primer delcev ognja z uporabo sistema delcev... 32 Slika 5.16: Uporaba sfere UV za obliko delca... 33 Slika 5.17: Nastavitve materiala barve sistema delcev... 33 Slika 5.18: Nastavitve sistema delcev... 34 Slika 5.19: 3D modeliranje drv... 35 Slika 5.20: Primer teksture lesa na spodnji in zgornji strani drv... 36 Slika 5.21: UV preslikava drv... 37 Slika 5.22: Primer odvoja krogle na 2D teksturo zemljine površine, radeljene v dva dela, vir [13]. 37 Slika 5.23: Prikaz slike ozadja - uporaba urejevalnika vozlišč... 39 Slika 6.1: Končni rezultat vizualizacije ognja ob hiši (25. okvir)... 41 Slika 6.2: Končni rezultat vizualizacije ognja ob hiši (100. okvir)... 42 Slika 6.3: Končni rezultat vizualizacije ognja bakel v parku (75. okvir)... 43 Slika 6.4: Končni rezultat vizualizacije ognja bakel v parku (200. okvir)... 43 Slika 6.5: Končni rezultat vizualizacije ognja bakel na plaži (35. okvir)... 44 Slika 6.6: Vpliv števila delcev na dim in ogenj v 50. okvirju... 49 Slika 6.7: Različna gostota dima v 50. okvirju... 51 Slika 6.8: Različna ločljivost dima v 50. okvirju... 52 Slika 6.9: Razlika med izbrano višjo resolucijo dima in brez nje v 35. okvirju... 55 v

1. UVOD Vizualizacija in izdelava animacij je v filmski industriji, na televiziji in pri izdelovanju raznih video iger še vedno v velikem porastu. S hitrim razvojem strojne opreme na področju grafike je želja po doseganju vedno večjega realizma vseskozi prisotna. Tudi na nekaterih drugih področjih, kot sta na primer marketing ali zdravstvo, je računalniška grafika postala zelo pomembna. Lahko rečemo, da je danes računalniška grafika prisotna na vsakem koraku našega življenja, pa naj si gre za delo, sprostitev ali zabavo. Tudi z vedno hitrejšim razvojem virtualne in obogatene resničnosti je potreba po doseganju realizma v strmem vzponu. Predvsem v filmski industriji in pri izdelovanju iger so potrebni razni posebni učinki, ki jih lahko s sodobnimi orodji zelo dobro izdelamo in brez težav vključimo v našo predvideno sceno. Zato imajo naravni pojavi kot so ogenj, dim, valovi in podobni, pomembno mesto v veliko animacijah in raznih aplikacijah kot so video igre, simulacije raznih realnih okolij, v arhitekturi in na področju virtualne tehnologije. Vizualizacija ognja in dima je z vidika računalniške grafike zelo zanimiva. Vsak pojav ima v naravi svoje zakone, ki jih je potrebno za doseganje čim večjega fotorealizma tudi dobro poznati. Cilj diplomske naloge je izdelati animacijo ognja na različnih podlagah. Naš namen je spoznati orodja in metode, ki se uporabljajo pri modeliranju 3D objektov in pri izdelavi animacij. V diplomski nalogi bomo za vizualizacijo ognja uporabili odprtokodni animacijski paket Blender. Z orodjem Blender želimo izdelati kratko animacijo ognja in z raznimi tehnikami, kot so sistemi delcev in senčilniki, doseči čim večji fotorealizem. Zanima nas tudi, koliko časa bomo vložili v izdelavo preproste animacije ognja, koliko časa bo potrebnega za fotorealističen izgled ognja in od česa vse je odvisen realizem. Cilji diplomske naloge so: - prikazati metode, ki jih lahko uporabljamo za izdelavo posebnih učinkov, - seznaniti se z uporabo animacijskega paketa Blender, - izdelati realistično vizualizacijo ognja, - z uporabo različnih gradnikov v Blenderju doseči čim večji realizem, - analizirati časovno zahtevnost celotne izdelave ognja in posameznih lastnosti pri upodabljanju. Diplomska naloga je razdeljena na sedem poglavij. V drugem poglavju se bomo seznanili s pravili gorenja in lastnostmi ognja. V tretjem poglavju bomo prikazali metode, ki jih lahko uporabimo za samo izdelovanje vizualizacije naravnih pojavov v virtualnem okolju. V četrtem poglavju bomo predstavili animacijski paket Blender, ki smo ga uporabili za izdelavo naše animacije. V podpoglavjih se bomo seznanili s kratko zgodovino in posameznimi orodji, ki jih programsko okolje Blender ponuja in so potrebne pri 3D modeliranju in izdelavi animacij. V praktičnem delu diplomske naloge v petem poglavju bomo izdelali animacijo različnih ognjev. Z uporabo sistema delcev, tekstur, senčilnikov in 1

drugih metod želimo doseči čim večji realizem. Uporabili bomo različna ozadja in scene. Šesto poglavje je namenjeno predstavitvi končnih rezultatov in njihovi analizi. V sklepnem delu naloge bomo povzeli naše ugotovitve. 2

2. OGENJ IN NJEGOVE LASTNOSTI Pri izdelavi posebnih učinkov je vizualizacija ognja zelo zahtevna za razumevanje. Prav je, da se v uvodnih poglavjih diplomskega dela na kratko seznanimo z naravnimi lastnostmi ognja. Že v prazgodovini je ogenj pomenil preživetje, saj so si z njim pozimi segrevali, pozneje pa tudi začeli uporabljati za kuhanje hrane. Pred iznajdbo elektrike in žarnic se je ogenj uporabljal tudi za razsvetljavo. Slika 2.1: Zakonitosti ognja Do vžiga oziroma do pojava ognja lahko pride, če so prisotni trije elementi, ki so nujno potrebni za gorenje. Trikotnik gorenja, ki je prikazan na sliki 2.1, sestavljajo [1]: - toplota, - kisik in - gorljiva snov. Da se pojavi ogenj, morajo biti prisotni vsi elementi. Z odvzemom enega od elementov ogenj pogasimo. S poznavanjem značilnosti ognja v naravi lahko lažje dosežemo njegovo realistično vizualizacijo z grafičnimi razvojnimi okolji kot je Blender. 3

3. RAČUNALNIŠKA ANIMACIJA IN VIZUALIZACIJA OGNJA 3.1. Zgodovina animacije Prvi poskusi, ko so ljudje poskušali vizualizirati razne objekte in naravne pojave, ki jih takrat morda še niso razumeli, segajo že zelo daleč v zgodovino. Razna odkritja risb v jamah dokazujejo, da je človek že v prazgodovini hotel upodobiti svoje zaznavanje okolice okrog sebe. V eni od provinc Iraka so našli 5200 let staro keramično posodo, na kateri je prikazanih pet zaporednih slikic koze in jo prikazuje slika 3.1. Iz te upodobitve lahko razberemo, da se koza giblje pod drevesi in z njih trga liste. Tako nekateri strokovnjaki trdijo, da je ta lončena posoda prva zamisel animacije [2]. Slika 3.1: Slika iz keramične posode iz Šahri Sohte Skozi zgodovino so se načini in zamisli izdelave animacije konstantno spreminjali. Veliko vlogo je v začetku 20. stoletja igral Walt Disney, nekaj let kasneje pa še Warner Brothers. Oba studija sta še danes svetovno znana po izdelavi raznih animiranih filmih. S prihodom prve računalniško ustvarjene animacije pa se je začela revolucija na tem področju. V filmski industriji niso več potrebovali resničnih, dragih scen, ki so v realnosti težko izvedljive in celo nevarne. Revolucionarni razvoj nam je zagotovil, da se lahko z razvojem animacij in modeliranjem ukvarjamo tudi ljubiteljsko. 3.2. Računalniška vizualizacija naravnih pojavov Od pojava računalniških animacij človek vseskozi želi upodabljati razne posebne učinke pojavov v naravi in realnem življenju. V računalniški grafiki poznamo več metod za vizualizacijo naravnih pojavov. V našem primeru smo uporabili sisteme delcev (ang. Particle system), s katerimi lahko z različnimi nastavitvami, ki jih bomo opisali v nadaljevanju, dosežemo dobro vizualizacijo ognja. Opisali še bomo senčilnike (ang. Shaders), ki vizualizacijo naredijo še boljšo. Obe metodi sta v računalniški grafiki pri vizualiziranju naravnih pojavov pogosto uporabljeni. 4

3.2.1. Sistemi delcev Za vizualizacijo ognja smo uporabili metodo sistema delcev (angl. Particle system). Sisteme delcev uporabljamo za vizualizacijo različnih posebnih učinkov kot so ogenj, dim, eksplozija, za vizualizacijo vodnih učinkov, meglice, trave, prahu in podobno. Sisteme delcev v računalništvu pojmujemo kot množico podobnih objektov oziroma»delcev«, ki imajo lahko različne geometrijske oblike. Ker je posamezen delec obravnavan ločeno od ostalih delcev, lahko vsakemu delcu posebej določimo obliko, začetni položaj, hitrost in smer gibanja, njegovo življenjsko dobo, barvo in podobne lastnosti. Vse te lastnosti imenujemo atributi. Vsak delec je neodvisen od drugih. Primer uporabe sistema delcev za vizualizacijo eksplozije prikazuje slika 3.2. Slika 3.2: Primer sistema delcev za prikaz eksplozije Tehniko sistema delcev je leta 1982 prvi predstavil William T. Reeves, ki je bil raziskovalec pri podjetju Lucasfilm [3]. Definiral je osnovni delec, ki se mu skozi čas spreminja oblika in ima svoj življenjski cikel. Danes v računalniški grafiki uporabljamo ta osnovni model sistema delcev, saj se skozi zgodovino razvoja računalniške grafike ni spreminjal [3]. Življenski krog sistema delcev za primer vizualizacije ognja poteka na naslednji način. Vsak delec se v sistemu pojavi skozi tri različne faze [3]: - Ustvarjanje delcev: Delci se v sistemu ustvarijo naključno in jim vnaprej določimo začetni položaj. Oblika in položaj se skozi proces spreminjata. Območje, kjer se 5

ustvarijo delci imenujemo izvor (angl. Emitter) in ima pri 3D modeliranju ponavadi geometrijsko obliko kvadra, krogle ali črte, oziroma drugega geometrijskega objekta. - Dinamika delcev: Lastnosti oziroma atributi posamezni delcev, ki smo jih določili, se lahko skozi čas spreminjajo. Tako v primeru vizualizacije ognja spreminjamo barvo delca iz svetlejše v temnejšo glede na hitrost in oddaljenost od središča (izvora). To bi v realnem svetu pomenilo, da se posamezni plameni ognja ohlajajo in na koncu tudi izginejo. - Življenjska doba delcev: Posamezen delec se v sistemu ustvari, se skozi čas spreminja in se v sistemu obnaša glede na njegove atribute. Življenjska doba delca pomeni, kako dolgo je delec v animaciji. Ustvarjanje delcev Delci se v določenem času ustvarijo naključno v notranjosti izvora. V posameznem okvirju (ang. Frame) se ustvari različno število delcev. Z nenehnim generiranjem novih delcev lahko vplivamo na gostoto končnega objekta, ki se pojavi v sistemu. William T. Reeves je v svoji raziskavi zapisal, da se lahko oblikovalec za nadzor števila novih delcev odloči za enega izmed dveh načinov. Pri prvi metodi oblikovalec kontrolira povprečno število delcev, ki se ustvarijo na posamezni okvir, in njihovo varianco. Za izračun števila novih delcev, ustvarjenih v okviru, uporabimo naslednjo enačbo [3]: n = n m + rand[ 1,1] v (3. 1) Tu je: n število novih delcev, n m povprečno število novih delcev, rand[ 1,1] naključno število v območju med -1 in 1, v varianca. Pri drugem načinu je število novih delcev odvisno od velikosti območja sistema delcev na zaslonu. Oblikovalec tako kontrolira povprečno število delcev, ustvarjenih na enoto območja zaslona S in z upoštevanjem njihove variabilnosti. Tako je Reeves zgornjo enačbo spremenil v naslednjo obliko [3]: 6

n = (n m + rand[ 1,1] v) S (3.2) Tu je: n število novih delcev, n m povprečno število novih delcev, rand[ 1,1] naključno število v območju od -1 do 1, v varianca števila delcev, S območje na zaslonu, ki ga pokriva sistem delcev merjeno v slikovnih pikah. Lastnosti delcev Na obnašanje posameznih delcev vplivamo z nastavitvami njihovih lastnosti. Nekaj atributov smo že omenili. Tako ima vsak delec [3]: - začetni položaj, - velikost, - barvo, - hitrost, - smer gibanja, - prosojnost, - starost, - življenjsko dobo in - izvor. Dinamika delcev Posamezni delci se znotraj sistema delcev premikajo v tridimenzionalnem prostoru in v določenem času spreminjajo svojo velikost, barvo in prosojnost. Za premik posameznega delca po času mu je potrebno določiti vektor hitrosti. Na delce vplivajo razne sile, kot je na primer sila gravitacije. Za posamezne delce lahko uporabimo nastavitve odboja, rotacije, spreminjanje barve in prosojnost ter druge nastavitve, ki spreminjajo obliko in položaj delcev. Življenjska doba delcev Ko se delci ustvarijo, jim določimo tudi njihovo življenjsko dobo. Življenjska doba delca se ob vsakem okvirju zmanjša. Delec iz sistema izgine oziroma se uniči, ko njegova življenjska 7

doba doseže vrednost nič. Uniči pa se lahko tudi, če je njegov položaj izven vidnega polja, lahko pa tudi postane neviden zaradi prosojnosti ali barve, ki je enaka barvi ozadja. 3.2.2. Standard OpenGL in senčilniki Senčilniki se v računalniški grafiki uporabljajo pri izdelavi filmov, iger in različnih animacij. So preprosti programi, ki so se prvotno uporabljali za senčenje, ustvarjanje različnih nivojev svetlobe, teme in barve. Danes se senčilniki uporabljajo za različne funkcije za posebne učinke povezane s senčenjem [4]. Senčilniki so napisani v namenskem programskem jeziku GLSL (angl. Open Shading Language). Programski jezik GLSL temelji na programskem jeziku C. Ustvaril ga je OpenGL ARB (angl. OpenGL Architecture Review Board) z namenom, da imajo razvijalci boljši nadzor nad grafičnim cevovodom (angl. Graphics Pipeline). Tako lahko s temi preprostimi programi opišemo spremembe vrednosti slikovnih pik ali oglišč kot so položaj, teksture, barve in podobno. Ker senčilniki delajo nad slikovnimi pikami ali oglišči, poznamo več tipov senčilnikov: - Senčilniki oglišč (angl. Vertex shaders) - Senčilniki fragmentov (angl. Fragment shaders) - Senčilniki geometrije (angl. Geometry Shaders) OpenGL (angl. Open Graphics Library) je standard za prikaz 2D in 3D grafike. Leta 1992 so ga razvili pri podjetju Silicon Graphics Inc. z namenom poenostavitve dela z različnimi grafičnimi pospeševalniki. Danes velja kot najbolj razširjen in podprt 2D in 3D grafični vmesnik. Zato se veliko uporablja v industriji iger, filma, znanstvenih vizualizacijah in simulacijah ter na drugih področjih, ki se ukvarjajo z računalniško grafiko [5]. Standard OpenGL omogoča prikazovanje 3D scen, ki so sestavljene iz preprostih geometričnih oblik. V osnovi sprejema različne geometrijske elemente kot so daljice in mnogokotnike in jih pretvarja v slikovne pike. Za to pretvarjanje je zadolžen grafični cevovod. Z OpenGL lahko programerji v času izdelovanja in izrisa scene nadzorujemo vsak korak [5]. OpenGL je vplival na osnovno raven razvoja funkcionalnosti današnje strojne opreme [5]. 8

4. ANIMACIJSKI PAKET BLENDER Za 3D modeliranje in izdelavo animacij obstaja več razvojnih orodij. Z vedno hitrejšim tehnološkim razvojem se povečuje tudi potreba po dobrih razvijalnih orodjih. Na trgu najdemo veliko namenskih aplikacijskih platform. Zagotovo pa so najbolj priljubljene platforme, Maya, 3D Studio MAX, LightWave 3D in Cinema 4D. Vsi našteti so za uporabo plačljivi in nas lahko stanejo veliko denarja. Eden najbolj razširjenih odprtokodnih animacijskih paketov je orodje Blender, ki se je s svojimi novejšimi različicami približal zgoraj omenjenim tekmecem. Ponuja nam različne metode za 3D modeliranje, post produkcijo, animacijo v realnem času, izdelovanje računalniških iger in podobno. Blender ponuja večino tega, kar ponujajo profesionalna orodja, na primer Maya, ki velja za vodilno platformo v razvijanju grafike [6]. Pri predmetu Računalniška grafika in animacija smo spoznali osnove razvoja animacij v Blenderju. Odločili smo se, da bomo vizualizacijo ognja izdelali z njegovo platformo in njegovimi orodji, ki jih ponuja. Zanima nas predvsem, kakšno kvaliteto in realizem lahko dosežemo z odprtokodnim orodjem. V naslednjih dveh podpoglavjih bomo spoznali kratko zgodovino programskega orodja Blender in gradnike, ki jih ponuja in so najbolj pogosto uporabljeni. Predstavili bomo predvsem metode, ki jih potrebujemo za vizualizacijo ognja. Se pravi sisteme delcev, teksture in senčilnike. 4.1. Kratka zgodovina Leta 1988 je Ton Roosendall na nizozemskem ustanovil animacijski studio NeoGeo. Nizozemski studio je v tistem času veljal za enega vodilnih 3D animacijskih studiev v Evropi. V okviru studia so leta 1995 razvili aplikacijo za lastno uporabo. Aplikacija je dobila ime Blender. Za nadaljnji razvoj in distribucijo orodja Blender sta Toni Roosendall in Frank van Beek leta 1998 ustanovila novo podjetje, imenovano Not a Number (NaN). Namen novega podjetja je bil predvsem ustvarjanje 3D animacijske programske opreme. V ospredju podjetja NaN je bila želja po distribuciji grafičnega programskega orodja brezplačno. Takrat je bila to zelo dobra zamisel, saj je večina komercialnih profesionalnih orodij stala na tisoče dolarjev. Kljub temu Blender takrat ni dosegel računalniške javnosti in kmalu za tem ostal brez sredstev za delovanje. Zaradi pomanjkanja sredstev je podjetje šlo v stečaj [7]. Toni Roosendall kljub vsemu ni obupal in je marca leta 2002 ustanovil neprofitno organizacijo Blender Foundation, ki je pod sloganom»osvoboditev Blenderja«začela zbirati donacije. Za spremembo Blender-ja v odprtokodno orodje je potrebovala 100.000 dolarjev, ki jih je zbrala v dveh mesecih. Danes tako animacijski paket Blender ostaja odprtokodno orodje [7]. 9

Blender je leta 2014 s svojimi novejšimi različicami od 2.7 naprej pritegnil ogromno pozornost računalniške javnosti. Razvijalci so z nadaljnjim razvojem in novejšimi različicami odprtokodno orodje za 3D modeliranje in animacijo postavili ob bok vodilnim razvojnim orodjem. V času pisanja tega dela je zadnja različica Blenderja verzija 2.79. To smo tudi uporabili za vizualizacijo ognja. Za leto 2018 je napovedana nova različica 2.8, ki prinaša veliko novosti. Ker je Blender brezplačen in z vsako novo različico neprestano zmogljivejši, postaja vedno bolj priljubljeno orodje za razvoj grafičnih animacij. 4.2. Gradniki Blenderja V nadaljevanju so opisani gradniki Blenderja, brez katerih pri 3D modeliranju in izdelovanju animacij ne moremo in smo jih uporabili v primeru vizualizacije ognja. 4.2.1. Luči Z lučmi (angl. Lamps) lahko v sceno dodamo svetlobo in so zelo pomemben del pri izdelovanju animacij ter vizualizacij v prostoru. Luči v sami animaciji animiramo enako kot vse druge objekte, edina razlika je v tem, da objekti luči niso neposredno vidni [8]. Blender razlikuje več vrst luči: - Točkovno svetilo (angl. Point Lamp), - usmerjeno svetilo (angl. Spot Lamp), - območno svetilo (angl. Area Lamp) in - svetilo sonca (angl. Sun Lamp). V samo animacijo oziroma sceno lahko vključimo poljubno število luči in s tem dosežemo še boljše rezultate kot sicer. S pravilnimi nastavitvami luči lahko dosežemo boljši realizem. To bomo pozneje pokazali na našem primeru. 4.2.2. Kamera V Blenderju kamero uporabljamo za končni prikaz scene, ki jo bomo ustvarili. Skozi objekte kamer uporabnik vidi končno animacijo, pri čemer lahko definira več kamer. Vsaka kamera predstavlja pogled na sceno iz določene smeri in prikazuje vse kar je v vidnem polju kamere. Imamo različne perspektive (postavitve) kamere in jo lahko poljubno premikamo skozi čas animacije. Kameri lahko nastavljamo poljubne lastnosti kot so velikost okna za prikazovanje, ki je podana v slikovnih pikah, nastavimo lahko tudi premik in rotacijo kamere, ki se pozna kot gibanje celotne scene. To nam lahko izboljša končni rezultat [8]. 10

4.2.3. Objekti Osnovni geometrijski objekti v Blenderju predstavljajo osnovo za oblikovanje predmetov v 3D sceni. Predstavljeni so v obliki geometrijskih likov kot sta na primer kocka in krogla ali v kakšni drugi geometrijski obliki. Z modeliranjem in sestavljanjem le-teh lahko ustvarimo različne predmete, ki jih poznamo v resničnem življenju. Slika 4.1: Standardni geometrijski objekti v animacijskem paketu Blender, vir [8] Posebnost Blenderja je objekt opice»suzanne«, ki je nekakšna maskota Blenderja. V Blenderju tako poznamo objekte»primitive«, ki jih prikazuje slika 4.1: - ploskev (angl. Plane) - kocka (angl Cube), - krog (ang. Circle), - sfera UV (angl. UV Sphere), - ikosfera (angl. Icosphere), - cilinder (angl. Cylinder), - stožec (angl. Cone), - torus (angl. Torus), - mreža (angl. Grid). Objektom lahko nastavimo različne nastavitve kot so velikost, postavitev, barvo in podobne lastnosti, ki jih prikazuje spodnja slika 4.2. V našem primeru smo na primer objekt cilinder 11

uporabili za oblikovanje drv, nekatere druge geometrijske objekte pa za ustvarjanje bakel [8]. Slika 4.2: Različne nastavitve objektov v Blenderju 4.2.4. Sistemi delcev Kot smo že opisali, sisteme delcev uporabljamo za vizualizacijo različnih posebnih učinkov. Tako lahko dinamični delci predstavljajo ogenj, dim, meglico in druge stvari kot so na primer prah in tekočine. Pri Blenderju poznamo dve vrsti sistema delcev. Imenujemo ju izvor, o katerem smo nekaj že povedali, in lasje (angl. Hair). Slednja vrsta sistema se primarno uporablja za izdelavo las, trave, bodic in podobno. Prav tako pa se lahko uporablja še za vse ostalo. Z nastavitvijo različnih atributov lahko nadziramo njihovo obnašanje in z njimi dosežemo še večji realizem kot sicer. V Blenderju lahko uporabimo naslednje lastnosti sistema delcev [9]: 12

- začetek (angl. Start) določimo začetni okvir pojavljanja delcev, kjer lahko določimo tudi negativne vrednosti, ki omogočajo, da se simulacija delcev začne že pred upodabljanjem, - konec (angl. End) določimo zadnji okvir, ko se simulacija delcev konča, - življenjska doba (angl. Lifetime) določimo življenjsko dobo posameznih delcev, - naključna (angl. Random) sprememba življenjske dobe danega delca, - število delcev (angl. Number), ki se jih ustvari na posamezni okvir, - hitrost (angl. Velocity) nastavimo začetno hitrost pojavljanja delcev z različnimi parametri glede na vrsto sistema (izvor ali lasje), - zasuk (angl. Rotation) omogočimo in z različnimi parametri določimo, kako se posamezni delci vrtijo med potovanjem, - fizika delcev (angl. Physics) pod temi nastavitvami omogočimo gibanje delcev in z različnimi parametri določamo njihovo velikost (angl. Size), naključno velikost (angl. Random Size) in njihovo maso (angl. Mass), - nastavitve vpliva (angl. Influence) s katerimi vplivamo na različne parametre kot so čas generiranja delcev, življenjska doba, velikost in gostota, hitrost in gravitacija ter silo, ki deluje na delce. Meni nastavitev v Blenderju prikazuje 4.3. Slika 4.3: Nastavitve vplivov na posamezne parametre sistema delcev v Blenderju Zgoraj smo našteli samo nekatere lastnosti, ki jih lahko uporabimo nad sistemom delcev. Slika 4.4 prikazuje panel v Blenderju, kjer lahko nastavljamo posamezne lastnosti. 13

Slika 4.4: Nastavitve sistema delcev Blender 4.2.5. Teksture in materiali V Blenderju lahko geometrijskim objektom dodelimo različne teksture. Tako lahko na objektih uporabljamo različne vzorce, ki dajejo prepričljiv vtis resničnega predmeta. Z izbiro pravega materiala, kot sta na primer les in kovina, lahko dosežemo pravi realizem predmetov, ki jih s 3D modeliranjem ustvarjamo. V našem primeru vizualizacije ognja smo za teksture drv uporabili materiale lesa. Na sliki 4.5 je prikazana tekstura kocke v obliki lesa. 14

Slika 4.5: Teksture kocke v obliki lesa 4.2.6. Polje sil Nekaj je potrebno povedati še o uporabi različnih sil (angl. Force Fields). V naravi vpliva na gibanje in obnašanje naravnih pojavov veliko dejavnikov. Na primer, na smer in moč ognja lahko vpliva veter. Tako lahko na obnašanje delcev v sistemu vplivamo z uporabo objektov polja sil (angl. Force Fields). Blender nam ponuja različne tipe kot so sila (angl. Force), veter (angl. Wind), vrtinec (angl. Vortex), magnet (angl. Magnetic), turbulenca (angl. Turbulence) in tok dima (angl. Smoke Flow) [10]. V našem primeru smo uporabili veter. 15

4.3. Upodabljanje slike in videa Upodabljanje (angl. Rendering) je proces ustvarjanja 2D slike ali videa iz 3D scene. Kako je na koncu videti končen izdelek, je odvisno od štirih faktorjev, ki jih lahko uporabnik nadzira. To so [11]: - kamere, - luči, ki jih nastavimo v našo sceno, - materiala vsakega objekta in - nastavitev upodabljanja, ki jih lahko poljubno spreminjamo (kvalitete, velikosti, sloji, itd.). Tako bo računalnik oziroma procesor izvedel različne zapletene izračune, ki jih naša scena potrebuje, da lahko na koncu ustvarimo končni izdelek. To procesiranje pa ima veliko časovno zahtevnost. Na hitrost procesiranja vpliva tudi moč računalnika. Na koncu lahko sliko ali video shranimo v enega od izhodnih formatov kot so.jpg,.avi,.mp4 in podobno. Pogon upodabljanja Motor upodabljanja (angl. Render Engine) je koda, ki nadzira uporabo naših materialov, osvetlitve in podobnih nastavitev. Od te kode je odvisno, kakšen bo končen izgled slike ali videa [12]. Blender ima tri privzete pogone: - Blender Render, - Game Render, - Cycles Render. Mi smo za izdelavo praktičnega dela diplomske naloge uporabili Cycles Render. 16

5. IZDELAVA FOTOREALISTIČNE ANIMACIJE OGNJA Kot smo že uvodoma omenili, smo za vizualizacijo ognja in doseganje realizma uporabili odprtokodni animacijski paket Blender, ki si ga lahko snamemo z njihove uradne spletne strani. V tem poglavju bomo predstavili samo zamisel scene animacije in načine, kako smo vizualizirali ogenj in dim. Skozi izdelavo praktičnega dela smo morali biti pozorni predvsem na samo hitrost razvijanja ognja, višino plamenov in barvo, ki se ob gibanju plamenov spreminja. Vse to bomo opisali v spodnjih podpoglavjih. 5.1. Vizualizacija različnih tipov ognja in povezanih fenomenov Za potrebe reševanja problema, s katerim se ukvarjamo v diplomskem delu, smo se morali lotiti preučevanja različnih tehnik in pridobivanja različnega znanja, da smo na koncu problem najboljše rešili. Ob tem smo podrobneje raziskali program Blender in tehnike, ki jih ponuja za izdelavo posebnih učinkov. V nadaljevanju predstavljamo preproste vizualizacije ognja, ki smo jih na začetku izdelali za potrebe pridobivanja znanja. Goreča krogla Slika 5.1 prikazuje gorečo kroglo, ki nam daje občutek, da krogla leti. Predstavljamo si jo lahko kot izstrelek iz katapulta. Na dveh različnih okvirjih prikazujemo, kako se goreča krogla spreminja in kako se ogenj širi. Vizualizacija goreče krogle je bila prvi primer, ki smo se ga lotili v začetku izdelave diplomske naloge. Za vizualizacijo smo uporabili objekt krogle, ki smo mu dodali objekt domene tipa ogenj in dim. Uporabili smo večjo gostoto dima, da se ga lahko bolje opazi v animaciji. Ker smo želeli, da nam goreča krogla daje občutek gibanja, smo na levi strani uporabili objekt vetra. Ognju smo nastavili tudi vrtenje, barvo ozadja pa smo nastavili na črno. V sceni smo uporabili štiri svetila sonca. Pri izdelavi prve animacije ognja smo se veliko naučili o uporabi domene dima (angl. Smoke Domain) in jo bomo podrobneje predstavili v nadaljevanju. 17

Slika 5.1: Primer goreče krogle Goreča opica»suzanne«poizkušali smo uporabiti različne nastavitve razvoja ognja. Da smo primer popestrili, smo uporabili»maskoto«blenderja, opico Suzanne. Z gorečim objektom smo preverjali različne nastavitve višine plamena. Razvoj ognja na objektu opice prikazuje slika 5.2. Za osnovni objekt smo uporabili opico, ki se vžge. Nad opico smo uporabili objekt domene dima. Preizkušali smo različne nastavitve dima in analizirali, kako te nastavitve vplivajo na samo gostoto dima in višino plamenov ognja. Pri drugi vizualizaciji ognja smo se prvič srečali z uporabo barvne lestvice (angl. Color Ramp), ki jo bomo podrobneje predstavili v nadaljevanju. Uporabili smo jo za spreminjanje barve ognja glede na hitrost in temperaturo gorenja. Ognju smo dodali tudi proceduralno teksturo oblakov (angl. Clouds), ki jo Blender ponuja. S tem smo dosegli bolj naraven učinek gorenja. Več o uporabi proceduralne 18

teksture ognja bomo povedali v naslednjem podpoglavju. Naš namen izdelave goreče opice je bil spoznati različne nastavitve, ki vplivajo na višino, barvo in hitrost ognja. Slika 5.2: Primer razvoja ognja goreča opice "Suzanne" 19

Vžigalica Razmišljali smo tudi o vizualizaciji vžiga in prikaza na predmetu iz resničnega življenja. Dobili smo zamisel, da bi za potrebe učenja modeliranja v Blenderju izdelali vžigalico, na kateri bi prikazali vžig in razvoj ognja. V pravi realizem se tu še nismo spuščali. Iz kocke smo izdelali telo vžigalice in na koncu dodali vžigalno kapico elipsaste oblike. Na tem primeru smo se tudi prvič srečali z uporabo tekstur in metodo preslikave UV, ki jo bomo podrobneje opisali v samem opisu izdelave animacije ognja v naslednjem poglavju. Telesu vžigalice smo nastavili teksturo lesa. Tudi tu smo za spreminjanje barve ognja glede na hitrost in temperaturo gorenja uporabili barvno lestvico. Za ozadje smo uporabili črno barvo. Slika 5.3 prikazuje primer goreče vžigalice. Slika 5.3: Primer vžigalice v 24. okvirju Eksplozija ikosfere Zanimala nas je tudi izdelava preproste eksplozije, ki jo zelo pogosto uporabljajo v filmski industriji. Odločili se smo, da bomo»razstrelili«objekt ikosfere, ki jo ponuja Blender. Pri tem primeru smo se prvič srečali z uporabo sistema delcev, za izvor pa smo uporabili ikosfero. Takšna preprosta eksplozija nam je vzela daleč največ časa za upodabljanje na posamezni okvir. Razlog za to je uporaba sistema delcev. Ploskve ikosfere smo uporabili za obliko delcev, ki se v času animacije razletijo po podlagi. Tudi pri eksploziji smo z uporabo 20

barvne lestvice nastavili barvo gorenja glede na eksplozijo. Barvno lestvico smo v tem primeru tudi uporabili za razvoj dima. Slika 5.4 prikazuje začetno stanje pred eksplozijo in pozneje eksplozijo v 18. okvirju. Vidimo, da se goreči deli ikosfere lepo razletijo po podlagi. Uspelo nam je doseči kar dober približek eksplozije. Slika 5.4: Primer eksplozije sfere ICO Postopek in metode, ki smo jih uporabili pri izdelavi teh štirih vizualizacij ognja, bomo podrobneje opisali v naslednjih podpoglavjih in se zato tu v natančen opis postopka nismo spuščali. 21

5.2. Zamisel scene vizualizacije ognja Naš cilj je izdelati animacijo, ki bo v naravi prikazovala realističen ogenj. Pri modeliranju in razvijanju animacij je dobra zamisel enako pomembna kot sam proces in način poznejše izdelave. V računalniški grafiki velja, da je dobra zamisel v procesu izdelave animacije lahko celo najbolj pomembna. Predstavitev je zelo pomembna. Ogenj brez prave podlage ozadja ne daje pravega fotorealizma. Zato smo za praktični del diplomskega dela uporabili slike ozadja, ki prikazujejo okolico ognja. Zamislili smo si dve sceni, s katerima bomo preverjali dejavnike vpliva na realizem. Predstavljajmo si, da ima mlada družina nekje na samem vikend hišo, na katerem se ob prostih dnevih in počitnicah radi zbirajo. Ko svoje proste dneve preživljajo na vikendu, se radi ob večerih družijo ob tabornem ognju, kjer se pogovarjajo in zabavajo. Moški del družine že pred mrakom pred hišo zakuri ogenj. Ozadje, ki smo ga uporabili za podlago na katerem bo naš ogenj, lahko vidimo na sliki 5.5. Slika 5.5: Uporabljena podlaga za vizualizacijo tabornega ognja Na drugi sceni pa je naša zamisel bila park. V parku smo izdelali tri bakle, ki ob sprehajalni poti spremljajo sprehajalce. Za iste bakle smo uporabili tudi drugo podlago in sicer sončni zahod na peščeni plaži. Namen uporabe dveh različnih podlag na enaki sceni bakel je bil preveriti vpliv podlage pri doseganju realizma. Na koncu smo ugotovili, da tudi slika ozadja, ki jo uporabimo, močno vpliva na našo zaznavo realizma v animaciji. Več o tem bomo opisali v šestem poglavju. Uporabljeno prvo sliko ozadja za bakle prikazuje slika 5.6, drugo sliko ozadja pa lahko vidimo na sliki 5.7. 22

Slika 5.6: Uporabljena prva podlaga za vizualizacijo ognja bakel Slika 5.7: Uporabljena druga podlaga za vizualizacijo ognja bakel 23

5.3. Uporabljene metode in potek vizualizacije ognja v okolju Blender Pri praktičnem delu diplomske naloge smo se lotili izdelave fotorealistične animacije ognja v paketu Blender. Za vizualizacijo ognja smo uporabili najnovejšo različico Blenderja 2.79. V prejšnjem poglavju smo opisali nekatere gradnike in metode, ki se najpogosteje uporabljajo. Tudi za rešitev našega problema smo morali uporabiti nekatere izmed njih. Potek izdelave animacije bomo opisali v nadaljevanju. V opise in podrobne razlage posameznih oken in njihovih namembnosti uporabniškega vmesnika Blenderja se v tej diplomski nalogi ne bomo spuščali. Naš namen je prikazati tehnike, s katerimi lahko dosežemo vizualizacijo ognja in čim višjo stopnjo realizma. Slika 5.8 prikazuje začetni uporabniški vmesnik Blenderja. Slika 5.8: Začetno delovno okolje animacijskega paketa Blender TABORNI OGENJ OB HIŠI Pri vizualizaciji tabornega ognja ob hiši smo se najprej lotili izdelave ognja in nastavljanjem njegovih funkcionalnosti. Za izvor ognja in sistem delcev smo uporabili krog, ki smo mu dodali domeno dima. V starejših različicah Blenderja domene dima ni bilo, zato je uporabnik moral vse te nastavitve nastaviti sam. Danes je razvijalcev z novimi različicami razvojnih okolij to zelo poenostavljeno. Iz menija le izberemo različne domene, kot je na primer bila v našem primeru domena dima, ki se samodejno ustvari na izvor. Po želji samo spreminjamo nekatere nastavitve kot so gostota dima, temperaturna razlika, nastavitve 24

plamena in nekatere druge lastnosti vezane na dim in ogenj. Poigrali smo se z nastavitvami in spremljali kako se ogenj spreminja. Ob tem smo ugotovili, da vse te nastavitve vplivajo na čas izračuna, ki ga procesor porabi. Že podvojitev ločljivosti dima močno poveča čas upodabljanja. Sisteme delcev smo ustvarili in za izvor, kjer se bodo delci ustvarjali, izbrali krog. Opazili smo, da je delcem potrebno nastaviti več lastnosti, da se bodo v sistemu pravilno obnašali. Ena izmed nastavitev je tudi gravitacija, zaradi katere so delci na začetku padali. Zmanjšali smo jim vrednost, da so potem leteli v zrak. Prav tako smo delcem določili obliko objekta sfere UV, na katerem smo v urejevalniku vozlišč dodali material in barvo, ki se spreminja ob spreminjanju temperature. Čez nekaj časa pa delec postane črn, popolnoma ugasne in izgine iz sistema delcev. GOREČE BAKLE Pri vizualizaciji ognja gorečih bakel smo se najprej lotili izdelave bakel. Za stojalo smo uporabili cilinder in za zgornji okvir bakle torus. Oba objekta smo raztegnili na primerno velikost. Potrebno je bilo nastaviti tudi teksture. Z metodo UV odvijanja, ki jo bomo podrobneje opisali v nadaljevanju, smo 3D objekt odvili in mu prilagodili 2D teksturo. Tekstura stojala ima videz temnega lesa, okvir bakle pa videz sive kovine. Postopek izdelave ognja je podoben kot pri ognju ob hiši. Za izvor smo uporabili krog in ga prilagodili v notranjosti bakle. Uporabili smo domeno dima, uporabili ogenj in se poigrali z nastavitvami, ki smo jih že prej opisali. Gostoto dima smo zmanjšali na minimum, saj pri baklah ne gorijo drva, ob katerih se ponavadi sprošča več dima. Pri tem pa za vir nismo izbrali sisteme delcev, ampak mrežo (angl. Mesh). Ustvarili smo več bakel, saj smo hoteli ugotoviti, za koliko se nam bo za dodatno novo baklo povečal čas upodabljanja. Te ugotovitve bomo predstavili v naslednjih podpoglavjih. V času izdelave smo ugotovili, da so na sliki tudi sence, ki jih mečejo drevesa. Zato smo jih tudi mi morali dodati. Vsaki bakli smo dodali podlago, na kateri prikazujemo sence. V desnem kotu zgoraj smo ustvarili objekt sonca in mu nastavili primerno intenziteto. Naš prvi korak v izdelavi animacije je bil ustvariti izvor in mu nastaviti nekatere pomembne nastavitve. Potek izdelave ognja pri tabornem ognju ob hiši bomo v nadaljevanju podrobneje opisali v petih korakih. Pri vizualizaciji ognja gorečih bakel je postopek podoben. Izvor sistema delcev in domena dima V tretjem poglavju smo zapisali, da ima izvor geometrijsko obliko. V našem primeru smo uporabili krog (angl. Circle), ki se lepo prilagaja tabornemu ognju. 25

Na izvoru smo uporabili objekt domene dima (angl. Smoke domain). Objekt domene dima vsebuje celotno simulacijo dima. Dim ne more zapustiti mej domene. Čas izračuna simulacije dima je odvisen od velikosti domene in ga bomo upoštevali v naslednjem poglavju o časovni zahtevnosti, ki jo procesor porabi za izračune. Nekaj časa nazaj so morali razvijalci animacij takšne simulacije s svojimi nastavitvami ustvariti sami, danes je to poenostavljeno z različnimi domenami simulacij, ki nam prihranijo čas izdelave. Slika 5.9: Domena dima in nastavitve Primer objekta domene dima in nastavitve za naš primer lahko vidimo na sliki 5.9. V nastavitvah lahko nastavljamo različne lastnosti, ki zelo vplivajo na kvaliteto samega ognja ali dima. Tako lahko nastavimo: - Ločljivost (angl. Resolution): Večja vrednost razdelkov (angl. Divisions) pomeni boljšo kvaliteto dima. - Časovnico (angl. Time Scale): Z njo kontroliramo hitrost simulacije. - Gostoto dima (angl. Density): Kontroliramo gostoto dima, ki se pokaže v simulaciji. - Temperaturno razliko (angl. Temperature Difference): z njo vplivamo na višino plamenov in dinamiko gibanja dima. - Turbulentnost (angl. Vorticity): Z nastavitvijo nadziramo količino turbolence v dimu. Višje vrednosti bodo ustvarile veliko manjših»vrtincev«, nižje vrednost pa bodo ustvarile bolj gladke plamene in večje vrtince. Primer različnih nastavitev prikazuje slika 5.10. - Nastavitve plamenov in dima: Tu lahko nastavljamo lastnosti kot so hitrost gorenja, količina dodatnega dima, ki se ustvari z gorljivo snovjo, dodajamo lahko dodatno gravitacijo za plamen, minimalno in maksimalno temperaturo plamena in barvo dima, ki ga ustvari snov, ki je zgorela. Pozneje bomo prikazali, kako smo z uporabo 26

urejevalnika vozlišč (angl. Node editor) ognju dodelili barvo, ki se spreminja glede na obnašanje ognja. - Nastavitve za prilagojeno domeno dima (angl. Smoke adaptive domain): Omogoča, da se bo domena zmanjšala oziroma prilagodila ustreznemu dimu, s tem pa nam prihranila čas izračuna simulacije dima. - Možnost vklopa visoke ločljivosti dima (angl. Smoke High Resolution): Omogoča simulacijo dima pri nizki ločljivosti in nato z uporabo tehnike šuma (Noise method dve možnosti Wavelet and FFT) izboljša ločljivost, brez da bi jo dejansko izračunali. Razliko med Wavelet in FFT prikazuje slika 5.10. Slika 5.10: Vpliv parametrov na obliko dima a) različne nastavitve turbulentnosti, b) uporaba metode hrupa opcije Wavelet in FFT Nastavitve izvora in barve ognja V resničnem življenju je izgled ognja ter dima odvisen od različnih gorljivih snovi, ki vplivajo na obliko ter barvo plamenov, vplivajo pa tudi na sam potek gorenja. Poznavanje teh zakonitosti in obnašanja realnega ognja lahko uporabimo pri doseganju realizma pri vizualizaciji. Opazimo, da na barvo ognja vplivata hitrost gorenja in temperatura, ki se z oddaljenostjo od središča spreminja. V središču ognja je barva svetlejša (visoka temperatura) na vrhovih posameznih plamenov pa barva temnejša (nižja temperatura). Čez nekaj časa se temperatura tako zniža, da plamen preprosto ugasne. 27

Slika 5.11: Izvor in njegove nastavitve V nastavitvah izvora imamo možnost izbire več tipov, kar prikazuje slika 5.11. Če bi izbrali ogenj in dim (angl. Fire and Smoke), bi se ogenj in dim v izvoru pojavila ob istem času, kar pa je neobičajno in ne daje realističnega učinka gorenja. Uporabili samo ogenj (angl. Fire), ki smo mu v urejevalniku vozlišč nastavili barvo plamenov glede na spreminjanje temperature in hitrosti gorenja. Z uporabo domene dima so bili nekateri atributi pri simulaciji ustvarjeni samodejno, kar je velika prednost izbire hitrega učinka dima (angl. Quick Smoke Effects). Za doseganje realistiščne vizualizacije barve ognja, smo morali nekatere atribute dodati sami. Izbrali smo atribut in ga poimenovali»flame«. Z uporabo barvne lestvice (angl. Color Ramp) smo nastavili barvo, ki se spreminja glede na temperaturo in hitrost gorenja. 28

Slika 5.12: Uporaba urejevalnika vozlišč in uporaba barvne lestvice Za boljše razumevanje je potrebno podrobneje opisati nastavitve spreminjanja barv, ki smo jih nastavili v vozlišču barvne lestvice. Na sliki 5.12 vidimo, da smo uporabili več različnih nivojev barv. Levo je črna barva, kar pomeni, da je temperatura enaka nič, skrajno desno pa bela barva, ki predstavlja zelo visoko temperaturo. Med najnižjo in najvišjo temperaturo smo uporabil dva vmesna odtenka oranžno rdeče barve, ki predstavljata mejo in hitrost spreminjanja barve iz svetlejše v temnejšo. Kljub vsem zgoraj opisanim korakom, ki smo jih do zdaj naredili, pa nas ogenj ni prepričal, čeprav je bil videti na prvi pogled realističen. Za dosego večjega realizma je nekaj manjkalo. Opazili smo, da ogenj v resničnem življenju ne gori v ravni liniji, ampak so posamezni plameni razpršeni. Za razpršenost plamenov v ognju smo uporabili teksturo. Pri nastavitvi izvora ognja smo pod naprednimi nastavitvami dima (angl. Smoke Flow Advanced) nastavili teksturo ognja, ki poveča realizem razpršenosti. V našem primeru gre za proceduralno teksturo, uporabili pa smo obliko oblakov (angl. Clouds). Tako smo dobili več manjših plamenov. Nastavitve teksture ognja prikazuje slika 5.13. 29

Slika 5.13: Uporaba teksture oblakov za ogenj Z uporabo tako majhnega dodatka kot je proceduralna tekstura ognja, ki jo Blender ponuja, lahko dejansko dosežemo veliko bolj realističen izgled. Tako zdaj ni več en veliki ogenj, ampak lahko opazimo majhne plamene ognja. Z uporabo ključnih okvirjev (angl. Keyframe) smo pod»offset«nastavili tudi hitrost spreminjanja teksture. Tekstura se bo skozi čas animacije spreminjala. S tem smo dosegli, da se plameni spreminjajo enakomerno glede na celotno časovnico animacije ognja. Primer animacije ognja po uporabi teksture oblakov, prikazuje slika 5.14. 30

Slika 5.14: Primer animacije ognja po uporabi teksture tipa "Clouds" Uporaba sistema delcev Če si podrobneje ogledamo ogenj v resničnem življenju, opazimo, da se poleg dima, ki se širi, spuščajo majhni goreči delci. Po navadi rečemo, da je to žareč pepel. Za ponazoritev takšnega delca v virtualnem okolju uporabimo sisteme delcev. Slika 5.15 prikazuje žareče delce, ki se spuščajo v zrak. 31

Slika 5.15: Primer delcev ognja z uporabo sistema delcev O sistemu delcev smo v predhodnih poglavjih že veliko govorili. Na tem mestu zato o splošnem delovanju sistema delcev ne bomo izgubljali besed. Posvetili se bomo le nekaterim nastavitvam, ki jih ponuja animacijski paket Blender. Žareči delci se morajo razpršiti po zraku naokrog. To lahko dosežemo z uporabo objekta, s katerim nastavimo tok dima (angl. Smoke Flow), ki ga Blender ponuja. Da bodo delci leteli v zrak, jim je potrebno zmanjšati vrednost gravitacije, ker bodo v nasprotnem primeru padali navzdol. Delcem moramo določiti tudi obliko. Kot smo že omenili, imajo delci geometrijsko obliko kocke, krogle ali drugih 3D objektov, ki jih Blender ponuja. V našem primeru smo uporabili objekt sfere UV, ki ga prikazuje slika 5.16. 32

Slika 5.16: Uporaba sfere UV za obliko delca Če podrobneje opazujemo ogenj, se tem gorečim delcem spreminja barva. Svetlejša barva pomeni, da je delec zelo vroč in zato hitrejši. Vedno temnejša barva pa pomeni, da se ohlaja in na koncu ugasne. Drugače povedano, ni več viden oziroma izgine iz sistema delcev. Za to bomo morali ponovno uporabiti barvno lestvico v urejevalniku vozlišč in delcu nastaviti material. Ker smo za obliko delca izbrali sfero UV, bomo to nastavljali na tem objektu. Končne nastavitve materiala delca z urejevalnikom vozlišč prikazuje slika 5.17. Slika 5.17: Nastavitve materiala barve sistema delcev Vsak delec se v sistemu ustvari posebej, zato mu lahko nastavimo različne lastnosti. Na spodnji sliki 5.18 so prikazane nastavitve sistema delcev, ki smo jih uporabil za naš primer. Zmanjšali smo njihovo življenjsko dobo in število naključno ustvarjenih delcev na posamezni okvir. V realnosti po navadi teh delcev ni veliko. Preizkusili smo različne nastavitve in analizirali, katere so najboljše. Ugotovili smo, da imajo nekatere nastavitve kot so na primer število delcev, ki se na posamezni okvir pojavijo v sistemu, ali hitrost in 33

velikost delca, ogromen vpliv na časovno zahtevnost simulacije, ki jo procesor rabi za izračune. Slika 5.18: Nastavitve sistema delcev V sceno smo dodali še podlago za ogenj in nastavili sence, ki jih objekti drv mečejo po sceni. Za podlago senc smo uporabili objekt ploskve (angl. Plane). O uporabi senc bomo nekaj napisali še v zadnjem koraku izdelave animacije ognja. Modeliranje drv in teksturiranje Zamisel naše vizualizacije je taborni ogenj, zato potrebujemo drva. Potem, ko smo ustvarili ogenj, s katerim smo dosegli še kar visok realizem, smo se lotili modeliranja drv. Drva po navadi najdemo v naravi okrogle oblike kot so tudi drevesa. V primeru, da so sekane, pa so lahko tudi različne pravokotne oblike. Za poenostavljeno delo so v Blenderju na voljo tridimenzionalni osnovni objekti, ki jih lahko poljubno sestavljamo in preoblikujemo. V 34

našem primeru smo za modeliranje drv uporabili dva taka objekta, kocko (angl. Cube) in valj (angl. Cylinder). S tehnikami modeliranja smo jih v urejevalnem načinu preoblikovali in ustvarili štirinajst drv različnih oblik in velikost. Na sliki 5.19 vidimo, da smo jih zložili eno na drugo. Slika 5.19: 3D modeliranje drv Namen naše diplomske naloge je, da dosežemo čim večji realizem. Zato drvam za material ne moremo samo nastaviti barve, ampak moramo uporabiti resnične teksture lesa. S tem bodo drva dobila izgled pravih, mi pa bomo dosegli večji realizem, kar je tudi naš glavni namen. Slike tekstur smo poiskali na različnih brezplačnih spletnih mestih, ki ponujajo slike tekstur in materialov kot so les, kovina, kamen, itd. Primer slike teksture lesa, ki smo jo v našem primeru uporabili za osnovno ploskev drv, prikazuje slika 5.20. 35

Slika 5.20: Primer teksture lesa na spodnji in zgornji strani drv Najboljši način, da se 2D teksture lepo prilagajajo 3D objektom, je tehnika preslikave UV (angl. UV mapping). V tem procesu vzamemo plašč tridimenzionalnega objekta (koordinate X, Y in Z) in ga odvijemo v ravnino (koordinati X in Y, oziroma U in V, v primeru preslikave UV). Tako lahko posamezne dele dvodimenzionalne teksture, ki smo jo uporabili, razporejamo na tridimenzionalnem objektu, kot smo to storili v našem primeru. Ko smo končali z modeliranjem, moramo objekt odviti v ravnino teksture. Če objekt, ki mu prilagodimo teksturo, pozneje spreminjamo, se lahko zgodi, da se tekstura ne bo več lepo prilagajala. Objekt drve smo odvili z uporabo metode odvijanja (angl. Unwrap). Po odvitju se vsakemu oglišču ploskve, ki smo jo v načinu urejanja označili, priredijo koordinate UV. Oznaki U in V označujeta koordinato posameznega teksela v prostoru teksture, podobno kot koordinati X in Y določata položaj točke v ravnini. Razlog za drugačno poimenovanje oznak je v tem, da se izognemo možnosti zamenjave. Koordinate U in V določajo del slike teksture, ki bo prikazan na ploskvi. Slika 5.21 na desni strani prikazuje urejevalnik UV, oziroma slik (angl. UV/Image editor), kjer smo uporabili določen vzorec teksture in ga prilagodili na izbrano ploskev polena, ki smo jih prej v načinu urejanja označili. 36

Slika 5.21: UV preslikava drv Za boljše razumevanje navedimo primer preslikave UV teksture zemeljskega površja na objekt krogle. V Blenderju lahko tako na preprost način oblečemo kroglo s plaščem zemljine površine [13], glej sliko 5.22. Slika 5.22: Primer odvoja krogle na 2D teksturo zemljine površine, radeljene v dva dela, vir [13] 37

Uporaba slike za ozadje Z zgoraj opisanimi koraki nam je uspelo z vizualizacijo ognja doseči kar dober približek realizma. Večinoma časa smo se ukvarjali z izdelavo ognja. Na realizem pa vpliva tudi okolica, v katero bomo postavili ogenj. Zelo pomembno je, da pri tem izberemo primerno okolico. Glede na to, da se v diplomski nalogi ukvarjamo z izdelavo ognja, se z modeliranjem okolice nismo ukvarjali, ker bi nam vzela preveč časa, prav tako bi se močno povečal procesorski čas upodabljanja. Zato smo za ozadje uporabili sliko. Slike za oba naša primera, ki smo jih uporabili za okolico, smo predstavili že na začetku tega poglavja. Čeprav se mogoče zdi, da izbrano poljubno sliko preprosto postavimo v ozadje, pa v Blenderju tako ne gre. Za prikaz slike ozadja se moremo malo potruditi. Naš cilj je doseči čim večji fotorealizem, zato moramo upoštevati vse naravne dejavnike, ki vplivajo, da se okolica lepo zliva z vizualiziranim ognjem. Na primer, upoštevati moremo tudi sence, ki se lahko pojavijo. Uporabo senc lahko lepše vidimo pri naši drugi animaciji bakel v parku, kjer se na sprehajalni poti vidijo sence bakel. Za lovljenje senc smo uporabili ploskev, ki lovi sence. V starejših različicah je bilo lovljenje senc zahteven proces. Uporabiti smo morali več slojev (angl. Layers) in z uporabo urejevalnika vozlišč te sloje povezati med sabo. Eden izmed slojev je tako prikazoval samo sence. V najnovejši različici pa s preprostim klikom na opcijo lovljenja senc (angl. Catch Shadow) omogočimo, da ploskev, ki smo jo pravilno nastavili v sceno, lovi sence objekta. Seveda moremo pri tem upoštevati tudi pravilno nastavljeno in izbrano svetlobo (Luči), da senc ne meče v nasprotno smer. V našem primeru smo uporabili svetlobo sonca (angl. Sun Lamp) in ga nastavili na tisto mesto, kjer je sonce na sliki ozadja. Prav tako smo ga usmerili pod ustreznim kotom in mu nastavili primerno moč. Z neprestanim razvojem in izboljšavo animacijskega paketa Blender nam je danes marsikaj poenostavljeno in nam prihrani čas. Uporaba funkcije lovljenja senc je lep primer tega. Drugi primer izboljšave je uporaba različnih domen, za katere ne rabimo posebej ustvarjati nastavitev. Čeprav smo sliko ozadja in sence nastavili v sceno, ki jo bomo upodabljali, pa nam jo upodabljalnik (angl. Renderer) še ne prikazuje. Uporabiti moremo urejevalnik vozlišč, kjer sliko zlepimo s slojem scene in jo prilagodimo glede na velikost upodabljanja slike. Spodnja slika 5.23 prikazuje urejevalnik vozlišč in potrebne povezave, da je slika ozadja na koncu pravilno prikazana v upodabljalniku. 38

Slika 5.23: Prikaz slike ozadja - uporaba urejevalnika vozlišč 39

6. REZULTATI IN ANALIZA REZULTATOV Cilj diplomske naloge je bil v animacijskem paketu Blender uporabiti tehnike za izdelavo posebnih učinkov in izdelati animacijo ognja z upoštevanjem naravnih zakonitosti, ob tem pa analizirati vse dejavnike, ki vplivajo na doseganje realizma v orodjih za izdelavo animacij. Eden izmed ciljev diplomske naloge je tudi analizirati časovno zahtevnost posebnih učinkov in predstaviti vse dejavnike, ki vplivajo na sam čas izdelave in sistemskega upodabljanja. To smo storiti v zadnjem podpoglavju tega poglavja. S končnim rezultatom obeh animacij smo lahko zadovoljni. Uspelo nam je izdelati še kar dobra realistična primera ognja. Z malo več vloženega truda smo s spreminjanjem nekaterih nastavitev dosegli zadovoljivi realizem. Primerna izbira slike ozadja za okolico je občutek realizma samo še povečala. Seveda smo se v diplomski nalogi posvečali predvsem funkcionalnosti ognja in pravilni nastavitvi domene dima, izvora in sistema delcev. 6.1. Taborni ogenj ob hiši Idejo in potek izdelave vizualizacije ognja ob hiši smo že predstavili v prejšnjem poglavju. Strnili smo jih v pet ključnih korakov. Pomembno je omeniti nastavitve upodabljanja. Uporabili smo ločljivost 1920x1080 pikslov. Trajanje animacije smo nastavili na 113 okvirjev in izbrali prikazovanje 24 sličic na sekundo (angl.: Frame per Second). Tako je animacija ognja dolga 4,703 sekunde, kar je dovolj, da lahko analiziramo doseženi realizem. Razlog, da nismo upodabljali več okvirjev, je predvsem v času, ki je potreben na posamezni okvir. Z vsakim novim okvirjem pa se čas, potreben za upodabljanje, povečuje predvsem zaradi širjenja ognja. Računalnik tako potrebuje več časa za računanje novih okvirjev. Na sliki 6.1 je prikazan vizualiziran ogenj po eni sekundi animacije oziroma na 25. okvirju. 40

Slika 6.1: Končni rezultat vizualizacije ognja ob hiši (25. okvir) Zaradi hitrega gibanja delcev smo uporabili tudi funkcijo zameglitve»motion Blur«, ki sliko zamegli v smeri gibanja. Z uporabo te funkcije dobimo boljši občutek gibanja objektov v animaciji. Funkcija zameglitve pripomore k boljšemu realizmu in se jo pogosto uporablja. Zaradi slabšega predznanja smo se izdelave ognja in na koncu upodabljanja videa lotili večkrat. Šele po več poskusih smo osvojili potrebno znanje in dobili končni rezultat, ki je prikazan na sliki 6.2. Če primerjamo začetne in zadnje okvirje, lepo vidimo, kako se je ogenj razvijal. 41

Slika 6.2: Končni rezultat vizualizacije ognja ob hiši (100. okvir) Ko je bilo vse končano, smo se odločili za upodabljanje vseh 113 okvirjev. Za format datoteke smo izbrali.jpeg. V primeru, da bi med upodabljanjem šlo kaj narobe, ali bi se nam izklopil računalnik, bi lahko nadaljevali na zadnjem okvirju. Ko so bili upodobljeni vsi okvirji, smo jih z urejevalnikom videa sestavili v video format.avi. Računalnik je za upodabljanje potreboval približno 86 ur. 6.2. Goreče bakle Po končani vizualizaciji ognja ob hiši smo se odločili izdelati novo animacijo ognja, ob tem pa uporabiti vso osvojeno znanje do zdaj. Naša zamisel je bila, da bi izdelali goreče bakle v naravi. Zato smo za okolico iskali sliko na kateri bo sprehajalna pot. Uporabili smo sprehajalno pot v parku ob kateri so klopi. Upoštevali smo tudi svetlobo sonca in sence, ki so zaradi tega vidne na tleh. Na sliki 6.3 vidimo, da nam je uspelo še kar dobro nastaviti svetlobo sonca. Slika prikazuje 75. okvir. 42

Slika 6.3: Končni rezultat vizualizacije ognja bakel v parku (75. okvir) Ob strani na desno smo dodali tudi objekt vetra, ki vpliva na gibanje ognja. Na sliki opazimo, da je smer ognja za malenkost na levo. Se pravi, da veter piha z desne strani in ima vpliv na vse tri bakle. Z dodanim vetrom smo povečali realističen efekt ognja v naravi. Slika 6.4 prikazuje končni rezultat na zadnjem, 200. okvirju naše animacije. Slika 6.4: Končni rezultat vizualizacije ognja bakel v parku (200. okvir) 43

Uporabili smo tudi drugačno sliko ozadja za okolico. Za ozadje smo izbrali sončni zahod na plaži. Objekte bakel in funkcionalnosti ognja smo pustili nespremenjene. Hoteli smo ugotovili, če sprememba ozadja vpliva na zaznavanje realizma. Tudi tu smo dosegli dobre rezultate. Še prej pa smo morali pravilno nastaviti svetlobo sonca. Ustvarili smo ga zgoraj na sredini kot je že na uporabljeni sliki ozadja. Opazimo, da pravilno nastavljene sence igrajo pomembno vlogo pri doseganju realizma. Slika 6.5 prikazuje 35. okvir vizualizacije ognja bakel na plaži. Slika 6.5: Končni rezultat vizualizacije ognja bakel na plaži (35. okvir) Za ločljivost upodabljanja smo izbrali 1920x1080 pikslov. Uporabili smo 24 okvirjev na sekundo. Dolžina upodabljanja je 200 okvirjev, kar predstavlja dobrih 8 sekund animacije. Za format smo prav tako izbrali.jpeg. Za upodabljanje je računalnik potreboval povprečno na posamezni okvir manj časa kot pri ognju ob hiši. Razlog za to so različne nastavitve in uporaba sistema delcev, ki močno poveča čas računanja računalnika. Za upodabljanje celotne animacije z dvesto okvirji je računalnik potreboval približno 43 ur. 44

6.3. Vplivi na fotorealizem vizualizacije ognja V nadaljevanju predstavljamo nekatere dejavnike, ki po našem mnenju vplivajo na raven realizma, ki ga lahko dosežemo. V našem primeru vizualizacije ognja je na naše zaznavanje realizma vplivala predvsem primerna nastavitev gorenja, izbira primerne slike ozadja okolice, pravilno senčenje, tekstura ognja in pravilno prilagojene teksture drv. Primerne nastavitve fizike gorenja Pri gorenju lesa je potrebno upoštevati kar nekaj dejavnikov. Na samo povečanje realizma gorenja vpliva marsikaj. Da izberemo pravilne nastavitve gorenja, je potrebno poznati naravne zakonitosti gorenja in obnašanje ognja, glede na to kakšna je gorljiva snov. Ogenj je različen in drugačne barve, če gori les ali pa če gorijo vnetljive snovi kot so olja in različni vnetljivi plini. Zato je potrebno dobro analizirati gorenje posameznih gorljivih snovi. Potrebno je upoštevati, da različna snov gorenja vpliva na višino ognja, na hitrost gorenja in širjenja ognja, na barvo in gostoto dima, različne temperature vžiga in podobno. V procesu izdelovanja smo se sami s temi nastavitvami poigrali in uspelo nam je doseči še kar dober približek realizma gorenja drv v naravi. Ugotovili smo, da ogenj ne sme biti prevelik, vžig drv mora biti počasen, ne preveč dima na začetku, število gorljivih delcev, ki se spuščajo v zrak in jih v resničnem življenju zaznamo kot goreč pepel, ne sme biti preveč ali premalo. Tudi vsa drva, ki jih imamo na kupu, ne gorijo hkrati naenkrat. Zato smo za drva spodaj nastavili, da že gorijo, pri zgornjih drveh pa skozi čas, ko je temperatura dovolj velika, pride do vžiga. Tako se počasi ogenj z večanjem temperature razvija in širi. Primerna izbira slike ozadja za okolico Na zaznavanje realizma precej vpliva primerna okolica, ki jo uporabimo. V našem primeru ognja ob hiši smo uporabili takšno sliko ozadja, kjer se vizualiziran ogenj čimbolj zlije z izbrano sliko okolice. Za potrebne analize vpliva realizma smo zato pri ognju bakel uporabili dve različni sliki. Naš namen je bil, da pri izbiri slike ozadja upoštevamo vse dejavnike, ki po našem mnenju vplivajo na to, kako se ogenj zlije z okolico. V primeru, da so na sliki vidne drevesa, ki so nagnjena v eno stran, kar je posledica vetra, slika ni primerna, ker v animaciji slika ozadja miruje, vizualiziran ogenj pa se giblje. To se močno opazi. Podan primer je eden od dejavnikov, ki jih pri pravilni izbiri slike ozadja moramo upoštevati. Pri obeh slikah, ki smo jih izbrali smo upoštevali te dejavnike, ki vplivajo na realizem slike ozadja. Pri obeh izbirah nam je uspelo doseči prepričljivo zlivanje okolice z upodobljenim ognjem bakel. Na različne podlage pa vpliva tudi svetloba in sence. 45

Pravilno senčenje objektov Menimo, da imajo največ vpliva na realizem sence objektov. Zato smo poskušali uporabiti različne nastavitve in smeri senc na slikah ozadja in potrdili, da sence res zelo vplivajo na zaznavo in zlivanje slike ozadja z ognjem. Če so na primer sence slike izbranega ozadja z leve strani, je pri objektih, kot so v našem primeru bakle, to potrebno upoštevati. Na sliki v parku je tak primer lepo viden. Dnevna svetloba prihaja iz zgornje desne strani, torej sence padajo na levo stran. Iz slike ozadja parka je lepo razvidno, da sence dreves padajo na levo stran, na sprehajalno pot. Tako smo morali za bakle nastaviti sence enako. Upoštevati smo morali tudi intenziteto svetlobe, da so bile sence potem primerno vidne. Primer slike bakel na plaži nam pokaže, da moramo senčenje prilagodi na posamezno okolico. Tu je sončna svetloba na sredini, sence pa padajo proti našemu pogledu. Svetlobo smo torej nastavili na sredini. Tekstura ognja V prejšnjih poglavjih smo nekaj že povedali o teksturi ognja, ki smo jo uporabili kot material oblakov (angl. Clouds) in kakšna je razlika, če teksture pri ognju ne uporabimo. Proceduralna tekstura ognja, ki jo omogoča Blender, nam pomaga pri realizmu gorenja. Pripomore k realni podobi gorenja. Ko gorijo drva, je ogenj okrog njih v več majhnih plamenih, in ne gori skupaj v ravni liniji. Primer uporabe nastavitev za proceduralno teksturo ognja in teksturo ognja prikazujeta sliki 5.13 in 5.14. Iz tega lahko sklepamo, da ima tekstura ognja pomembno vrednost pri doseganju realizma. Prilagojene teksture drv Pri upodabljanju predmetov iz resničnega življenja moramo upoštevati materiale., iz katerih so sestavljeni. Da bodo čimbolj podobni resničnim predmetom, jim moramo nastaviti teksture. Šele takrat vizualiziran objekt dobi pravo podobo. Če smo na primer ustvarili stol iz lesa, mu moramo nastaviti teksturo iz materiala lesa. Tako smo mi v našem primeru naredili pri teksturi podstavka bakel, kjer smo se odločili, da bo ta lesena. Seveda pa teksture ne moremo samo nastaviti, ampak moremo upoštevati pravilno prilagajanje tekstur glede na različne strani oziroma dele predmetov. V našem primeru smo to upoštevali pri modeliranju in uporabi teksture za drva. V našem primeru imata dve poleni okroglo obliko, kot je to v naravi. Zato smo uporabili dve različni teksturi. Za spodnjo in zgornjo ploskev smo uporabili teksturo središča polena, za plašč pa smo izbrali teksturo skorje. V našem primeru so teksture drv, zaradi ognja, manj vidne. Kljub temu pa igrajo pomembno vlogo pri realizmu vizualizacij naravnih pojavov in upodobitvi predmetov iz resničnega življenja. 46

Predstavili smo samo nekatere dejavnike in okoliščine, ki vplivajo na doseganje realizma pri vizualizaciji naravnih pojavov in upodabljanju predmetov. Opazili smo, da imajo pravilno nastavljene sence objektov eno največjih vlog pri realizmu. Močan vpliv pa ima tudi slika ozadja, ki jo izberemo za okolico. Zanemariti ne smemo niti upoštevanje različnih snovi gorenja, kar v naravi predstavlja različen ogenj, barvo in hitrost gorenja. Pri vizualizaciji naravnih pojavov moramo poznati njihove naravne zakonitosti in obnašanje. Če upoštevamo te zakonitosti, lahko dosežemo prepričljivi realizem. 6.4. Časovna zahtevnost posameznih učinkov in nastavitev Skozi proces izdelave vizualizacije ognja v Blenderju smo ugotovili, da bodo nekatere karakteristike in nastavitve močno vplivale na čas izdelave animacije in na čas upodabljanja posameznih okvirjev. Zato nas je zanimalo, kako posamezni učinki in različne nastavitve povečajo ali zmanjšajo časovno zahtevnost izračunov, ki jih potrebuje procesor računalnika. Vizualizacije ognja smo se lotili na računalniku z naslednjimi karakteristikami: Procesor: AMD A10-4600M APU Delovni pomnilnik (RAM): 12 GB Grafična kartica: AMD Radeon HD 7660G + Radeon 8670M V nadaljevanju smo analizirali različne nastavitve. Ugotovili smo, da nekatere imajo vpliv na čas upodabljanja, pri nekaterih pa je ta čas zanemarljiv. Potrebno je omeniti tudi, da smo se zaradi večje časovne zahtevnosti omejili na povprečje petih okvirjev. Zavedamo se, da so zaradi tega možne napake in odstopanja, ki pa so tako majhna, da ni toliko pomembno. Rezultati nam pokažejo približno oceno o časovni zahtevnosti posameznih parametrov. OGENJ OB HIŠI Tabela 1: Povprečen čas upodabljanja na okvir glede na število delcev ŠTEVILO DELCEV LOČLJIVOST DIMA (DIVISIONS) POVPREČEN ČAS/OKVIR 200 64 46 min 14 s 1000 64 45 min 21 s 2500 64 46 min 4 s 47

Domena dima je razdeljena na številne celice, ki jih imenujemo voksli (angl. Voxels). Ti voksli sestavljajo slikovne pike dima. Nastavitev ločljivost dima nadzira število podrazdelkov (angl. Subdivisions) v domeni dima. Večja je vrednost posameznih razdelkov (angl. Divisions), boljša je ločljivost dima. V vseh analizah, razen pri analizi vpliva resolucije dima na časovno zahtevnost, smo uporabili vrednost posameznih razdelkov 64. Najvišja vrednost posameznih razdelkov je 512. Pri vizualizaciji ognja ob hiši smo uporabili 200 delcev. Upodabljalnik (angl. Render) je na okvir potreboval 46 minut in 14 sekund časa. Zanimalo nas je, če se čas upodabljana podaljša, če povečamo število delcev. Izmerili smo čas upodabljanja še za 1000 in 2500 delcev, kar se je seveda tudi videlo na končanih upodobljenih okvirjih. Iz tabele 1 je razvidno, da smo za 1000 delcev potrebovali 45 minut in 21 sekund. Za 2500 delcev je čas upodabljanja na posamezni okvir ostal približno enak. Potrebovali smo 46 minut in 4 sekunde. Čeprav smo pričakovali, da bo večje število delcev močno vplivalo na potreben čas upodabljanja, smo ugotovili, da se je čas celo zmanjševal. Če pogledamo na sliko 6.6 ugotovimo, da povečanje števila delcev vpliva tudi na gostoto dima in prosojnost ognja. Gostota dima pa močno vpliva na čas upodabljanja. V našem primeru je dim z večjim številom delcev manjši in je zato tudi potrebno manj časa za upodabljanje. 48

Slika 6.6: Vpliv števila delcev na dim in ogenj v 50. okvirju 49

Tabela 2 prikazuje povprečen čas na posamezni okvir, glede na različno gostoto dima. Nekaterim drvom smo nastavili samo dim, ker v realnosti ne gorijo vsa drva hkrati, ampak predvsem tista spodaj blizu središču vžiga. Tiste zgoraj pa se vžgejo, ko je temperatura tlenja dovolj visoka. Tem smo nastavili samo dim. Ob upodabljanju naše končne animacije smo imeli nastavljeno gostoto dima na vrednost 0,5. Končni rezultat upodabljanja prikazuje slika 6.2. Gostoto dima lahko v Blenderju nastavljamo od vrednosti -5.0 do vrednosti 5.0. Mi smo v našem primeru za potrebe analize uporabili tri vrednosti, med njimi manjše razlike, od 0,1 in do 0,5. Kljub temu, da so razlike med analiziranimi vrednosti majhne, pa se pri končnem rezultatu gostote dima močno opazi. Različne nastavitve gostote dima prikazuje slika 6.7. Za ogenj z gostoto dima 0,5 smo potrebovali 46 minut in 14 sekund na posamezni okvir. Predpostavljali smo, da manjša kot je gostota dima, manj časa procesor potrebuje za upodabljanje. Zato smo gostoto dima zmanjšali na vrednost 0,3. Z takšno gostoto dima je bilo na posamezni okvir potrebnih 45 minut in 2 sekundi časa. Zanimalo nas je še, koliko časa je potrebnega, če še zmanjšamo vrednost gostote dima. Zato smo analizirali potreben čas za gostoto dima z vrednostjo 0,1. Procesor je za upodabljanje potreboval 43 minut in 28 sekund. Rezultati merjenja potrjujejo naše predpostavke, da gostota dima vpliva na povprečni čas upodabljanja, ki ga potrebuje procesor na posamezni okvir. Tabela 2: Povprečen čas upodabljanja na okvir glede na različno vrednost gostote dima GOSTOTA DIMA LOČLJIVOST DIMA (DIVISIONS) POVPREČEN ČAS/OKVIR 0,1 64 43 min 28 s 0,3 64 45 min 2 s 0,5 64 46 min 14 s 50

Slika 6.7: Različna gostota dima v 50. okvirju Zanimalo nas je tudi, kakšen je vpliv na časovno zahtevnost pri uporabi različnih vrednosti resolucije dima. Iz tabele 3 je razvidno, da smo pri vrednosti 64 potrebovali 46 minut in 14 sekund povprečnega časa na posamezni okvir. Pri vrednosti 125 je bilo potrebnih 45 minut in 21 sekund. Na koncu smo še preverili povprečen čas na okvir pri vrednosti 256. Potrebovali smo 44 minut in 2 sekundi. Z meritvijo časa smo ugotovili, da je pri večjem številu vokslov računanje hitrejše, čeprav smo pričakovali, da bo potrebno več časa. Na sliki 6.8 opazimo, da kvaliteta domene dima vpliva tudi na sam ogenj in posledično na gostoto dima, kar pa zahteva manjšo časovno zahtevnost. Predpostavljamo, da je čas krajši tudi zaradi vokslov, ki so prazni in se zaradi tega ne obdelujejo. 51

Slika 6.8: Različna ločljivost dima v 50. okvirju 52

Tabela 3: Povprečen čas upodabljanja na okvir glede na ločljivost dima LOČLJIVOST DIMA POVPREČEN ČAS/OKVIR (DIVISIONS) 64 46 min 14 s 125 45 min 21 s 256 44 min 2 s GOREČE BAKLE Ugotovili smo, da primerna izbira slike ozadja za okolico močno vpliva na doseganje realizma. Zato nas je zanimalo, če ima različna slika ozadja, na istih nastavitvah gorenja ognja, tudi različni čas za upodabljanje. Ugotovili smo, da smo pri sliki ozadja na plaži potrebovali približno 4 minute manj povprečnega časa na posamezni okvir. Za bakle v parku smo potrebovali 12 minut in 57 sekund časa. Na plaži pa smo potrebovali 8 minut in 51 sekund povprečnega časa na posamezni okvir. Menimo, da na čas upodabljanja slika ozadja nima toliko vpliva, ampak spremenjeni dejavniki osvetlitve in senčenja, ki so zaradi narave slike različni. Tudi postavitve bakel so različne. Predpostavljamo, da imajo različne sence in osvetlitev, ki je zaradi različne slike ozadja drugačna, vpliv na časovno zahtevnost upodabljanja. Tabela 4 prikazuje povprečni čas upodabljanja na posamezni okvir glede na dve različni sliki ozadja, ki smo ju izbrali za okolico tabornega ognja. Tabela 4: Povprečen čas upodabljanja na okvir glede na sliko ozadja SLIKA OZADJA LOČLJIVOST DIMA (DIVISIONS) POVPREČEN ČAS/OKVIR BAKLE V PARKU 64 12 min 57 s BAKLE NA PLAŽI 64 8 min 51 s Pri obeh animacijah gorečih bakel smo uporabili tri bakle z enakimi nastavitvami ognja in dima. Predpostavili smo, da število bakel vpliva na čas upodabljanja. To lahko zaznamo tudi v načinu izračuna predogleda (angl. Preview) v procesu izdelave vizualizacije. Analizirali smo povprečen čas na okvir glede na število bakel, ki ga potrebuje upodabljalnik. Resolucija dima ostaja na vrednosti 64. Pri uporabi treh bakel smo povprečno potrebovali 12 minut in 57 sekund časa. Z baklo manj smo čas zmanjšali za dobro minuto, saj smo na posamezni okvir povprečno potrebovali 11 minut in 28 sekund časa. Upodabljanje z eno baklo pa je zahtevalo 8 minut in 51 sekund. Opazili smo, da razmerje med številom bakel in časom 53

računanja ni enakomerno. Menimo, da je vzrok za to, ker so bile bakle različno oddaljene od kamere in zato različne po velikosti. Povprečen čas upodabljanja glede na število bakel lahko vidimo v tabeli 5. Tabela 5: Povprečen čas upodabljanja na okvir glede na število bakel ŠTEVILO BAKEL LOČLJIVOST DIMA (DIVISIONS) POVPREČEN ČAS/OKVIR 3 64 12 min 57 s 2 64 11 min 28 s 1 64 8 min 51 s Blender nam pri nastavitvah domene dima ponuja možnost visoke ločljivosti dima (angl. Smoke High Resolution). Možnost visoke ločljivosti nam omogoča simulacijo dima pri nizki ločljivosti v kombinaciji s tehniko šuma (angl. Noise methode)faktor s katerim se izboljša ločljivost dima smo pustili na vrednosti 1 in uporabili metodo šuma wavelet. Najvišja vrednost, ki jo lahko izberemo je 10. Iz tabele 6 je razvidno, da je bil z izbrano visoko ločljivost dima povprečen čas na okvir 46 minut in 14 sekund. Brez uporabe visoke ločljivosti pa smo na posamezni okvir povprečno potrebovali 41 minut in 58 sekund. Opazimo, da ima opcija visoke ločljivosti dima vpliv na časovno zahtevnost upodabljanja. Razlika je vidna na sliki 6.9. Tabela 6: Povprečen čas upodabljanja na okvir glede na izbrano opcijo višje ločljivosti dima VIŠJALOČLJIVOST DIMA - OPCIJA (SMOKE HIGH RESOLUTION) LOČLJIVOST DIMA (DIVISIONS) DA 64 46 min 14 s NE 64 41 min 58 s POVPREČEN ČAS/OKVIR 54

Slika 6.9: Razlika med izbrano višjo resolucijo dima in brez nje v 35. okvirju 55

7. SKLEP Želja po upodabljanju predmetov iz resničnega življenja in animacijah naravnih pojavov kot so ogenj, dim in voda, je bila stalnica skozi zgodovino razvoja računalniške grafike. Z neprestanim in hitrim razvojem strojne računalniške opreme na področju grafike in 3D modeliranja je to danes lažje kot kadarkoli prej. Danes si razvijalci računalniške grafike in animacije prizadevajo doseči čim višjo stopnjo realizma. V diplomskem delu smo se ukvarjali z doseganjem čim boljšega realizma pri vizualizaciji ognja. V praktičnem delu smo v odprtokodnem razvojnem okolju Blender vizualizirali ogenj in dim. Oba omenjena pojava sta pri raziskovanju računalniške grafike zelo zanimiva, obenem pa sta ta pojava ena od najtežjih za razumevanje. Pri doseganju realizma je tudi v industriji računalniške grafike potrebno upoštevati naravne zakonitosti gorenja. Z upoštevanjem teh zakonitosti in testiranjem različnih nastavitev nam je uspelo izdelati dve različni vizualizaciji ognja iz resničnega življenja. Prva vizualizacija je bila taborni ogenj ob hiši in je bila zahtevnejša. Pri drugi vizualizaciji smo izdelali tri goreče bakle v parku ob sprehajalni poti. Ta primer je bil časovno manj zahteven, saj ni bilo vključenega veliko dima. Na koncu diplomske naloge smo analizirali različne dejavnike, ki vplivajo na doseganje realizma. Tekom izdelave diplomske naloge smo opazili, da ima pravilno senčenje izdelanih objektov, kot so v našem primeru bakle, velik vpliv na realizem. Pri doseganju realizma smo morali upoštevati tudi druge dejavnike, kot so višina plamenov in gostota dima. V zadnjem podpoglavju pa nas je zanimalo, kakšna je časovna zahtevnost upodabljanja pri različnih nastavitvah parametrov. Ugotovili smo, da gostota dima in število bakel, ki jih postavimo v sceno, močno vpliva na čas. Na koncu lahko trdimo, da na povprečen čas upodabljanja vpliva več dejavnikov hkrati in ne samo nekatere majhne spremembe. Vse te različne nastavitve pa vplivajo na realizem, ki ga želimo doseči. Večji realizem hočemo, več časa bomo potrebovali. Cilj diplomske naloge je bil, da se seznanimo z metodami upodabljanja naravnih pojavov kot sta ogenj in dim. Spoznali smo odprtokodno orodje Blender, nad katerim smo bili pozitivno presenečeni. Z brezplačnim orodjem, kot je Blender, lahko ustvarimo vse to, kar ponujajo najboljša razvojna animacijska orodja, ki so zelo draga. Bralca smo seznanili z osnovami izdelovanja računalniških animacij in metodami, ki se uporabljajo za izdelavo posebnih učinkov. Takšna metoda je sistem delcev, ki smo ga uporabili pri praktičnem delu. Glavni cilj diplomske naloge pa je bil izdelati realistično animacijo ognja, kar nam je v glavnem tudi uspelo. 56

8. LITERATURA [1] Wikipedia. Ogenj. Dostopno na: https://sl.wikipedia.org/wiki/ogenj [23.1.2018]. [2] Wikipedia. Šahri Sohte. Dostopno na: https://sl.wikipedia.org/wiki/%c5%a0ahri_sohte [23.1.2018]. [3] W. T. Reeves. Particle System - Techique for Modeling a Class of Fuzzy Objects. Dostopno na: https://www.cs.drexel.edu/~david/classes/papers/p359-reeves.pdf [18.2.2018]. [4] Wikipedia. Senčilniki. Dostopno na: https://en.wikipedia.org/wiki/shader [23.1.2018]. [5] Wikipedia. OpenGL. Dostopno na: https://sl.wikipedia.org/wiki/opengl [23.1.2018]. [6] Slant.co. Primerjava orodij za 3D modeliranje. Dostopno na: https://www.slant.co/topics/1559/~3d-modeling-software [15.2.2018]. [7] Blender Foundation. Zgodovina Blenderja. Dostopno na: https://www.blender.org/foundation/history/ [19.1.2018]. [8] Blender Foundation. Gradniki Blenderja. Dostopno na: https://docs.blender.org/manual/en/dev/modeling/meshes/primitives.html [15.2.2018]. [9] Blender Foundation. Sistemi delcev. Dostopno na: https://docs.blender.org/manual/en/dev/physics/particles/index.html [15.2.2018]. [10] Blender Foundation. Veter. Dostopno na: https://docs.blender.org/manual/en/dev/physics/force_fields/types/wind.html [15.2.2018]. [11] Blender Foundation. Upodabljalnik. Dostopno na: https://docs.blender.org/manual/en/dev/render/index.html [15.2.2018]. [12] Blender Foundation. Motor upodabljalnika. Dostopno na: https://docs.blender.org/manual/en/dev/render/introduction.html#render-engines [15.2.2018]. [13] Wikibooks. Preslikava UV - primer preslikave zemljinega plašča na kroglo. Dostopno na: https://en.wikibooks.org/wiki/blender_3d:_noob_to_pro/uv_map_basics [20.2.2018]. [14] M. Allen. Sistemi delcev. Dostopno na: http://web.cs.wpi.edu/~matt/courses/cs563/talks/psys.html [20.2.2018]. [15] T. Lyes in K. Hawick. Fire and Flame Simulation using Particle System and Graphical Processing Units, Februar 2013. Dostopno na: http://worldcompproceedings.com/proc/p2013/msv2342.pdf [10.1.2018]. 57

[16] V. Ginman in K. Malmros. Visualization of smoke using particle system, April 2013. Dostopno na: http://www.csc.kth.se/utbildning/kth/kurser/dd143x/dkand13/group9petter/report/veron ica.ginman.kim.malmros.report.pdf [10.1.2018]. [17] J. Stam. Real - Time Fluid Dynamics for games. Dostopno na: http://www.intpowertechcorp.com/gdc03.pdf [29.9.2016]. [18] J. Stam in E. Fiume. Depicting Fire and Other Gaseous Phenomena Using Diffusion Processes. Dostopno na: http://www.dgp.toronto.edu/people/stam/reality/research/pdf/sig95.pdf [29.9.2016]. [19] Blender Foundation. Modeliranje. Dostopno na: https://docs.blender.org/manual/en/dev/modeling/index.html [15.2.2018]. [20] Wikipedia. Sistemi delcev. Dostopno na: https://en.wikipedia.org/wiki/particle_system [21.2.2018]. [21] Blender Foundation. Domena dima. Dostopno na: https://docs.blender.org/manual/en/dev/physics/smoke/types/domain.html [21.2.2018]. 58

IZJAVA O AVTORSTVU IN ISTOVETNOSTI TISKANE IN ELEKTRONSKE OBLIKE ZAKLJUČNEGA DELA Ime in priimek študent a/ ke: Študijski program: Naslov zaključnega dela: Mentor: Somentor: Podpisan i/ a študent/ ka izjavljam, da je zaključno delo rezultat mojega samostojnega dela, ki sem ga izdelal/ a ob pomoči mentor ja/ ice oz. somentor ja/ ice; izjavljam, da sem pridobil/ a vsa potrebna soglasja za uporabo podatkov in avtorskih del v zaključnem delu in jih v zaključnem delu jasno in ustrezno označil/ a; na Univerzo v Mariboru neodplačno, neizključno, prostorsko in časovno neomejeno prenašam pravico shranitve avtorskega dela v elektronski obliki, pravico reproduciranja ter pravico ponuditi zaključno delo javnosti na svetovnem spletu preko DKUM; sem seznanjen/ a, da bodo dela deponirana/objavljena v DKUM dostopna široki javnosti pod pogoji licence Creative Commons BY NC ND, kar vključuje tudi avtomatizirano indeksiranje preko spleta in obdelavo besedil za potrebe tekstovnega in podatkovnega rudarjenja in ekstrakcije znanja iz vsebin; uporabnikom se dovoli reproduciranje brez predelave avtorskega dela, distribuiranje, dajanje v najem in priobčitev javnosti samega izvirnega avtorskega dela, in sicer pod pogojem, da navedejo avtorja in da ne gre za komercialno uporabo; dovoljujem objavo svojih osebnih podatkov, ki so navedeni v zaključnem delu in tej izjavi, skupaj z objavo zaključnega dela; izjavljam, da je tiskana oblika zaključnega dela istovetna elektronski obliki zaključnega dela, ki sem jo oddal/ a za objavo v DKUM. Uveljavljam permisivnejšo obliko licence Creative Commons: (navedite obliko) Začasna nedostopnost: Zaključno delo zaradi zagotavljanja konkurenčne prednosti, zaščite poslovnih skrivnosti, varnosti ljudi in narave, varstva industrijske lastnine ali tajnosti podatkov naročnika: (naziv in naslov naročnika/institucije) ne sme biti javno dostopno do (datum odloga javne objave ne sme biti daljši kot 3 leta od zagovora dela). To se nanaša na tiskano in elektronsko obliko zaključnega dela.