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 #94 : Novembar 2003

 Naslovna  Sadržaj 
Stevan Josimović  

Blender: Zadužbina i carstvo

Blender je besplatni paket za 3D modeliranje, animaciju i razvoj igara koga sudbina nije štedela - posle zvezdanih trenutaka na Siggraph-u 2000, stvari su krenule nizbrdo. Sada se pojavila nova nada...

Firma Not-a-Number je započela razvoj ovog interesantnog softvera ali je, možda zbog prevelikih ambicija, loše prošla na tržištu. Posle gašenja projekta Blender, njegov tvorac Ton Roosendaal sa više volontera osniva neprofitnu Blender zadužbinu i od tada stvari kreću uzlaznim tokom. „Oslobodite Blender“ je bio naslov kampanje koja je ujedno bila i prva velika misija Blender zadužbine. Cilj te misije je bio da se prikupi 100.000 evra za otkup prava i da se Blender objavi pod GNU licencom, što se i dogodilo za svega sedam nedelja. Trenutna verzija nosi oznaku 2.28c, dostupna je od 26. septembra i predstavlja neposredni povod da Blender-u opet posvetimo pažnju.

Nekonvencionalno znači dobro?

Računajući na žilavost i upornost Blender zajednice, Ton Roosendaal (koji vodi razvoj Blender-a) odlučio je da sve snage podredi razvoju novih alata i funkcionalnosti Blender-a, dok je nekonvencionalni korisnički interfejs ostao uglavnom isti. Uopšte uzev, interfejs nije prilagođen početnicima i može predstavljati prepreku. Međutim, ako odlučite da posvetite nekoliko sati ovom programu, videćete da je filozofija na kojoj je građen interfejs itekako logična. Pre svega, kao i kod svih dobro osmišljenih 3D programa, jedna ruka mora da vam počiva na tastaturi zbog prečica, a drugu ćete uglavnom uposliti mišem. Blender radi u dva moda: Edit i non-Edit. Razlika je „samo“ u tome da li želite da radite sa geometrijom ili celim objektima, a iz moda u mod prelazite pritiskom na Tab dok do osnovnih menija dolazite tasterom Space.

(kliknite za veću sliku)

Meniji se pojavljuju odmah ispod pointera, pa je rad prijatan i maksimalno štiti kreativni tok misli. U situaciji kada radite sa nekoliko alatki uporedo, da ne biste pomerali prste sa „pozicija“, neke alate možete pozvati određenim pokretom miša. Recimo, za translaciju je dovoljno da držite pritisnut levi taster miša i pomerite pointer nekoliko centimetara u istoj liniji.

Još nekoliko lepih dosetki krasi ovaj „anti-Windows“ interfejs. Jedna od njih je Save as... koji pozivate F2 tasterom, ali kad želite da snimite novu verziju fajla na kome radite ne morate ručno da menjate ime i dodajete verzije; dovoljno je da pritisnete „+“ ili „-“ na numeričkoj tastaturi i broj verzije se magično povećava odnosno smanjuje.

Prozori u Blender-u su pre frejmovi u Windows terminologiji, ali takođe imaju vrlo simpatičnu „zvrčku“. Kada kliknete srednjim tasterom miša na neku od graničnih linija, otvara se meni koji dozvoljava da frejm koji ima fokus podelite na dva takva frejma.

Top-model za 2003.

Ako pokušate da ispratite neki od modeling tutorijala sa Interneta, videćete da su Blender-ovi modeling alati sasvim upotrebljivi. Koncepcijski, Blender pomalo podseća na Lightwave Modeler; razike su značajne, ali je pristup poligonalnom modeliranju vrlo sličan. Glavnu ulogu u oba programa ima vertex i to mnogo pojednostavljuje poligonalno modeliranje. Velika razlika u odnosu na Lightwave Modeler jeste postojanje ivica. Postoji još jedna interesantna paralela sa Lightwave Modeler-om, a to je identična upotreba layer-a.

Ovde se nikako ne završava priča o Blender-u kao modeleru, jer ovaj program ima sijaset sjajnih alata. Lattice je alat za deformaciju kakav ni mnogi komercijalni 3D programi nemaju. Ovaj alat funkcioniše kao neka vrsta bounding box-a oko objekta koji želite da deformišete, a čiju gustinu (odnosno rezoluciju) možemo da kontrolišemo. Tipična situacija je da je lattice zapravo daleko jednostavniji od ciljnog objekta, pa ga je lakše deformisati i kontrolisati. Pošto na scenu dodate lattice, potrebno je „parentovati“ ciljni objekat za ovaj bounding box. Nakon toga će svaka deformacija na lattice objektu biti primenjena i na ciljni objekat.

Veoma interesantne modelerske alate predstavljaju Dupliverts i Dupliframes. Dupliverts je vrsta array duplikatora objekata, ali umesto unapred definisanih array formacija, možemo koristiti sopstvene oslanjajući se na vertekse mesh-eva čije smo ivice obrisali. Dupliframes ima sličan pristup, ali se ovde umesto verteksa nekog mesh-a koriste krive.

Da zaokružim skup modelerskih alatki, pomenuću da Blender ima integrisan potpuno funkcionalan UV editor tekstura sa raznim unwrap (odmotavanje) modovima, čime se može pohvaliti zaista mali broj 3D paketa. Kontrola je na nivou pojedinačnih poligona čija svaka tačka može imati zasebne UV koordinate.

Animiraj kao pro

Blender pored sopstvenog sistema kostiju (Armature) koji može biti kontrolisan inverznom i direktnom kinematikom i odličnog constraint sistema poseduje i pravi mikser za nelinearnu animaciju. Po opcijama i mogućnostima, ovaj mikser je ekvivalent sličnim mikserima u komercijalnim paketima. Ni morfing nije zaboravljen, pa je tako moguće key frejmovati svaku tačku u morfing sekvenci i kontrolisati ove morfing sekvence modernim slajderima.

Blender je u ovoj verziji započeo i sa konceptom aktera (glumaca) u karakter-animaciji, ali bi se na ovom polju moglo još raditi jer je integracija ovog sistema u ostatak programa dosta slaba. S druge strane, mogućnost da se animiraju lattice deformatori je pun pogodak. Mnogi animatori smatraju da je na taj način moguće animirati kompletne digitalne likove, a u animatorskim krugovima ova tehnika se veoma ceni.

(kliknite za veću sliku)

Klasičan key frejming je takođe moguć; ovaj pristup animiranju zajedno sa animiranim kanalima (ili, kako ih u Blender-u zovu, Motion Curves) integrisan je u poseban modul za kontrolisanje krivih nazvan skraćeno IPO (InterPOlation).

Skup alata za karakter-animaciju ne bi bio kompletan da Blender ne poseduje i mogućnost za reprodukciju zvučnih zapisa i njihovu sinhronizaciju sa animiranim sekvencama. Reč upozorenja: iz nekih razloga AVI sekvence koje ćete generisati Blender-om se ne reprodukuju najbolje sa Media Player-om, ali bi QuickTime trebalo da ih reprodukuje bez problema. Pretpostavljam da se (re)kompresijom u (recimo) VirtualDub-u ovaj nedostatak može zaobići. Zbog toga je dobra ideja ne koristiti kodeke sa visokim stepenom kompresije (pre svega DivX) direktno iz Blender-a ili ih pažljivo proveriti pre upotrebe.

Direktno u igre

Blender je posebno interesantan tvorcima jednostavnijih igara. Naravno, moguće je razvijati i složenije igre, ali će A produkcija ipak zahtevati moderniji i kvalitetniji engine i API, sa posebnim naglaskom na brzini. Blender nikako nije za potcenjivanje na ovom polju, čak i na ozbiljnijim komercijalnim projektima.

Sistem na koji se oslanja Blender u razvoju interaktivnog materijala je pre svega Python skript jezik, koji se pokazao kao veoma moćan, ali i portabilan, jer postoji već duže vreme na više platformi. Ovaj skript jezik je zapravo objektno-orijentisani interpreter koji podržava module, tretira exception-e i sve što je neophodno za razvoj kompleksnih softverskih projekata. Python je projektovan kao ekstenzija aplikacijama kojima je neophodan programabilan interfejs, pa ga zbog toga Blender i koristi. Naravno, Python je prisutan u svim Blender-ovim modulima pa je, shodno tome, funkcionisanje svakog od njih moguće dodatno poboljšati pisanjem Python skript modula koji imaju pristup kompletnom Blender-ovom API-ju.

Ako krenete u razvoj interaktivnog materijala na Blender-u, računajte na detekciju sudara, dinamiku, sve poslastice iz OpenGL „kuhinje“ uključujući i transparencije, reflection mape, animirane teksture itd. Interaktivni materijal u toku razvoja je moguće pokretati bez kompajliranja i preprocesiranja. Zvuk je podržan kroz fmod toolkit.

Blender poseduje puno aduta na polju renderinga – Scanline renderer je brz i poslužiće odlično kao preview u toku animiranja. Tu su još i oversampling anti-aliasing koji po mom utisku nije briljirao i koji bi morao da bude značajno bolji, motion blur, postprodukcijski efekti, field-ovi (za video-produkciju)... Budući da je u pitanju paket pod GNU licencom, pravo je čudo da može da ponudi razne surface shader-e: Lambert, Phong, Oren-nayar, Blinn, Toon. Čak ni, (jednostavnija) adaptacija Radiosity Solver-a nije izostavljena, a podržani su i eksterni rendereri: Renderman, Povray, Yafray i Virtualight.

Iako ovo sve zvuči impresivno a primeri slika koje vidite na ovim stranicama izgledaju zaista dobro, renderer je najslabija tačka paketa. Bez jačeg eksternog renderera teško se može napraviti animacija broadcast kvaliteta. Šteta je što sve popularniji Brazil renderer nije podržan, mada uvek ima vremena da se ta greška ispravi u nekoj od sledećih verzija programa.

Na rubu Zadužbine

Iako postoji već neko vreme i pokriva širok dijapazon primena, Blender još nema korektnu dokumentaciju. Zbog toga je nekoliko volontera, među kojima i sam Roosendaal, pristupilo izradi Web dokumentacije, koju nikako ne smete propustiti.

Roosendaal je trenutno u sličnoj poziciji kao Linus Torvalds (kada je Linux u pitanju), pa bih rekao da je Blender na dobrom putu. Njegova najveća snaga je što postoji na velikom broju platformi: Windows (u svim „pakovanjima“), MacOS X, Linux (Intel + PPC), FreeBSD, SGI Irix 6.5 i Sun Solaris 2.8 (sparc). Veliku prašinu je svojevremeno podigla i verzija za iPaq hend held računare.

Blender-u se može zameriti jako malo toga. Ipak moram da primetim da verzija 2.28c nije baš stabilna, što je boljka koju Blender „vuče“ od najranijih verzija. Funkcionalnost je na visokom nivou, Blender obiluje odlično zamišljenim alatima, pa bi bio pravi trenutak da se obavi detaljna „dezinsekcija“ kako bismo posle verzije 2.5 (recimo) mogli da spontano uputimo aplauz Blender Zadužbini.