PC Press
O nama
O nama
Pretplata
O nama
Postanite saradnik PC-ja
Kontakt sa redakcijom
PC Press
Novi broj
Novi broj   
Pretrazivanje
Arhiva
Arhiva   
PC Online
PC Plus   
Specijalna izdanja
Softver Softver
PC #38 : Septembar 1998 Knjiga 50 godina racunarstva u Srbiji

 Naslovna  Sadržaj 
Stevan Josimović  

Digitalna koža

Realističnost 3D objekata umnogome zavisi i od tekstura... Pogledajmo koji se programi koriste za njihovu obradu.

Kod veštačkih, ljudskom rukom napravljenih 3D objekata nije teško postići zavidan nivo fotorealističnosti, usitnjavanjem delova ili upotrebom tzv. tajlabilnih ili procesnih tekstura. Ove teksture su prilično česte i u realnom svetu, pa postoji opravdanje za njihovu upotrebu. Stvari postaju mnogo složenije kada su u pitanju 3D modeli organskih objekata – modelari se tu susreću sa čitavim nizom gotovo nepremostivih problema.

Šta može 3D paint?

Pre svega, usitnjavanje objekata ne dolazi u obzir, jer se time odričete i onog minimuma fotorealističnosti koju biste mogli da postignete, a animacija je i bez sitnih objekata prava noćna mora. Upotreba tajlabilnih tekstura je moguća, ali često nije odgovarajuća pošto, recimo, životinje imaju vrlo nezgodnu osobinu da na šapama ili njuškama (koje su deo jednog NURBS-a) imaju sasvim uočljive i različite šare.

„Manevarski prostor“ modelara je, dakle, skučen, ili je to bio do pre nekoliko godina, kada su se pojavili 3D paint programi, koji su najpre ugrađivani u velike i skupe rendering pakete. Do pojave ovih programa, pravljenje (a i „lepljenje“) tekstura je bilo veoma zamoran posao, koji su modelari izvodili „na slepo“. Teksture su morale da se formiraju u nekom od 3D programa za crtanje, a zatim se tekstura „lepila“ na objekat. Tek pošto biste takav objekat renderisali, mogli ste da vidite konačan rezultat; ako niste zadovoljni, proces se morao ponavljati. Pojavom 3D Paint programa mogli ste da crtate teksturu u jednom prozoru i gledate rezultat u drugom.

Ovi programi su doneli pravu malu revoluciju u modeliranju i radu sa teksturama. Nažalost, morali su dosta dugo da čekaju na premijeru, sve dok im to nije omogućio skok hardverskih performansi, u prvom redu, grafičkih podsistema. Danas je situacija na ovom polju daleko bolja: doživeli smo i pojavu druge generacije ovih programa, ali nam neki problemi i dan-danas zadaju dosta muke...

Teksture i problemi

Osnovni problem leži u načinu kojim definišemo 3D objekte i njihove teksture. Tekstura je 2D mapa koja se „lepi“ preko 3D objekta. Da bi tekstura stajala stalno na istom mestu na objektu, treba generisati teksturne ili, kako ih još zovu, UV koordinate. Njih najčešće definiše sam program za modelovanje, mada ih je moguće generisati i boljim 3D paint programima. Tako svaka tačka na objektu, pored svojih prostornih X, Y i Z koordinata, dobija i UV koordinate, koje služe za pozicioniranje i orijentaciju 2D mape. Krute matematičke definicije objekata i razne aproksimacije, koje se koriste u zapisima podataka, učinile su da se boja (mapa) neprirodno „lepi“ na površinu.

Definicija takvog materijala morala bi biti potpuno odvojena, kao i do sada (zbog doslednosti objektne filozofije), ali bi primena na objekat morala biti volumetrijska, umesto površinske. Ova ideja nije nova i već je bilo prvih pokušaja realizacije preko tzv. voksela, naročito u medicinskim projektima. „Prostorne tačke sa zapreminom“ bi uvele novi kvalitet 3D kompjuterskih modela, a to je 3D rezolucija – složenost. Svi objekti ne bi bili savršeno glatki (sem onih sa ekstremnom 3D rezolucijom), ali bi materijali i teksture mogli biti daleko uverljiviji. Dinamika u animaciji takvih objekata bi bila znatno slobodnija, pa bismo izbegli dva glavna problema u vezi sa površinskim teksturama: razvlačenje i preklapanje.

Razvlačenje je sporedni, neželjeni efekat koji se javlja prilikom primene projekcione mape na poligonalni model. Glavni razlog za pojavu ovog problema je nejednaka „gustina“ mreže poligona na objektu. Razvlačenje se manifestuje na teksturama sa sitnijim detaljima koji se deformišu na mestima manje gustine poligona. Najbolje što u tom slučaju možete da uradite jeste da dopustite rendering programu da anti-aliasuje mapu, čime ćete deformaciju zameniti efektom izgubljenog fokusa na objektu.

Preklapanje je komplikovaniji problem koji se javlja kod objekata nepravilnih, ispresavijanih oblika kao što su zavese. Primena neke lepe projekcione mape na takav objekat može vas baciti u očajanje: različiti slojevi objekta će uzimati iste delove projekcione mape, a rezultat će biti neupotrebljiv čak i ako objekat nikada ne ulazi u krupni kadar. U ovakvom slučaju ne pomažu ni 3D paint programi, jer se preko preklopljenih delova ne može ni crtati. Olakšavajuća okolnost je što su ovakvi objekti najčešće (ali ne uvek) patch objekti (stvoreni uz pomoć NURBS-a), pa se na njih teksture primenjuju drugačije. Teksturne koordinate na ove objekte najčešće primenjuje sam softver za modelovanje, tako što svakoj od četiri tačke patch mesh-a dodeljuje odgovarajuću tačku na mapi. Time se eliminiše problem preklapanja, ali problem razvlačenja ostaje. Ovi problemi će, po svemu sudeći, opstajati sve dok se korenito ne promeni predstava 3D objekata u računaru. Do tada, pogledajmo šta nude relativno jeftini 3D paint programi.

Detailer odnosno Painter 3D

MetaCreations je pre izvesnog vremena preuzeo firmu Fractal Design, a samim tim i sve njene projekte. Program Detailer je ocenjen kao perspektivan, pa je njegov razvoj nastavljen u pravcu poznate Painter serije.

Detailer je, iako vremešan, i dalje veoma upotrebljiv, a njegova sličnost sa Painter-om ne datira od poslednje verzije. Skoro svi alati na koje ste navikli koristeći Painter su tu: otvorite novi prozor za teksturu i, u dve dimenzije, slikate ono što bi trebalo da se pojavi na objektu. Izvedene promene možete pratiti u posebnom prozoru u kome se nalazi 3D objekat, za koga pripremate teksturu. Sem obične teksturne mape, u ovom programu možete da pripremite i mape za bump, highlight, reflection i glow. Njihove rezolucije, kao i sve karakteristike 2D mapa, podešavate prilikom otvaranja odgovarajućeg prozora. Naravno, možete da učitate gotove slike i da ih dorađujete – podržani su 3D formati: QuickDraw 3DMF, 3D Studio, Detailer text, NFF, neizbežni DXF i Wavefront .OBJ.

Glavna mana Detailer-a je što ćete veoma jednostavno napraviti mape, ali ćete možda imati problema sa njihovom „montažom“ na 3D objekte unutar izabranog 3D programa. Njegov nedostatak u odnosu na nove programe je i u tome što ne crtate direktno na objektu, već na 2D površini koja se u realnom vremenu prenosi na objekat u susednom prozoru. Ovo ne mora da bude loše, pošto iskustvo govori da je direktno crtanje po 3D objektu povremeno nezgrapno, dok se na Detailer-ov način prilično lako navikavate i već posle pola sata naučite da „pogodite“ željenu tačku. Morate imati u vidu kakav ste mapping odabrali i u kojoj je rezoluciji mapa koju crtate. Od toga će zavisiti orijentacija crteža, ali i veličina upotrebljenih četkica. Ako imate problema, uvek možete zaroniti u prilično iscrpan help sistem, koji pored referentnih pojmova, sadrži i pozamašnu How-to sekciju.

Naslednik Detailer-a nosi ime Painter 3D i nešto je moderniji, brži ali i zahtevniji po pitanju memorije. Veliko iskustvo koje ova firma ima sa alatima za 2D crtanje (Painter je još uvek najbolji za digitalno slikanje), garantuje dobre rezultate. Painter 3D deluje kao da je Photoshop dobio 3D prozor. Interesantno je da se uveliko šuška o tome, te da bi se Photoshop-u zbilja moglo desiti nešto slično, kada (ako) firma Positron svoju TruV tehnologiju usmeri u tom pravcu. Što se Painter 3D-a tiče, pravi noviteti i snaga se očekuju u jednoj od sledećih verzija, posle promene imena i prebacivanja na MetaCreations kolosek.

4Division-ov 4D Paint

4D Paint je program nove generacije, koji donosi daleko bolju kontrolu u odnosu na Detailer. Njegova verzija Rembrandt 1.6 se može preuzeti sa 4Division prezentacije na Internetu. Potpuno funkcionalna demo verzija će raditi 30 dana, posle čega se morate odlučiti za kupovinu. Nažalost, na test ne može da se dobije i novija verzija 2.0.

4D Paint obezbeđuje crtanje teksture na samom objektu. Time se bolje koristi radna površina, korisnik ima utisak veće kontrole, ali to podrazumeva i nekoliko komplikacija. Pre svega, korisnički interfejs je složeniji, a sve opcije nisu baš na pravom mestu, kao kod programa koji crtaju na 2D podlozi. Help sistem je samo zbirka pojmova, koji vam u dilemama oko upotrebe pojedinih opcija ne može mnogo pomoći. Ko kupi originalni softver sa uputstvom ne mora da brine, mada bi mnogi korisnici pozdravili iscrpniji Paint Wizard.

Crtanje direktno na 3D objektu može biti dosta trapavo, ako ne usavršite kontrolu nad objektom i četkicom. Ova poslednja kontrola se ne može istaći kao najkvalitetniji deo 4D Paint-a: gomila predefinisanih brush-eva već postoji, kao i mogućnost definisanja sopstvenih oblika i veličina, ali konfuziju unosi njihova kombinacija sa stilovima Paint-a i njihovim opcijama. Problem bi se lako rešio sa preview prozorom u kome bi korisnik mogao da vidi deo crteža ili neki default objekat, na koji je primenjen trenutni brush sa paint stilom.

4D Paint 2.0 donosi dvostruko brži renderer, kontrolu osvetljenja u realnom vremenu, kao i manipulaciju kanalima. U ocenjivanju kvaliteta renderovane slike treba imati u vidu da je ovo program za pravljenje tekstura, te da ima pre svega preview ulogu – ne treba porediti njegove rezultate rendera sa onim što postižu pravi ray-trace programi.

Mnoge paint alatke su dodate ili poboljšane, a najbitnija stvar u vezi njih je podrška za Photoshop plug-in-ove, o čijoj snazi ne treba ni govoriti. Posebno interesantno je maskiranje, koje je u novoj verziji podignuto do nivoa Photoshop-a. Kada tome dodate potpunu kontrolu nad layer-ima, gradijentima i umetničkim alatima, kakvi su razne olovke, uljane boje i kreoni, sasvim je sigurno da će 4D Paint biti vrlo ozbiljan igrač. Korisnicima našeg podneblja biće posebno interesantan zbog podrške 3D Studiju i Lightwave-u, a i zbog niske hardverske zahtevnosti.

Četkicom po mesh-u

Osim pomenutih programa, postoje i daleko ozbiljniji i skuplji alati: Parametric Technology Pro/3DPAINT, Alias/Wavefront StudioPaint ili Digits ‘N Arts Flesh. Oni pomeraju granice u stvaranju i manipulaciji teksturama, ali najbolje stvari iz njihove palete alata možemo očekivati već za mesec – dva kod jeftinijih programa ove vrste.

Direktno crtanje po površini 3D objekata je sigurno olakšalo posao oko tekstura, mada se pravi prodor u 3D softveru tek očekuje, pojavom dobrog i jeftinog 3D interfejsa koji će poslati miševe u zasluženu penziju. Do tada, moraćemo da se borimo sa razvlačenjem i preklapanjem, uz pomoć 4D Paint-a ili Painter-a 3D.