Preskoči na sadržaj
FORTRONIQ
IzbornikDigitalni sadržajiVirtualna stvarnostVježbeV2 Optimizacija mreže i razine detalja

VJEŽBA V2 · MODUL 1 · MODELIRANJE DIGITALNIH OBJEKATA ZA VIRTUALNU STVARNOST

Vježba V2 · 2 sata

Optimizacija mreže i razine detalja

Mreža mobilnog robota MR-1 smanjuje se s 312 000 na 28 000 trokuta, a zatim se izrađuju još dvije razine detalja za veće udaljenosti. Proračunom se provjerava drži li scena laboratorija VR-1 budžet trokuta i poziva za crtanje na samostalnim naočalama.

Moći ću:
  • raspodijeliti budžet trokuta po dijelovima prema vidljivosti
  • smanjiti mrežu decimacijom uz očuvanje obrisa, rubova i UV šavova
  • izraditi razine detalja LOD0, LOD1 i LOD2 i jednostavne kolizijske oblike
  • izračunati zbroj trokuta i poziva za crtanje scene i usporediti ga s budžetom uređaja
  • procijeniti veličinu predmeta na zaslonu u pikselima za zadane udaljenosti

O vježbi

Vježba V2Trajanje: 2 sataModul 1

Prije vježbe proći gradivo: 1.3 Slobodno modeliranje i obrada mreže, 1.7 Priprema i optimizacija modela za virtualnu stvarnost.

Pitanja i zadaci na ovoj stranici su bez odgovora. Rješenje s postupkom otvara se gumbom Prikaži rješenje ispod svakog pitanja, a upute za nastavnika nalaze se na dnu stranice.

Zadatak

Model MR-1 iz vježbe V01 ima 312 000 trokuta u 12 dijelova. Za laboratorij VR-1 treba izraditi tri razine detalja (engl. level of detail, LOD): LOD0 28 000 trokuta do 1,5 m, LOD1 9 000 od 1,5 m i LOD2 2 500 od 4 m.

U sceni je jedan robot na stolu za sklapanje, četiri izložbena na polici 2,5 m od korisnika i šest u vitrini na zidu 5 m daleko. Okoliš (prostorija, stol, police) ima 190 000 trokuta i 60 poziva za crtanje. Budžet uređaja B (samostalne naočale) je ≤ 300 000 trokuta i ≤ 150 poziva za crtanje. Treba dokazati da ga scena drži.

Oprema i pribor

  • računalo s programom za slobodno modeliranje (npr. Blender) i modelom MR-1 iz V01
  • razvojno okruženje za prikaz u stvarnom vremenu (npr. Unreal Engine) s VR predloškom i ispisom statistike iscrtavanja
  • VR naočale ili prozor s kamerom na visini očiju 1,65 m
  • zapisnik: dio, trokuta prije i poslije, LOD1, LOD2, kolizijski oblik

Pravila koja se primjenjuju

Budžet okvira. Pri 90 Hz vrijeme okvira je 11,1 ms, a scena se iscrtava dvaput, za svako oko. Broj trokuta i poziva za crtanje planira se prije modeliranja, a ne nakon pada broja slika.

Trokuti ondje gdje se gledaju. Obris i obli rubovi koje korisnik gleda izbliza dobivaju trokute; ravne plohe i skriveni dijelovi što manje. Razine detalja mijenjaju se prema udaljenosti ili veličini na zaslonu, a stvarni prag ovisi o vidnom polju uređaja.

Kolizija je zaseban oblik. Za fiziku i hvatanje koriste se jednostavni primitivi (kvadar, valjak, kugla); za pokretne dijelove nikad vidljiva mreža.

Pažnja

Decimacija bez zaštite rubova i UV šavova razara teksture i ostavlja rupe na spojevima ploha. Nakon svakog koraka pogledajte obris izbliza (0,5 m) i provjerite normale; tek onda smanjujte dalje.

Crtež

LOD0 LOD1 LOD2 28 000 9 000 2 500 0 1,5 m 4 m d stol, 1 robot polica 2,5 m, 4 vitrina 5 m, 6
Slika V2.1 — Razine detalja po udaljenosti: do 1,5 m LOD0, od 1,5 do 4 m LOD1, dalje LOD2. Ispod su položaji robota u sceni laboratorija VR-1 i njihov broj.

Postupak

  1. Uvezite model iz V01 i u statistici scene očitajte broj trokuta po dijelu.
  2. Raspodijelite 28 000 trokuta po dijelovima (pitanje 1) i upišite cilj u zapisnik.
  3. Na ravnim plohama najprije uklonite suvišne trokute planarnom decimacijom (otapanjem ploha koje leže u istoj ravnini, jedinica 1.3), pa tek onda primijenite decimaciju s omjerom za pojedini dio. Uključite zaštitu granica i UV šavova ako je vaša inačica nudi.
  4. Provjerite obris s 0,5 m, okrenutost normala i zaglađivanje prema kutu (oštri rubovi ostaju oštri).
  5. Kopirajte LOD0 i smanjite ga na 9 000 (LOD1). Za LOD2 spojite sve dijelove u jedan objekt i smanjite na 2 500: na 4 m nitko ne hvata dijelove.
  6. Izradite kolizijske oblike: kvadar za šasiju i poklopac, valjke za kotače i motore, kvadre za bateriju i pločicu. Imenujte ih prema pravilu koje vaše okruženje prepoznaje pri uvozu.
  7. Izvezite, u razvojnom okruženju postavite razine detalja i pragove (ovisno o inačici, po udaljenosti ili udjelu zaslona) i postavite robote prema slici V2.1.
  8. Uključite ispis statistike iscrtavanja i zapišite trokute i pozive za crtanje iz položaja korisnika pri stolu.

Inačica bez naočala: prozor s kamerom na visini 1,65 m; prijelaze razina provjerite približavanjem kamere policama.

Pitanja i zadaci

1. Predložite raspodjelu 28 000 trokuta na 12 dijelova MR-1 i obrazložite je.

Prikaži rješenje

Primjer: poklopac 5 000, šasija 4 500, kotači 2 × 3 000, senzor udaljenosti 2 500, pločica 2 000, motori 2 × 1 500, baterija 1 500, modul IR senzora 1 500, oslonac 1 000, prekidač 1 000; zbroj 28 000. Najviše dobivaju veliki obli vidljivi dijelovi i oni s točkama interesa, najmanje mali dijelovi jednostavnog oblika.

2. Računski. Koliki je udio LOD1 i LOD2 u odnosu na LOD0 i na izvornu mrežu?

Prikaži rješenje

LOD1: 9 000 / 28 000 = 32 %, a prema izvornoj 9 000 / 312 000 = 2,9 %. LOD2: 2 500 / 28 000 = 8,9 %, prema izvornoj 0,8 %.

3. Računski. Izračunajte broj trokuta scene sa slike V2.1 s razinama detalja i bez njih i usporedite s budžetom uređaja B.

Prikaži rješenje

S razinama: 190 000 + 28 000 + 4 · 9 000 + 6 · 2 500 = 269 000, što je 89,7 % od 300 000; scena prolazi. Bez razina: 190 000 + 11 · 28 000 = 498 000, dakle 166 % budžeta.

4. Računski. Svaki od 12 dijelova ima jedan materijal. Koliko je poziva za crtanje ako se svi roboti ostave rastavljeni, a koliko ako se 10 izložbenih spoji u po jedan objekt s jednim materijalom (atlasom)?

Prikaži rješenje

Rastavljeno: 60 + 11 · 12 = 192 > 150. Spojeno: 60 + 12 + 10 · 1 = 82 poziva, 55 % budžeta. Interaktivni robot ostaje rastavljen jer se dijelovi hvataju.

5. Računski. Na uređaju B je oko 18,8 piksela po stupnju. Koliko je piksela širok robot duljine 0,22 m na 0,5 m, 1,5 m i 4 m?

Prikaži rješenje

Kut: α = 2 · arctg(0,11 / d). Za 0,5 m α = 24,8°, oko 466 px; za 1,5 m 8,4°, oko 157 px; za 4 m 3,15°, oko 59 px. Na 4 m robot je visok oko 30 px i pokriva manje od 2 000 piksela, pa je 2 500 trokuta već više od trokuta po pikselu; veći se detalj ne bi vidio.

6. Računski. Na uređaju B izmjereno je prije optimizacije 72 sl/s i 214 poziva, a poslije 90 sl/s i 138 poziva. Koliko je smanjenje poziva i dobitak vremena okvira?

Prikaži rješenje

Pozivi: 1 − 138 / 214 = 35,5 % manje. Vrijeme okvira: 1000 / 72 = 13,9 ms, 1000 / 90 = 11,1 ms, dobitak 2,8 ms.

7. Što je „iskakanje“ pri promjeni razine detalja i kako se ublažava?

Prikaži rješenje

Vidljiv skok oblika kad se razina zamijeni. Ublažava se pragom na udaljenosti gdje je razlika manja od piksela, sličnim obrisom susjednih razina, malim preklopom pragova da se razina ne mijenja pri sitnom pomaku glave i, gdje okruženje nudi, postupnim pretapanjem.

8. Zašto se za koliziju kotača koristi valjak, a ne mreža kotača?

Prikaži rješenje

Primitiv se računa analitički i stabilno, a mreža od tisuće trokuta usporava fiziku i daje trzanje pri dodiru. Valjak je dovoljno točan za hvatanje i kotrljanje.

Za nastavnika

Otvori upute za nastavnika

Priprema

Pripremite rezervni model MR-1 s finom teselacijom za one koji nisu završili V01 i scenu s okolišem od oko 190 000 trokuta i 60 poziva. Provjerite gdje vaša inačica okruženja ispisuje statistiku iscrtavanja.

Tijek sata

  1. 10 min: budžet, razine detalja, pregled slike V2.1.
  2. 15 min: raspodjela trokuta (pitanje 1).
  3. 30 min: decimacija, normale, provjera obrisa (koraci 3–4).
  4. 15 min: LOD1, LOD2, kolizijski oblici.
  5. 10 min: uvoz, postavljanje, statistika.
  6. 10 min: računska pitanja i rasprava.

Očekivani rezultati

Tri razine detalja unutar ±10 % ciljnog broja, kolizijski oblici za sve dijelove i zapisnik sa statistikom scene ispod 300 000 trokuta i 150 poziva.

Česte pogreške

  • decimacija cijelog robota jednim omjerom, pa kotači postanu uglati
  • rupe na UV šavovima i obrnute normale
  • izložbeni roboti ostavljeni rastavljeni
  • vidljiva mreža korištena kao kolizija

Vrednovanje

KriterijBodovi
raspodjela trokuta i LOD0 bez oštećenja obrisa5
LOD1, LOD2 i pragovi prijelaza4
kolizijski oblici3
statistika scene unutar budžeta B3
računska i opisna pitanja5
Ukupno20