Tutorials: Lightwave I
by greent^nevermind greent@eunet.yu

COPYRIGHT (C) 1999 BY GREENT / IGOR S.
REVIZIJA 1.00 / 05. AVGUST 1999.

SVE KOMENTARE, SAVETE, OSUDE, PITANJA, ZANIMLJIVE OBJEKTE, PARE, PONUDE ZA POSAO ILI BILO STA DRUGO SALJITE NA GREENT@EUNET.YU

SAV TEKST OBJAVLJEN OVDE JE ORIGINALAN, IZUZEV SAVETA KOJI POTICU IZ IZVORA KOJI SU POSEBNO NAVEDENI. UKOLIKO ZELITE DA OBJAVITE TEKST NA BILO KOJEM MEDIJU, JAVITE SE ZA PISMENU DOZVOLU. SVI NAVEDENI METODI KOJI SU OPISANI SU PLOD LICNOG RADA I SAMOSTALNOG EKSPERIMENTISANJA, I FUNKCIONISU UKOLIKO SE POSTUPCI PRIMENJUJU TACNO PO UPUTSTVIMA I NA KONFIGURACIJI KOJA JE U TEKSTU NAVEDENA. NISAM ODGOVORAN NI ZA KAKVU STETU KOJA BI NASTALA UPOTREBOM METODA OPISANIH OVDE. KORISTITE NAUCENO U KORISNE SVRHE, UCITE ONO STO NE ZNATE, DELITE ZNANJE SA ONIMA KOJI NE ZNAJU!

LIGHTWAVE, VIDEO TOASTER ARE COPYRIGHTS OF NEWTEK.
AMIGA IS COPYRIGHT OF AMIGA INTERNATIONAL.
ALL OTHER COPYRIGHTS APPLY.



kao sto vec verovatno i znate, lightwave je program za modeliranje i vizualizaciju posebnih elemenata (tzv. objekata) koji su u medjusobnom odnosu u zamisljenom 3d prostoru, a na sebe primaju faktore kao sto su svetlo ili refleksija, u cilju dobijanja (najcesce) fotorealisticnih slika. odnosno, ljudi zovu lightwave (u daljem tekstu lw) program za raytrace, tako da je u stvari jasno cemu on sluzi.

originalno je nastao na amigi za potrebe firme newtek kao program koji bi maksimalno iskoristio mogucnosti video toaster graficke kartice, a kasnije se prodavao i kao zaseban program, dok ga danas vidjamo i na pc-ju i mac-u. uzgredbudireceno, za amigu se trenutno ne razvija, poslednja verzija je 5.0, mada ponegde kruze verzija 5.2 ili neka druga ali su fake, i ne poseduju nikakva poboljsanja. sve dole opisano u tekstu obradjeno je na verziji 5.0, ali verovatno bi funkcionisalo i na nizim verzijama (4.0 ili manjoj).

bitna razlika izmedju lw-a i ostalih programa ovog tipa (na amigi) je njegova podeljenost na dva dela: modeler (program za kreiranje i obradu objekata) i layout (program u kome se podesavaju parametri za generisanje slike kao sto su povrsine, broj i tipovi izvora svetlosti, a moguce je izvrsiti i dodatne modifikacije na kreiranim objektima u modeleru. inace, u layoutu se generisu konacne slike ili animacije).

jos jedna bitna stvar: modeler i generalno lw mozda izgledaju malcice komplikovani (u sustini i jesu komplikovani na neki nacin, ali program ovog tipa i ovog kalibra ne moze da se strpa u par opcija i da se na kraju dobiju kvalitetni rezultati) ali za njegovo "savladjivanje" je potrebno malko vise "grejati stolicu" i eksperimentisati, a rezultat ce (uz trud) biti zaista vredan toga. ako se (ikada) naviknete na modeler, svi ostali programi za kreiranje objekata ce vam biti nepotrebni jer je modeler sam sebi dovoljan.

ucitajte modeler ako jos uvek niste.

modeler poznaje cetiri vrste "elemenata": tacke (points), poligone (polygons, ovo ukljucuje i one point & two point poligone zajedno sa standardno poligonima sa vise tacaka), krive (curves, koje se ne tretiraju kao objekti mada se mogu konvertovati u standardne poligone, generalno sluze za slozeno definisanje objekata) i metanurbs objekte (predstavljaju zatvoren skup krivih koje se moraju obavezno konvertovati u poligonski objekat da bi bio vidljiv pri generisanju, a obrada metanurb objekta moze se opisati kao vajanje, bice vise reci o ovome kasnije).

ok, da pojasnimo malo i sta se vidi u tom modeleru (necu objasnjavati cemu sluze bas sve opcije, jer neke opcije necete mozda nikada ni koristiti.)

na glavnom (kasnije ce se ispostaviti i na jedinom) ekranu, u gornjem uglu vidljiv je glavni meni, i gadzeti koji oznacavaju layer-e (o layer-ima cemo da pricamo kasnije). sa leve strane su opcije za odredjeni meni kao i koordinate pointera kada se nalazi na nekoj od projekcija, koje zauzimaju centralni deo ekrana i to (po defaultu): top (pogled od gore), face (pogled spreda) i left (pogled sa leve strane)(raspored se moze promeniti u display meniju, panel options). u donjem delu je mod selekcije (selection mode, o tome nesto vise dole u tekstu), kao i cut, copy, paste i redo i undo.

meniji se nalaze u vrhu ekrana a svaki meni prikazuje opcije _samo_ sa leve strane. posle obilaska svih menija shvatate da tih opcija i nema mnogo, sto vas mozda navodi na pomisao da se i ne moze uraditi bogznasta sa objektima, ali verujte, alati su vise nego mocni :].

dobro, prvi meni je objects. samo ime mu govori - korisne stvari za vezane za objekte. odatle mozete da standardno ucitate (load), snimite (save), da napravite par "primitiva", napisete tekst (text) i promenite neke opcije (options). "primitiva", primetili ste, ima malo, ali kada budete pravili neke slozenije objekte, te primitive vam i nece biti toliko interesantne. i da, primitive su: box (pravougaonik ili kocka), ball (lopta ili elipsoid - tj. u narodu se elipsoid moze opisati kao izduzena lopta :]), disc (ili valjak), cone (kupa) i sketch (crtanje krivih).

postoje dve opcije mozda na prvi pogled i poznate, a zovu se import i export. ne radi se o onome o cemu bi verovatno pomislili (konvertovanju i uvozu drugih formata objekata) nego su opcije korisne ukoliko ste modeler startovali iz layouta, gde mozete da uvozite i izvozite objekte tamo-amo.

custom opcija je veoma korisna jer ovde mozete da ubacite svoje arexx skripte (da,lw podrzava i to, naravno poseduje i svoje posebne komande) koje vam mogu uraditi veoma koristan posao a slicna stvar nije integrisana u lw. za sada ce o custom skriptama biti dovoljno, kasnije ce biti malo vise reci o ovome.

opcija numeric je veoma korisna ukoliko zelite da izvrsite precizne operacije. skoro svaki alat u lwu (barem onaj koji moze da ima brojevne parametre) ima numeric opciju. primer, pravite loptu, a zelite da budete sigurni da je lopta pravilna. odaberite primitivu ball, i bez zadavanja kontura misem, odaberite opciju numeric (ili pritisnite malo slovo n). otvorice vam se mali prozor gde mozete da podesite vrstu sfericne povrsi, centar (center) i radijus (radii). vrsta sfericne povrsi moze da bude globe i tesselation. razlika izmedju ove dve je u tome sto globe pravi loptu od cetvrtastih poligona koji imaju strane i segmente a tessalation je napravljen od trougaonih poligona. kod opcije globe, strane su broj poligona koji okruzuje loptu po x osi a broj segmenata je broj okruzenja od gornjeg do donjeg vrha. kod tessalation-a, svaki nivo (level) vise, daje duplo veci broj poligona. kao sto vec rekoh, skoro svaka opcija poseduje numericka podesavanja, tako da je najbolje da vremenom sami ekperimentisete sa numeric opcijama.

u slucaju da ne zelite da imate preciznu loptu (elipsoid) mozete misem zadati konture sfere po projekcijama,a o tome zaista ne zelim da pisem i da vas davim, dovoljno ste pametni da to ucinite sami. kada ste zadovoljni izgledom (buduceg) oblika, kliknite na desno dugme misa pri odabiru zadnje pozicije konture. ako ste zadovoljni vec postojecim izgledom, odaberite make ili pritisnite enter.

(mala ali bitna napomena: u panelu options (malo slovo o) namestite one side poligone).

spomenuo sam da aktiviranje numeric opcije moze da se izvede i preko tastature. da vas ne bih zamarao, lista komandi sa tastature se dobija pritiskom na help.

u redu, dobili napravili ste (nekakvu) loptu i sad zelite da recimo... pomerite par tacaka ili poligona, ili jedan odredjeni segment.

primetite u dnu ekrana pored velicine grid-a (grid je velicina mreze u pozadini, tj. razdaljina izmedju dve najblize vertikalne ili horizontalne linije) postoje tri opcije: point, polygon i volume. trenutno aktivna point oznacava point mod selekcije (selection mode), sto znaci da mozete u ovom modu birati samo tacke i sve opcije se odnose na trenutno odabrane tacke (ukoliko nije odabrana nijedna tacka, podrazumevaju se sve tacke aktivne u ovom layeru, tj. sve vidljive tacke).

ok, odaberite par tacaka recimo sa leve strane objekta. kao sto vidite, ukoliko ste u face projekciji odabrali par tacaka, neke ce biti odabrane i u top projekciji. to je zato sto su koordinate tacaka iste za modeler za projekciju u kojoj je izvrsena selecija i u (mozda) drugim projekcijama. odnosno, brojevno to bi znacilo: u face projekciji tacka ima koordinate x:-60 y:-10, a u top projekciji x:-60 z:90 -> bice odabrane obe tacke (sa x koordinatama). ukoliko zelite da deselektujete neku tacku..., odnosno, da preformulisemo to na sledeci nacin. birate tacke, kliknete misem na neku i sa drzanjem levog tastera na misu birate jos neke. kada napravite prekid u selekciji, sledeci klik na istu tacku ce da je deselektuje. ukoliko zelite da dodate tacke u selekciju a napravili ste pauzu, drzite taster shift i birajte tacke. ako vam treba grupa tacaka odredjenog slobodnog oblika, okruzite zeljenu povrsinu drzeci desno dugme misa (isto vazi ukoliko zelite da deselektujete).

da se vratimo na nase odabrane tacke. npr. zelite da ih pomerite u levo. odaberite move u meniju modify i pomerite tacke u top i face projekciji po slobodnom izboru (ili kao na slici).

kao sto je napocetku receno, lw poznaje jos neke skupove elemenata nad kojim manipulise. jedni od njih su i poligoni (polygons).

promenite selection mode u polygon.

slicna su pravila za selektovanje poligona kao za tacke. da bi ste osetili razliku (koja u ovom slucaju i nece biti nesto velika) odaberite poligone sa desne strane i smanjite ih (opcija size, meni modify)

ukoliko ste primetili, poligoni u modeleru imaju neke isprekidane linije koje se nalaze na tezistu poligona (tj. kod konveksnih poligona "izlaze" iz njih). ta linija, odnosno njeno usmerenje oznacava na koju je stranu okrenut poligon.

poligoni u lwu mogu da imaju jednu ili dve strane. to mozda zvuci pomalo nejasno ali pri radu sa nekim komplikovanijim stvarima ima jako veliki znacaj i potrebno je znati ponesto o tome.

jednostavno receno, poligon moze da ima ili jednu ili dve strane (one sided i double sided respektivno), tj. da je jednostrani poligon gledan od napred je vidljiv a gledan od nazad nevidljiv. (logican nastavak ovoga je da su oni poligoni koji imaju dve strane vidljivi i od napred i od nazad). bezeveze, a?! pa bas i nije. gledajte to ovako: napravili ste kocku od double sided poligona. ukoliko uklonite jedan poligon (jednu stranu kocke) bice vidljiva i unutrasnjost kocke. kod jednostranih to je naravno, nevidljivo. ili kada radite boolean operacije odnosno (primer) od jednog objekta "oduzimate" drugi objekat (pravite rupu u kocki, npr. ). kada se to radi sa objektima koju su one sided, rezultat operacije bice objekat koji je (kao) od cvrstog materijala, recimo drveta. kada se to radi sa objektima koji su double sided poligonski, izgledace kao da su od lima ili papira.

inace, promena moda rada sa one&two sided poligonima obavlja se u options panelu, meni objects (malo o).

vraticemo se na temu o ovome, da ne zaboravim jos nesto vazno, a to je onaj preostali selection mode, volume. a to je mod prosto receno pravougaone selekcije. "napravite" pravougaonik na objektu koji zelite da modifikujete i to je to.

ranije smo spomenuli layere i vreme je da se pomalo zabavimo sa njima.

layer-i su, kao sto mozda i sami mozete da "prevedete" slojevi, odn. posebni baferi za objekte koji mogu da imaju medjusobne odnose jedan sa drugim. informacije o aktivnim i tzv. background layerima nalaze se u gornjem desnom uglu.

gornji red gadzeta oznacava aktivne a donji red background layere. da bi smo malo bolje pojasnili rad sa layerima, sledi primer.

imamo nasu (ruzno) modifikovanu loptu, i zelimo da napravimo jednu rupu cetvrtastog oblika na njoj.

predjimo u drugi layer tako da je aktivan layer prazan (bilo koji gornji gadzet bez tackice na sebi) a klikimo na donji gadzet tamo gde nam se nalazi nasa lopta (ili ono sto je ostalo od nje). videcemo nasu loptu sa crnim obrisima. napravimo sada jednu kocku kao na slici tj. da su joj u face projekciji dimenzije manje od ivica pozadinskog objekta (bivse lopte) a u top projekciji da vire van kontura pozadinskog objekta.

e, sada, uradite obrnutu stvar, tj. vratite modifikovanu loptu kao glavni layer a stavite kocku u pozadinski layer (ovo se brze aktivira tasterom ' ). odaberite opciju boolean u meniju tools i odaberite substract. dobijate nesto nalik ovome:

ok, ja se nadam da ste do sada i naucili po nesto. najbolje je da eksperimentiste sa raznoraznim kombinacijama naucenih stvari i da vidite sta se npr. sve krije u modify alatima i da primenjujete na nasu lopticu ( sa rupom :]).

na sledecem primeru naucicemo jos neke zgodne stvari koje mogu da vam pomognu pri modeliranju nekih drugih slozenijih objekata, a poigracemo se malo i sa povrsinama (koje su btw dosta slicne teksturama u drugim programima, mada je to u lwu malo elegantnije reseno).

odaberite opciju new, tj. obrisite sve do sada sto smo izmodelirali. pokusacemo da napravimo nesto sto lici na automobil, i da to izrenderisemo (ali dosta kasnije).

prvo, zamislite (sto nece biti tesko) kako izgleda automobil gledan sa strane (znaci, vrata vozaca ili suvozaca, svejedno)...

u meniju polygon odaberite points (create points) i napravite zamisljene glavne tacke spomenutog automobila u face projekciji ili nesto ovako:

ok, odaberite tacke redom, tj, da imaju neki redosled kada se spajaju. kao kada bi imali te tacke na papiru i spajali ih pravim linijama da dobiju konture auta. kada odaberete tacke (u cilju dobijanja rezultata kao na slici) odaberite make polygon (ili malo slovo p).

spojite i preostale cetiri tacke da bi dobili nesto ovako:

predjite za momenat u polygon selection mode i odaberite napravljene poligone. ukoliko je neki od poligona okrenut ka +z osi, selektujte samo njega i koristite opciju flip polygon (malo f) (u principu, ne bi bilo problema ni da su oba poligona okrenuta ka +z osi, ali da bi ste lakse pratili primer i da se ne bi desile neke trenutno nejasne stvari) i okrenite ga ka -z osi.

ok, sada to pomalo lici na neki automobil, sem sto je malo grub i nema tockove.

sada je to takozvani flat objekat, i zelimo da mu dodamo trecu dimenziju.

u meniju multiply, opcija extrude ce da doda ovim nasim poligonima i trecu dimenziju, a za to je potrebno samo da odaberete face projekciju dok ce se u gornjoj projekciji pojaviti izduzenje koje bi trebalo da bude kao rezultat. ukoliko ste zadovoljni duzinom, make-ujte je, a ako ne...pomerite onu gornju horizontalnu crtu malo gore (dole). ili kako slika kaze:

ok,sada to i kao lici.

da bi smo napravili tockove, predjimo u drugi layer i postavimo glavni objekat u background layer.

napravimo valjak na poziciji gde se obicno nalazi prednji tocak na automobilu, ali da je malko veci. zatim koristite mirror opciju u multiply meniju da bi dobili prostor za ostala tri tocka. i to treba da izgleda ovako:

vratite pocetni layer za glavni, valjke stavite u pozadinu, boolean/substract, i to je to.

napravite cetiri tocka (kao valjke) u nekom od praznih layera (koristite naravno i background layere za laksu orijentaciju) i kada ste zadovoljni rezultatom, koristite opcije pri dnu ekrana, odnosno, cut, copy i paste. ove opcije su ekvivalentne ovim opcijama u drugim programima, odnosno, copy kopira selekciju, cut kopira i brise odabrano, dok paste vraca memorisane elemente.

modifikujte malcice gornji deo vaseg modela, a sve to moze da izgleda nekako ovako:

kao sto ste primetili, ceo objekat fino je "stao" u sve tri projekcije. za centriranje u svim projekcijama koristite fit all u meniju display. ukoliko ste odabrali neke elemente objekta, fit all ce da centrira standardno ceo objekat a fit sel samo odabrano. slicno vazi za objekte kada su aktivni i drugi layeri: fit sel selektuje samo elemente u aktivnom layeru dok fit all centrira sve objekte iz svih layera.

ukoliko vam zatrebaju svi poligoni (ili tacke) nekog objekta a nije jednostavan, odnosno, zahteva slozene selekcije, najbolje je da koristite opciju sel conn, odnosno select connected, sto aktivira sve elemente objekta (na tastaturi to je znak ]).

pre nego sto selektujete sve poligone skoljke automobila, pritisnite malo m i odaberite automatic. javice vam se da je eliminisano par tacaka. sledi objasnjenje. prilikom seckanja i dodavanja i raznoraznih modifikacija, desava se da se neke tacke imaju ili potpuno iste koordinate ili da se "zagube" ili da ostanu "skrivene". merge opcija ustvari brise sve nepotrebne tacke i ujedinjuje oblike koji su se koristili pri (u ovom slucaju) boolean operacijama u jednu celinu.

rekoh, selektujte sve poligone i odaberite polygon/surface (ili malo q). otvorice se sledeci panel:

verovatno vam je jasno cemu ovo sluzi ali ipak potrebno je dati malo objasnjenje vezano za surfaceove.

lw poligone na objektima tretira kao povrsine koje imaju posebna imena, a svaka od povrsina (ciji je najveci broj broj poligona u objektu) moze da ima posebnu teksturu. odnosno, jedna lopta od 128 poligona moze da ima 128 povrsina a svaka povrsina svoju posebnu teksturu a svaka tekstura moze posebno da se mapira (ali to vec prelazi u domen layouta o cemu cemo kasnije da pricamo). naravno, jedna povrsina moze da se sastoji od vise poligona ili da je ceo objekat samo jedna povrsina.

za pocetak dajte neko ime toj skoljci, i neka se zove "shell" (ili bilo sta cime cete lako da se orijentisete. navodnici nisu obavezni, a dozvoljeni su). ostale stvari koje mozete da promenite su boja, gustina, odsjaj, velicinu odsjajne tacke, mozete da oznacite da je ceo objekat dvostran ili da ukljucite i promenite ugao za omeksavanje ugla izmedju poligona. ove parametre mozete ali i ne morate da podesavate, jer se obimnije stvari podesavaju u layout-u.

donje opcije rade sledece: ukoliko zelite da dodate novu povrsinu koristite apply, ako zelite da promenite ime neke vec definisane povrsine, koristite change. cancel opcija je jasna.

dajte neko ime i za tockove (wheels, tockovi, stavec...)

ok sada kad ste definisali i povrsine, snimite objekat pod nekim vama prepoznatljivim imenom i vas prvi objekat je gotov. time je gotova i prva lekcija u kojoj smo naucili, ako se dobro secam, sledece:

nije to ni mnogo, kada se pogleda, svega 6-7 stvari, ali u sustini, da bi dobijali neke slozenije stvari, presli ste osnovu. preporuka je - vezbajte.