MODUL 1 · MODELIRANJE DIGITALNIH OBJEKATA
Nastavna jedinica 1.7
Priprema modela za hologramski prikaz
Gotov model još nije spreman za naočale. Ova jedinica obrađuje posljednji korak: prorjeđivanje mreže, izradu razina detalja, pečenje tekstura, postavljanje svjetlećih i prozirnih materijala te izvoz modela koji se mora iscrtati šezdeset puta u sekundi.
- objasniti što sve obuhvaća priprema modela za hologramski prikaz
- prorijediti mrežu prema zadanom proračunu uz očuvanje obrisa
- izraditi razine detalja i odrediti udaljenosti prijelaza
- ispeći teksture i odabrati njihovu veličinu prema udaljenosti gledanja
- procijeniti brzinu prikaza i zauzeće memorije iz broja trokuta i tekstura
- izvesti model u format za naočale i zapisati postavke izvoza
Što znači pripremiti model
Priprema je niz zahvata kojima model prelazi iz stanja u kojem je točan u stanje u kojem je brz. Točnost se pritom namjerno žrtvuje, ali samo ondje gdje se gubitak ne vidi. Cijela je vještina u tome da se zna gdje je ta granica, a ona je u jedinici 1.3 izračunata: na dva metra jedna točka zaslona pokriva oko milimetar.
Priprema ima četiri koraka. Prorjeđuje se mreža, izrađuju razine detalja, peku teksture i postavljaju materijali, a zatim se model izvozi. Nakon svakog koraka mjeri se isto: broj trokuta, veličina datoteke i izgled modela iz triju smjerova. Bez tog mjerenja priprema postaje nizanje zahvata bez povratne informacije.
| Pokazatelj | Cilj u HT-1 | Izmjereno | Ocjena |
|---|---|---|---|
| Broj trokuta | najviše 90 000 | 88 400 | zadovoljeno |
| Brzina prikaza | najmanje 60 sličica u sekundi | 58 prosječno, najmanje 44 | nije zadovoljeno |
| Radna memorija | najviše 900 MB | 720 MB | zadovoljeno |
| Pomak sidra | do 5 mm na 2 m | 6 mm nakon 20 min | nije zadovoljeno |
| Veličina datoteke | što manja | 3,6 MB | zadovoljeno |
| Mapiranje prostora | ispod 5 min | 3 min 20 s | zadovoljeno |
Tablica pokazuje stvarno stanje projekta nakon prve isporuke. Dva pokazatelja nisu zadovoljena, i oba se rješavaju u drugom krugu: brzina prikaza dodatnim prorjeđivanjem i razinama detalja, a pomak sidra postupcima iz trećeg modula. Takav ishod je normalan — prva isporuka rijetko zadovoljava sve pokazatelje.
Prorjeđivanje mreže
Prorjeđivanje uklanja vrhove i spaja poligone dok se ne postigne zadani broj trokuta. Postupak je uspješan dok uklanja trokute koji ne nose oblik. Čim krene u obrise i rubove, model izgleda izgriženo, a u hologramu se to vidi jače nego na zaslonu jer promatrač obilazi objekt i gleda ga s mnogo strana.
Zato se ne prorjeđuje cijeli sklop odjednom. Svaka skupina dobiva svoj postotak, u skladu s raspodjelom proračuna iz jedinice 1.6. U projektu HT-1 ruka robota prorijeđena je s 260 000 na 26 000 trokuta, dakle na desetinu, dok je ograda s 42 000 svedena na 8000. Ukupno je mreža pala s 640 000 na 88 400 trokuta.
| Skupina | Prije | Poslije | Postupak |
|---|---|---|---|
| Ruka robota | 260 000 | 26 000 | prorjeđivanje uz zaštitu obrisa |
| Postolje | 48 000 | 8 000 | uklanjanje zaobljenja i navoja |
| Transporter | 180 000 | 16 000 | zamjena valjaka jednostavnim tijelima |
| Ograda | 42 000 | 8 000 | ploče kao jedna ploha bez debljine |
| Ormar | 36 000 | 4 000 | uklanjanje unutrašnjosti |
| Vijci i sitni dijelovi | 74 000 | 1 400 | prikaz pojednostavljenim tijelima |
Nekoliko pravila olakšava posao. Rubovi koji čine obris zaključaju se prije prorjeđivanja kako bi ostali netaknuti. Plohe s natpisima također, jer se pri prorjeđivanju iskrivi tekstura. Simetrični dijelovi prorjeđuju se na jednoj polovici, a druga se zrcali, čime se izbjegava nesimetričan rezultat koji oko odmah primijeti.
Neka se geometrija ne prorjeđuje nego zamjenjuje. Valjci transportera zamijenjeni su jednostavnim tijelima s malim brojem ploha, a vijci i matice pojednostavljenim glavama bez navoja. Takva zamjena daje veću uštedu od bilo kojeg automatskog postupka i, za razliku od prorjeđivanja, ne ostavlja nepravilne trokute koji poslije smetaju pri teksturiranju.
Nakon svakog kruga prorjeđivanja model se pogleda iz triju smjerova i usporedi sa slikom prije zahvata. Traži se troje: je li se obris promijenio, jesu li se pojavile rupe i je li koja ploha preokrenuta. Sve troje se u naočalama vidi odmah, a na zaslonu pri punom zumu lako promakne.
Razine detalja
Nakon prorjeđivanja izrađuju se razine detalja. To su dodatne, još grublje inačice istog modela koje uređaj koristi kad je objekt dalje. U projektu HT-1 postoje tri razine: 90 000 trokuta do četiri metra, 45 000 od četiri do šest i oko 18 000 iznad šest metara.
Razine se ne rade na oko. Svaka sljedeća ima otprilike upola manje trokuta, a udaljenost prijelaza bira se tako da razlika bude ispod granice razaznavanja. Na četiri metra jedna točka zaslona pokriva približno dva milimetra, pa sve što je u bliskoj razini sitnije od toga u srednjoj razini može nestati bez vidljive posljedice.
Postoji i mogućnost da se razine izmjenjuju po skupinama, a ne za cijelu ćeliju odjednom. To je bolje jer tehnolog često stoji uz transporter, a ogradu na suprotnoj strani gleda sa sedam metara. U tom trenutku transporter treba blisku razinu, a ograda daleku. Cijena je nešto složenija scena i više datoteka.
Pečenje tekstura i materijali
Prorjeđivanjem se gubi sitan reljef: utori, natpisi, rubovi ploča. Dio toga može se vratiti pečenjem (baking): detalj se s guste mreže prenese na sliku koja se zatim nanosi na prorijeđenu mrežu. Oblik ostaje jednostavan, a površina izgleda bogatije.
Pečenje se radi prije smanjenja tekstura, a nikad poslije. U projektu HT-1 detalji su ispečeni na teksture stranice 2048 piksela, a zatim je gotova tekstura smanjena na 1024. Redoslijed je važan: pečenje na malu teksturu daje mutnu sliku koju kasnije povećanje ne može popraviti.
Materijali se za hologram postavljaju drukčije nego za zaslon. Osnovni materijal ćelije je blago sjenčan i svijetao, jer tamne plohe na prozirnom zaslonu nestaju. Vrpce, obrisi i oznake dobivaju emisijski materijal koji svijetli sam. Prozirnost se koristi samo ondje gdje nosi podatak — na ljusci dosega i na pločama ograde kroz koje se mora vidjeti unutrašnjost.
| Dio | Materijal | Prozirnost | Napomena |
|---|---|---|---|
| Ruka i postolje | blago sjenčan, svijetao | nema | oblik se čita po sjenčanju |
| Transporter | blago sjenčan | nema | traka nešto tamnija |
| Ploče ograde | svijetle plohe | oko 30 % | vidi se unutrašnjost |
| Ljuska dosega | emisijski | oko 20 % | jedna ploha bez debljine |
| Obrisi i vrpce | emisijski | nema | glavni nositelj čitljivosti |
| Natpisi | emisijski | nema | okreću se prema promatraču |
Prozirnost, redoslijed i broj poziva
Tri stvari u pripremi troše više nego što se očekuje, a nijedna se ne vidi u broju trokuta. Prva je prozirnost. Neprozirne plohe uređaj iscrtava bilo kojim redom i za svaku točku zadržava najbližu. Prozirne ne može: one se moraju iscrtati nakon svih neprozirnih i to od najdaljih prema najbližima. Svaka prozirna ploha u vidnom polju znači dodatni posao, a dvije prozirne plohe jedna iza druge udvostručuju ga.
Druga je broj zasebnih poziva iscrtavanja. Uređaj svaku skupinu s vlastitim materijalom obrađuje odvojeno, i svaka takva skupina nosi svoj fiksni trošak neovisan o broju trokuta. Scena od dvjesto sitnih objekata s dvjesto materijala može biti sporija od jednog objekta s jednakim zbrojem trokuta. Zato se pri pripremi dijelovi s istim materijalom spajaju, a broj različitih materijala drži se malim.
Treća je propusnost prema teksturama. Svaka tekstura mora doći do grafičkog sklopa, pa velike teksture usporavaju prikaz i onda kad memorije ima dovoljno. U projektu HT-1 cijela ćelija koristi šest materijala i četiri teksture stranice 1024, a natpisi jednu zajedničku sliku sa svim znakovima.
| Trošak | Zašto nastaje | Mjera u pripremi |
|---|---|---|
| Prozirne plohe | dodatni prolaz i sortiranje | prikaz na zahtjev, jedna ploha bez debljine |
| Mnogo materijala | svaki nosi fiksni trošak | spajanje dijelova s istim materijalom |
| Velike teksture | propusnost prema grafičkom sklopu | stranica 1024 umjesto 2048 |
| Mnogo sitnih objekata | mnogo zasebnih poziva | spajanje u skupine |
| Animacije | proračun u svakoj sličici | samo na dijelovima koji se doista gibaju |
Proračun sličice
Naočale u projektu osvježavaju prikaz 60 puta u sekundi, što znači da za jednu sličicu imaju oko 16,7 ms. U to vrijeme mora stati sve: obrada podataka senzora, održavanje prostorne karte, proračun položaja glave i tek na kraju iscrtavanje. Na samo iscrtavanje ostaje znatno manje od cijele sličice.
Zato broj trokuta nije jedini trošak. Svaka zasebna skupina koju uređaj mora iscrtati odvojeno nosi svoj fiksni trošak, pa sto malih objekata može biti skuplje od jednog velikog s jednakim brojem trokuta. Prozirne plohe traže dodatni prolaz. Teksture troše memoriju i propusnost prema grafičkom sklopu.
Prikaz procjenjuje vrijeme jedne sličice, brzinu prikaza i zauzeće radne memorije iz broja trokuta, razina detalja i veličine tekstura. Ciljevi projekta HT-1 su najmanje 60 sličica u sekundi i najviše 900 MB.
Izmjereno stanje projekta HT-1 bilo je 58 sličica u sekundi u prosjeku, uz najniži izmjereni iznos od 44, i 720 MB radne memorije uz dopuštenih 900. Pad na 44 sličice javljao se na jednom mjestu — kad je tehnolog stao tako da su u vidnom polju bile i ljuska dosega i ploče ograde, dakle dvije prozirne površine jedna iza druge.
Ispravak nije tražio novo prorjeđivanje. Ljuska dosega postavljena je tako da se prikazuje samo na zahtjev, a ne stalno, čime je najniža brzina podignuta iznad pedeset. To je tipično: najveći dobitak češće dolazi iz odluke što se prikazuje nego iz dodatnog skidanja trokuta.
Izvoz i sažimanje
Posljednji korak je izvoz. Model se zapisuje u format koji razvojno okruženje čita, s postavkama koje se zapisuju uz datoteku. U projektu HT-1 lanac ide od STEP-a iz konstrukcije preko FBX-a kao međukoraka do glTF-a koji ide na uređaj.
Sažimanje u glTF-u djeluje na dvije strane. Geometrija se zapisuje s manjom preciznošću koordinata, što je za prikaz posve dovoljno, a teksture se spremaju u obliku koji grafički sklop čita izravno, bez raspakiravanja u memoriju. Zahvaljujući tome datoteka pada s 14,2 na 3,6 MB, a učitavanje na naočalama traje manje od dvije sekunde.
Uz datoteku se zapisuju postavke: mjerna jedinica, uspravna os, popis izostavljenih skupina, stranica tekstura, razine detalja i njihove udaljenosti. Taj zapis omogućuje da se sljedeći izvoz napravi jednako, pa se rezultati mjerenja mogu uspoređivati kroz inačice.
Zapamtite
Sve što se mijenja u pripremi mijenja i rezultat mjerenja. Ako se istodobno promijene broj trokuta, veličina tekstura i razine detalja, neće se znati što je pomoglo. Mijenja se jedno po jedno, a poslije svake izmjene se mjeri.
Mjerenje na uređaju i drugi krug
Priprema završava mjerenjem na samim naočalama, a ne na razvojnom računalu. Razlika je velika: računalo scenu iscrtava desetke puta brže i nikad ne pokazuje pravo stanje. Mjeri se u radionici, u uvjetima u kojima će se prikaz koristiti, i to uvijek po istom postupku da bi rezultati bili usporedivi.
Mjeri se petero. Brzina prikaza bilježi se kroz cijelu sesiju, uz najniži izmjereni iznos i mjesto na kojem se dogodio. Zauzeće memorije bilježi se nakon učitavanja i nakon dvadeset minuta rada. Pomak sidra mjeri se usporedbom holograma s trakom na podu. Vrijeme mapiranja mjeri se od pokretanja do trenutka kad prikaz postane stabilan. Na kraju se bilježi trajanje baterije, koje u projektu iznosi 2 sata i 40 minuta pri masi uređaja od 566 g.
Iz mjerenja slijedi plan drugog kruga. U projektu HT-1 on je sadržavao tri stavke: ljuska dosega prikazuje se na zahtjev, uvodi se druga razina detalja za ogradu i transporter, a sidrenje se premješta na dvije točke umjesto jedne. Prve dvije stavke pripadaju ovom modulu, a treća se rješava postupcima iz trećeg modula.
| Mjerenje | Kada se provodi | Što se bilježi |
|---|---|---|
| Brzina prikaza | kroz cijelu sesiju | prosjek, najmanja vrijednost i mjesto |
| Radna memorija | nakon učitavanja i nakon 20 min | dvije vrijednosti u MB |
| Pomak sidra | na početku i nakon 20 min | odstupanje u mm na 2 m |
| Mapiranje prostora | pri pokretanju | vrijeme do stabilnog prikaza |
| Baterija | do isključenja | trajanje pri punoj svjetlini |
Zapisano mjerenje ima i drugu vrijednost: ono je dokaz. Kad se za pola godine netko zapita zašto ćelija ima baš 90 000 trokuta i teksture od 1024 piksela, odgovor nije stvar sjećanja nego zapisa. Bez njega se svaka rasprava o pripremi vraća na početak.
Ključni pojmovi
| Pojam | Značenje |
|---|---|
| Prorjeđivanje | Smanjenje broja trokuta uz očuvanje prepoznatljivog obrisa. |
| Razina detalja | Grublja inačica modela koja se koristi na većoj udaljenosti. |
| Pečenje tekstura | Prenošenje detalja s guste mreže na sliku za prorijeđenu mrežu. |
| Emisijski materijal | Materijal koji svijetli sam, neovisno o svjetlu u sceni. |
| Vrijeme sličice | Vrijeme raspoloživo za izradu jedne slike; pri 60 Hz oko 16,7 ms. |
| Sažimanje geometrije | Zapis koordinata s manjom preciznošću radi manje datoteke. |
| Postavke izvoza | Zapisane vrijednosti jedinice, osi, tekstura i razina detalja uz model. |
Provjeri se
Kratka provjera prije prelaska na sljedeću jedinicu. Odgovor se potvrđuje klikom, a obrazloženje se prikazuje odmah.
Pitanje 1 od 6
Koliko vremena naočale imaju za jednu sličicu pri 60 Hz?
Jedna sekunda podijeljena sa šezdeset daje približno 16,7 milisekunde.
Pitanje 2 od 6
Kojim je redom ispravno pripremiti teksture?
Pečenje na malu teksturu daje mutnu sliku koju kasnije povećanje ne popravlja.
Pitanje 3 od 6
Zašto se rubovi obrisa zaključavaju prije prorjeđivanja?
Promatrač obilazi hologram, pa se gubitak obrisa vidi jače nego na zaslonu.
Pitanje 4 od 6
Što je u projektu HT-1 uzrokovalo pad brzine prikaza na 44 sličice u sekundi?
Prozirne plohe traže dodatni prolaz iscrtavanja, a dvije jedna iza druge udvostručuju trošak.
Pitanje 5 od 6
Kako je taj pad ispravljen?
Odluka o tome što se prikazuje donijela je veći dobitak od dodatnog skidanja trokuta.
Pitanje 6 od 6
Zašto se uz izvezeni model zapisuju postavke izvoza?
Bez zapisanih postavki svaki izvoz daje malo drukčiju mrežu i mjerenja se više ne mogu uspoređivati.
Odgovoreno 0 od 6.