Professional Documents
Culture Documents
Vidi 129 - Directx
Vidi 129 - Directx
DirectX
Particles (2)
Partikli mogu biti izuzetno dobar argument vizualnog dojma. Bitno je samo znati to s njima...
pie: Ivica Hoko
akle, spomenuvi partikl, spomenuli smo i da se dosta filozofira o njima. Naime, tanka je linija izmeu partikala i normalnih objekata. Ono to partikle ini takvima, nain je obrade i iscrtavanje. Spomenuli smo da su partikli u pravilu automatizirani sustav koji zahtijeva minimalne dodatne korekcije, a jednako tako i da su u interakciji s okolinom. Prema fizikalnoj definiciji, prvenstveno bi se manifestirali kroz interakciju sa svjetlom. Kod spomena partikla, najprije nam svima na pamet padnu vatra i dim. To su ujedno i najee koriteni efekti koji se izrauju uglavnom pomou partikala. Najjednostavnije, jednostavni su, a i s malim brojem modela (poligona) i tekstura mogu se dobiti odlini vizualni efekti. Jedini je izazov kako pogoditi toan omjer poligona koji su vam potrebni i kako te poligone raspodijeliti tako da, kada se meusobno preklope, budu raspodijeljeni od najudaljenijega prema najbliem, to je bitno kod iscrtavanja poluprozirnih objekata. Dim se sastoji od jako sitnih estica neistoe, presitnih da bi se vidjele golim okom, i iscrtavanje dima je zapravo samo gruba aproksimacija. Te estice se pak podvrgavaju i odreenim pravilima fizike to nam se naravno kod rada u realnim uvjetima nikako ne isplati simulirati brojem samih partikala.
Hram: Hrpetina partikla, malo dima, malo vatre, malo malih zelenih... Serious Sam style :) zahvale Deanu Sekuliu i Croteamu. line i koji bi vjerno reagirao na zapreke, vjetar, promjene u tlaku i sline stvari. Dakle, kako za sada stvari stoje, radi se o istoj utopiji. No, nee jo dugo ostati tako. Ve su napravljene aproksimacije fizikalnoga modela fluida koje se relativno brzo vrte u realnome vremenu, mada e to priekati barem jo neko vrijeme. Na kraju krajeva, ne smijemo zaboraviti da su partikli, samo dio koji ima smisla ukoliko ga se gleda u kontekstu cjeline. Dakle, ako vam cijela scena, ili dojam scene, nije na razini dima (ili bilo koje druge komponente), nije potrebno troiti vrijeme na samostalne elemente. Bitno je da je cjelina usklaena. Isto tako, valja procijeniti i isplati li vam se potroiti snagu grafikoga procesora na jedan obian dim ili e vam ipak vie odgovarati nacrtati jo desetak komada vegetacije u neposrednoj okolini? Uvijek postoji paragraf pisan sitnim slovima... Partikli se, dodue, ne moraju nuno sastojati od pravokutnih poligona. Oni se mogu napraviti i pomou modela. U pravilu, partikli dolaze u velikim koliinama (kao i nevolje), tako da, ukoliko se odluite za opciju s modelima, morate opravdati njihovo koritenje i funkcionalnost. Prednosti koritenja modela su te da ih moete koristiti jed-
Partikli i poligoni
Jedno od rjeenja jest uzeti nekoliko razliitih slika pravoga dima, dobro ih ugoditi zamjenjivanjem sliica i na taj nain dobiti dojam realnoga ponaanja dima. Razmotrimo situaciju. Dakle, radi konanoga broja razliitih tekstura, nije teko uoiti ponavljanje. Jednako tako, fizikalni model koji nam pomie estice dima, radi s poligonima daleko veim i robusnijim od samih finih estica. Nadalje, gotovo da i nema interakcije s okolinom. Nadalje, svi partikli su lokalizirani, odnosno nalaze se u konanom, omeenom prostoru oko izvora dima, najee vatre ili suionice unki. Svaka ploa s partiklima ima svoj poetak i kraj, svoju poetnu veliinu i prozirnost, svoju krajnju veliinu i prozirnost.... No, ipak je ovaj trivijalni model pun oitih ogranienja, ali zadovoljavajuih za veinu dananjih igara. Khm?! Kreiranje kvalitetnoga i realnoga prikaza dima zahtijevalo bi mnogo sloeniji fizikalni model, nego to dananji hardver moe 'savakati' u nekom realnom vremenu. Najblia aproksimacija bio bi fizikalni model fluida koji bi bio svjestan svoje oko-
156
WWW.VIDI.HR
areno: Odlian primjer dobro napravljenog partikl sistema. nostavnije (na jednoj razini), nego ravne poligone. Ne morate se brinuti oko orijentacije, poloaja kamere, rasporeivanja (ukoliko ba ne elite) i slinih stvari. Jednako tako, ukoliko imate ve sreen sistem za fiziku, puno ete jednostavnije i lake ukomponirati fiziku na malene modele, nego na obine pravokutnike koji moraju biti okrenuti prema vama. Ako nita drugo, izgledat e prirodnije. Recimo, to bi bilo odlino rjeenje ak i za simuliranje krupne same... S druge strane, daleko je praktinije napraviti, primjerice, pahuljaste oblake koristei nekoliko poligona koji se meusobno preklapaju i pridonose raznim koliinama sivkaste boje. Tako se u pravilu rade i oblaci i druge sline pojave. No, nije dobro ako im se pribliavate pod razliitim kutevima, ako se kreete oko njih, a cijelo vrijeme gledate u njihovo sredite ili ako prolazite kroz oblake u svom handy-dandy privatnom avionu. Nije li zanimljivo uvidjeti kako svako rjeenje sa sobom nosi barem duplo vie problema?! (Problem je taj to su sva rjeenja samo aproksimacije u nedostatku hardverskih mogunosti.)
Volumetrijski efekti
Naravno, postoji i opcija volumetrijskih efekata. Dakle, recimo da ste napravili veliki krumpir koji e vam predstavljati oblak. Najprije iscrtate udaljene poligone krumpira u z-buffer, a zatim i vama blie poligone. Sada, na osnovi vrijednosti razlike izmeu dubina na pojedinomu pikselu, moete procijeniti, primjerice, koliinu sivkaste boje koju ete ubaciti. Simpatino. Odjednom ste rijeili sve gore navedene probleme, jednostavno i lako; ukoliko jo ubacite i opciju za zamuivanje rubova (primjerice nekakvu derivaciju Fresnelovog algoritma), imate sasvim pristojan efekt za oblake, dimove, magle, duhove i sve sline stvari. Ok, ovaj princip rjeava isti problem koji rjeava i gore navedeni princip (ali na bitno drukiji nain!), moda ak u odreenim uvjetima i ispadne isti rezultat... Ali, radi li se jo uvijek o partiklima?! O, filoZvjezdano nebo: Ovako to izgleda izbliza u Provoxovom SpaceForce 2 svijetu. zofi svijeta, ujedinite se!!
WWW.VIDILAB.COM
DirectX serijal
Grafika za sve - Vidi 117
157