MODUL 1 · MODELIRANJE DIGITALNIH OBJEKATA
Nastavna jedinica 1.4
Vrste digitalnih objekata
Pod digitalnim objektom ne misli se samo na mrežu trokuta. Isti predmet može biti zapisan kao poligonalna mreža, kao skup matematički opisanih ploha, kao obujam podijeljen na ćelije ili kao oblak izmjerenih točaka. Ova jedinica razvrstava te zapise, uvodi sadržaj koji se giba i zvuči te uspoređuje formate razmjene.
- razlikovati poligonalni, površinski i volumni zapis digitalnog objekta
- objasniti nastanak oblaka točaka pri 3D skeniranju i fotogrametriji
- opisati što uz oblik nose animirani i ozvučeni digitalni objekti
- usporediti formate razmjene i odabrati prikladan za zadanu namjenu
- objasniti što se gubi pri pretvorbi iz jednog zapisa u drugi
- procijeniti veličinu datoteke za odabrani format i zadani model
Tri načina da se opiše isto tijelo
Tijelo se u računalu može opisati na tri temeljna načina, a razlika je u tome što se zapravo zapisuje: rub, površina ili obujam.
Poligonalni zapis opisuje rub tijela nizom ravnih ploha. Valjak nije valjak nego mnogokutna prizma s dovoljno stranica da izgleda okruglo. Zapis je jednostavan, brz za prikaz i razumiju ga svi uređaji, ali je približan. Točnost se povećava samo povećanjem broja poligona, a to izravno usporava prikaz.
Površinski zapis opisuje plohe matematički, najčešće preko krivulja i ploha zadanih kontrolnim točkama (NURBS). Valjak je ovdje doista valjak, opisan polumjerom i visinom. Zapis je točan i mala je datoteka, ali ga grafička kartica ne može prikazati izravno — prije prikaza se uvijek pretvara u trokute.
Volumni zapis ne opisuje samo rub nego cijeli obujam, podijeljen na ćelije (voxel). Svaka ćelija nosi podatak o tome što je u njoj: materijal, gustoća, temperatura. Takav zapis nastaje pri računalnoj tomografiji i pri nekim postupcima simulacije. Datoteke su velike, ali zapis omogućuje ono što drugi ne mogu — prikaz unutrašnjosti bez rezanja.
Za proširenu stvarnost to znači sljedeće. Poligonalni zapis je krajnji cilj jer ga uređaj prikazuje. Površinski zapis je polazište jer dolazi iz konstrukcije. Volumni zapis pojavljuje se rijetko, i to ondje gdje se prikazuje unutrašnjost dijela — primjerice položaj kanala za zrak unutar tijela prihvatnice.
Oblak točaka, skeniranje i fotogrametrija
Oblak točaka nastaje mjerenjem. Uređaj snimi površinu stvarnog predmeta i za svaku izmjerenu točku zapiše tri koordinate, često uz boju i jakost odbijenog signala. Oblak nema ploha ni bridova; to je samo skup točaka. Zbog toga se ne može izravno osvijetliti ni teksturirati, ali vrlo vjerno opisuje ono što je izmjereno.
Mjerenje se izvodi na dva načina. 3D skeniranje koristi vlastiti izvor signala: laserska zraka ili projicirana rešetka svjetla pada na predmet, a kamera mjeri odstupanje. Postupak je točan, radi i na jednobojnim površinama, ali oprema je skupa, a sjajne i prozirne površine ostaju problem.
Fotogrametrija ne koristi vlastiti izvor svjetla. Predmet se snimi s mnogo položaja običnom kamerom, a program iz preklapanja slika izračuna gdje je koja točka. Oprema je jeftina i dostupna, a rezultat nosi vjernu boju površine. Zauzvrat traži ravnomjerno osvjetljenje, predmet s dovoljno teksture i mnogo računanja.
| Obilježje | 3D skeniranje | Fotogrametrija |
|---|---|---|
| Izvor podatka | vlastita zraka ili rešetka svjetla | niz fotografija iz različitih položaja |
| Točnost | visoka, do stotinke milimetra | ovisi o snimanju, obično desetinke milimetra |
| Boja površine | često se snima odvojeno | dolazi izravno iz fotografija |
| Problematične površine | sjajne, prozirne, crne | jednobojne, bez teksture |
| Oprema | namjenski skener | kamera i računalo |
| Tipična primjena | provjera mjera, obrnuto inženjerstvo | prikaz postojećeg stanja, okoliš |
Oblak se za uporabu mora pretvoriti u mrežu. Postupak ide u koracima: uklanjanje šuma i suvišnog okoliša, spajanje snimaka iz više položaja u jedan koordinatni sustav, izrada mreže preko točaka, zatvaranje rupa i prorjeđivanje. Svaki korak gubi dio podataka, pa se izvorni oblak čuva kao zapis mjerenja, a mreža se smatra izvedenim rezultatom.
U projektu AR-1 skeniranje se koristi za ono čega nema u konstrukciji: postojeći nosač izrađen na licu mjesta i ograda ćelije s natpisnom pločicom. Iz tih se snimaka ne izrađuje precizan model nego jednostavna mreža koja služi za provjeru pristaje li prihvatnica i gdje se upute mogu prikazati.
Objekti koji se gibaju i zvuče
Digitalni objekt ne mora biti nepomičan. Uz mrežu se zapisuju i podaci koji ju pokreću. Kostur je hijerarhija kostiju, a svakom vrhu mreže pridružuje se težina kojom ga pojedina kost povlači. Animacija je niz ključnih položaja s vremenskim oznakama, a program međupoložaje računa sam.
U tehničkim uputama animacija nosi značenje koje se tekstom teško prenosi. U uputama AR-1 animirano je otpuštanje četiriju vijaka redom, izvlačenje prihvatnice s prirubnice i smjer u kojem se novi dio uvodi. Trajanje svake animacije je između dvije i četiri sekunde, jer kraća se ne stigne pratiti, a dulja usporava rad.
Osim gibanja, objekt može nositi i zvuk. Zvuk u proširenoj stvarnosti nije ukras: kratki signal potvrđuje da je korak prepoznat, a izgovorena uputa oslobađa ruke tehničaru koji drži alat. Zvuk može biti i prostoran, pa se čini da dolazi s mjesta objekta, što pomaže kad objekt nije u vidnom polju.
Primjer
Osmi korak uputa AR-1 prikazuje provjeru pritezanja. Animacija okreće model ključa za 30 stupnjeva, kratki zvučni signal potvrđuje kraj koraka, a tekstualna oznaka ispisuje traženi moment. Sva tri sadržaja vezana su uz isti čvor scene, pa se zajedno pojavljuju i zajedno nestaju.
Formati razmjene
Format datoteke određuje što se iz jednog programa prenosi u drugi. Nijedan format ne nosi sve, pa se bira prema onome što u sljedećem koraku treba. Formati se grubo dijele na one koji nose točan opis ploha, one koji nose mrežu i one koji nose cijelu scenu.
| Format | Što nosi | Što ne nosi | Gdje se koristi |
|---|---|---|---|
| STEP | točan opis ploha, sklop, stablo dijelova | teksture, animaciju | razmjena među konstrukcijskim programima |
| STL | samo trokute, bez boje | teksture, jedinice, stablo | 3D ispis, brza provjera oblika |
| OBJ | mrežu, UV koordinate, materijale | animaciju, kostur | razmjena mreža među programima |
| PLY | točke ili mrežu s bojom po vrhu | materijale, animaciju | zapisi skeniranja |
| FBX | mrežu, materijale, kostur, animaciju, scenu | parametarsko stablo | razmjena prema razvojnim okruženjima |
| glTF / GLB | scenu, mreže, materijale, animaciju, sažimanje | parametarsko stablo | prikaz na webu i u proširenoj stvarnosti |
| USDZ | scenu, materijale, animaciju u jednoj datoteci | parametarsko stablo | brzi prikaz na mobilnim uređajima |
Za projekt AR-1 lanac je sljedeći. Iz konstrukcije izlazi STEP od 41 MB jer treba sačuvati točan oblik i stablo dijelova. Nakon tesselacije i dorade mreže dobiva se FBX od 8,4 MB koji nosi i animacije rastavljanja. Za samu aplikaciju izvozi se glTF sa sažimanjem od 2,1 MB, jer taj format razvojno okruženje učitava najbrže.
Pri svakoj pretvorbi nešto se gubi. Iz STEP-a u mrežu gubi se točan opis plohe i mogućnost promjene mjera. Iz FBX-a u glTF gubi se dio složenih materijala. Iz bilo čega u STL gubi se sve osim oblika. Zato se izvorni zapis nikada ne briše: on je jedini iz kojeg se sve može ponoviti.
Prikaz procjenjuje veličinu datoteke istog modela u različitim formatima. Polazne vrijednosti odgovaraju modelu prihvatnice AR-1 nakon prvog smanjenja mreže.
Prikaz pokazuje i praktično pravilo pri odabiru formata: ako model treba samo prikazati, bira se format koji nosi najmanje podataka za taj zadatak. Svaki podatak koji aplikacija ne koristi produljuje učitavanje i zauzima memoriju uređaja.
Materijali i teksture kao dio objekta
Digitalni objekt ne nosi samo oblik nego i podatke o izgledu površine. Ti se podaci zapisuju kao materijal, a materijal se opisuje nizom slika koje se nanose na razvijenu površinu. Svaka slika govori nešto drugo o istoj točki površine.
| Slika materijala | Što opisuje | Posljedica ako nedostaje |
|---|---|---|
| Osnovna boja | boju površine bez svjetla i sjene | model je jednobojan |
| Hrapavost | koliko je površina mat ili sjajna | sve izgleda jednako sjajno |
| Metalnost | je li površina metal ili nemetal | metal izgleda kao obojana plastika |
| Normale | sitne neravnine bez dodatnih trokuta | površina izgleda glatko i prazno |
| Zasjenjenje | koliko svjetla dopire u udubine | udubine su presvijetle |
| Prozirnost | koliko svjetla prolazi kroz površinu | staklo izgleda kao puno tijelo |
Najveću korist u proširenoj stvarnosti daje slika normala. Ona u svakoj točki površine mijenja smjer normale, pa svjetlo pada kao da ondje postoji reljef. Zahvaljujući tome se utori, natpisi, narebrenja i tragovi obrade mogu prikazati bez ijednog dodatnog trokuta. Upravo se na tom postupku temelji pečenje tekstura o kojem govori sedma jedinica modula.
Materijali se zapisuju uz model, ali ne uvijek na isti način. OBJ ih drži u zasebnoj datoteci uz mrežu. FBX i glTF mogu ih nositi u samoj datoteci ili uz nju. GLB i USDZ pakiraju sve u jedan spremnik, što je za isporuku na uređaj najpraktičnije jer se ne može dogoditi da tekstura ostane negdje drugdje.
Za projekt AR-1 dogovoreno je malo, ali dosljedno rješenje: dvije teksture 1024 × 1024 po modelu — jedna za osnovnu boju s upečenim zasjenjenjem, druga za normale. Hrapavost i metalnost zadaju se brojem, a ne slikom, jer je prihvatnica izrađena od jednog materijala. Time je ušteđeno oko 60 posto veličine u odnosu na potpuni skup tekstura.
Odabir zapisa prema namjeni
Odluka o zapisu donosi se na početku, jer se poslije skupo mijenja. Vodi je nekoliko pitanja: mora li se model mijenjati po mjerama, mora li se prikazati u stvarnom vremenu, dolazi li iz mjerenja ili iz konstrukcije i tko ga sve mora otvoriti.
| Namjena | Prikladan zapis | Razlog |
|---|---|---|
| Izrada dijela u pogonu | površinski, STEP | čuva točne mjere i tolerancije |
| 3D ispis prototipa | poligonalni, STL | pisač traži zatvorenu mrežu trokuta |
| Prikaz u proširenoj stvarnosti | poligonalni, glTF ili USDZ | brzo učitavanje, sažimanje |
| Zapis izmjerenog stanja | oblak točaka, PLY | čuva sirovo mjerenje s bojom |
| Upute s gibanjem | FBX ili glTF | nose kostur i animaciju |
| Prikaz unutrašnjosti | volumni | opisuje obujam, a ne samo rub |
U praksi se rijetko ostaje pri jednom zapisu. Uobičajen je lanac u kojem se model izradi parametarski, izveze kao površinski zapis za arhivu, pretvori u mrežu za prikaz i po potrebi usporedi s oblakom točaka sa stvarnog dijela. Svaki zapis ima svoje mjesto i nijedan ne zamjenjuje sve ostale.
Zadnje pitanje je trajnost. Formati vezani uz jedan program mijenjaju se s njegovim inačicama, pa se dokumentacija nikada ne arhivira samo u njima. Za dugotrajno čuvanje bira se otvoreni format koji je opisan javno dostupnom specifikacijom, a radne datoteke ostaju uz njega kao radni materijal.
Ključni pojmovi
| Pojam | Značenje |
|---|---|
| Poligonalni zapis | Opis ruba tijela nizom ravnih ploha; približan, ali brz za prikaz. |
| Površinski zapis | Matematički opis ploha preko kontrolnih točaka; točan, ali traži tesselaciju. |
| Volumni zapis | Opis cijelog obujma podijeljenog na ćelije; omogućuje prikaz unutrašnjosti. |
| Oblak točaka | Skup izmjerenih točaka bez ploha i bridova. |
| 3D skeniranje | Mjerenje oblika vlastitim izvorom svjetla ili laserskom zrakom. |
| Fotogrametrija | Izračun oblika iz niza fotografija snimljenih s različitih položaja. |
| Kostur | Hijerarhija kostiju kojom se pokreće mreža pri animaciji. |
| Format razmjene | Dogovoreni zapis datoteke kojim se sadržaj prenosi među programima. |
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
Koji zapis opisuje cijeli obujam tijela, a ne samo njegov rub?
Volumni zapis dijeli obujam na ćelije i zato može prikazati unutrašnjost.
Pitanje 2 od 6
Što oblak točaka ne sadrži?
Oblak je samo skup točaka; plohe nastaju tek naknadnom izradom mreže.
Pitanje 3 od 6
Koja je glavna prednost fotogrametrije pred laserskim skeniranjem?
Postupak koristi obične fotografije, pa boja dolazi izravno iz snimaka.
Pitanje 4 od 6
Koji format ne nosi ni boju ni teksture?
STL zapisuje isključivo trokute, bez boje, tekstura i mjernih jedinica.
Pitanje 5 od 6
Koji se format u projektu AR-1 koristi za samu aplikaciju?
glTF sa sažimanjem daje 2,1 MB i razvojno ga okruženje učitava najbrže.
Pitanje 6 od 6
Što se gubi pretvorbom iz površinskog zapisa u mrežu?
Mreža pamti samo rezultat tesselacije, a ne i plohu iz koje je nastala.
Odgovoreno 0 od 6.