Preskoči na sadržaj
FORTRONIQ

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.

Moći ću:
  • 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.

PokazateljCilj u HT-1IzmjerenoOcjena
Broj trokutanajviše 90 00088 400zadovoljeno
Brzina prikazanajmanje 60 sličica u sekundi58 prosječno, najmanje 44nije zadovoljeno
Radna memorijanajviše 900 MB720 MBzadovoljeno
Pomak sidrado 5 mm na 2 m6 mm nakon 20 minnije zadovoljeno
Veličina datotekešto manja3,6 MBzadovoljeno
Mapiranje prostoraispod 5 min3 min 20 szadovoljeno

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.

SkupinaPrijePoslijePostupak
Ruka robota260 00026 000prorjeđivanje uz zaštitu obrisa
Postolje48 0008 000uklanjanje zaobljenja i navoja
Transporter180 00016 000zamjena valjaka jednostavnim tijelima
Ograda42 0008 000ploče kao jedna ploha bez debljine
Ormar36 0004 000uklanjanje unutrašnjosti
Vijci i sitni dijelovi74 0001 400prikaz 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.

promatrač bliska razina 90 000 trokuta srednja razina 45 000 trokuta daleka razina 18 000 trokuta 4 m 6 m 10 m udaljenost promatrača od ćelije
Slika 1.13 — Tri razine detalja i udaljenosti na kojima se izmjenjuju; brojevi vrijede za cijelu ćeliju zajedno.

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.

DioMaterijalProzirnostNapomena
Ruka i postoljeblago sjenčan, svijetaonemaoblik se čita po sjenčanju
Transporterblago sjenčannematraka nešto tamnija
Ploče ogradesvijetle ploheoko 30 %vidi se unutrašnjost
Ljuska dosegaemisijskioko 20 %jedna ploha bez debljine
Obrisi i vrpceemisijskinemaglavni nositelj čitljivosti
Natpisiemisijskinemaokreć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šakZašto nastajeMjera u pripremi
Prozirne plohedodatni prolaz i sortiranjeprikaz na zahtjev, jedna ploha bez debljine
Mnogo materijalasvaki nosi fiksni trošakspajanje dijelova s istim materijalom
Velike teksturepropusnost prema grafičkom sklopustranica 1024 umjesto 2048
Mnogo sitnih objekatamnogo zasebnih pozivaspajanje u skupine
Animacijeproračun u svakoj sličicisamo 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.

Brzina prikaza i zauzeće memorijeRačunski prikaz

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.

Trokuta u prosječnoj sličici—
Vrijeme sličice—ms
Brzina prikaza—sl/s
Radna memorija—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.

veličina datoteke kroz lanac pripreme STEP 86 MB FBX 14,2 MB glTF 3,6 MB točne plohe i cijeli sklop mreža, hijerarhija, materijali sažeta mreža i teksture za naočale
Slika 1.14 — Veličina datoteke kroz lanac pripreme: točan zapis iz konstrukcije, međukorak s mrežom i materijalima te konačna datoteka za naočale.

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.

MjerenjeKada se provodiŠto se bilježi
Brzina prikazakroz cijelu sesijuprosjek, najmanja vrijednost i mjesto
Radna memorijanakon učitavanja i nakon 20 mindvije vrijednosti u MB
Pomak sidrana početku i nakon 20 minodstupanje u mm na 2 m
Mapiranje prostorapri pokretanjuvrijeme do stabilnog prikaza
Baterijado isključenjatrajanje 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

PojamZnačenje
ProrjeđivanjeSmanjenje broja trokuta uz očuvanje prepoznatljivog obrisa.
Razina detaljaGrublja inačica modela koja se koristi na većoj udaljenosti.
Pečenje teksturaPrenošenje detalja s guste mreže na sliku za prorijeđenu mrežu.
Emisijski materijalMaterijal koji svijetli sam, neovisno o svjetlu u sceni.
Vrijeme sličiceVrijeme raspoloživo za izradu jedne slike; pri 60 Hz oko 16,7 ms.
Sažimanje geometrijeZapis koordinata s manjom preciznošću radi manje datoteke.
Postavke izvozaZapisane 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.