MODUL 3 · RAZVOJ OKRUŽENJA VIRTUALNE STVARNOSTI
Modul 3 · završno
Aktivnosti za samostalno učenje
Zadaci prate redoslijed nastavnih jedinica modula. Za većinu su dovoljni olovka, papir i računski prikazi iz jedinica; zajednički primjer je virtualni laboratorij VR-1 s radnim stolom i mobilnim robotom koji se sklapa, pokreće i ispituje u sceni.
Aktivnosti za samostalno učenje
Zadaci su poredani redom nastavnih jedinica. Ondje gdje se spominje računski prikaz, rješenje se provjerava u pripadnoj jedinici.
- Novi VR projektIzradite novi projekt iz VR predloška u odabranom razvojnom okruženju, uključite dodatak za OpenXR i pokrenite praznu scenu u naočalama ili u simulatoru uređaja. Predajte snimku zaslona postavki dodataka i kratki opis koraka (najviše pola stranice), uz napomenu o inačici alata.
- Struktura projektaPredložite strukturu mapa projekta laboratorija VR-1 (modeli, materijali, teksture, nacrti ili skripte, scene, zvuk) i pravila imenovanja datoteka. Predajte stablo mapa i tablicu s tri primjera naziva za svaku vrstu datoteke.
- Postavke projekta za dva uređajaZapišite koje postavke projekta i izgradnje morate provjeriti za uređaj A (PC-VR) i za uređaj B (samostalne naočale): ciljna platforma, frekvencija 90 Hz, kvaliteta prikaza, dodatak za OpenXR. Predajte tablicu u dva stupca s obrazloženjem svake razlike.
- Prvi događaj i ispisIzradite logiku koja pri pokretanju scene ispisuje poruku, a pritiskom tipke na kontroleru ili tipkovnici povećava brojač i ispisuje njegovu vrijednost. Predajte snimku nacrta ili isječak skripte i snimku zaslona ispisa.
- Varijable stanja sklopaZa 12 dijelova robota MR-1 definirajte varijable koje opisuju stanje sklopa (koji su dijelovi na mjestu, je li sklop dovršen). Predajte popis varijabli s tipom, početnom vrijednošću i opisom te funkciju koja vraća broj dijelova na mjestu.
- Dijagram događajaNacrtajte dijagram toka događaja za odabir točke interesa: ulaz, isticanje, odabir, prikaz ploče s tekstom, zatvaranje. Predajte dijagram (rukom ili u programu) i jedan odlomak koji objašnjava zašto je logika odvojena od ulaza.
- Kamera na visini očijuPostavite rig tako da je ishodište praćenja na podu, a visina kamere dolazi iz praćenja. Provjerite u naočalama da je ploča stola na 750 mm od poda. Predajte snimku hijerarhije riga i izmjerenu visinu stola u sceni.
- Modeli kontrolera i rukuZamijenite zadane modele kontrolera modelima ruku i provjerite poklapanje položaja ruke sa stvarnom rukom. Predajte snimku iz naočala i opis kako ste podesili pomak modela ruke u odnosu na praćenu točku kontrolera.
- Animacija ruku prema tipkamaPovežite vrijednosti okidača i hvatišta (od 0 do 1) s animacijom zatvaranja ruke. Predajte snimku nacrta ili isječak skripte i kratku video snimku otvaranja i zatvaranja ruke.
- Hvatanje i puštanjeOmogućite hvatanje dijela rukom do 0,8 m i zrakom do 3 m te puštanje s prijenosom brzine ruke. Predajte video snimku hvatanja triju dijelova i tablicu s postavkama udaljenosti.
- Prebacivanje iz ruke u rukuIzradite prebacivanje dijela iz jedne ruke u drugu tako da dio ne padne i ne skoči. Predajte opis logike u pet koraka i video snimku prebacivanja baterije.
- Točke interesa s više ulazaIzradite jednu komponentu točke interesa s radnjama isticanja, prestanka isticanja i odabira, najprije za miš, a zatim za kontroler i pogled. Na robot postavite svih 6 točaka interesa. Predajte popis točaka s tekstom ploče i dokaz da isti objekt reagira na dva različita ulaza.
- Luk teleportaU računskom prikazu jedinice 3.5 odredite brzinu luka pri kojoj je domet pri kutu 45° i ruci na 1,1 m najbliži granici od 4 m, a ne prelazi je. Predajte izračun, očitane vrijednosti dometa i vrha luka i provjeru da vrh ne dosiže strop od 3 m.
- Teleport i okretanje u koracimaIzradite teleport lukom s provjerom valjanosti odredišta i okretanje u koracima od 30° oko glave korisnika. Predajte video snimku s tri teleporta i punim krugom od 12 koraka te opis kako ste spriječili ponavljanje koraka dok je palica nagnuta.
- Izbornik udobnostiIzradite izbornik s postavkama udobnosti: način kretanja, okretanje, vinjeta, zatamnjenje i sjedeći način, s teleportom kao zadanim načinom. Predajte snimku izbornika i tablicu zadanih vrijednosti s obrazloženjem.
- Uvoz i provjera robotaUvezite model robota MR-1 i provjerite mjerilo (220 × 180 × 110 mm), osi, ishodišta, nazive i točke interesa. Predajte ispunjenu kontrolnu listu s rezultatom svake provjere i snimkom robota uz kocku brida 1 m.
- Sklapanje s utorimaIzradite utore na šasiji i priklapanje dijelova unutar tolerancije te varijablu stanja sklopa. Predajte hijerarhiju sklopa, odabrane tolerancije za tri dijela s obrazloženjem i video snimku sklapanja.
- Most prema simulatoruU računskom prikazu jedinice 3.6 odredite najmanju frekvenciju poruka simulatora uz koju najveća starost podatka ostaje ispod 50 ms pri kašnjenju mosta od 10 ms i prikazu na 90 Hz. Predajte izračun i kratko obrazloženje zašto praćenje glave ne ide kroz most.
- Plan ispitivanjaNapišite šest testnih slučajeva za laboratorij VR-1 (hvatanje, točke interesa, teleport, okretanje, performanse, pokretanje) s preduvjetom, koracima, očekivanim rezultatom i mjerljivim kriterijem prolaza. Predajte tablicu slučajeva s oznakama.
- Profiliranje i budžet okviraIzmjerite vrijeme CPU-a i GPU-a, broj trokuta i poziva za crtanje u najgorem pogledu na ciljnom uređaju i unesite ih u računski prikaz jedinice 3.7. Predajte tablicu mjerenja, iskorištenost budžeta i prijedlog jedne optimizacije s procjenom učinka.
- Izvješće o ispitivanjuSastavite izvješće o ispitivanju s poglavljima: sažetak, opseg i oprema, testni slučajevi, performanse, udobnost, pogreške i zaključak. Predajte izvješće od najviše četiri stranice i popis predanih datoteka.
Vježbe uz modul
Uz modul idu 9 vježbi, ukupno 18 h. Poveznica Uz jedinicu vodi na gradivo koje treba proći prije vježbe. Cijeli praktikum područja obuhvaća 15 vježbi i 30 sati; popis je na stranici Vježbe.
| Vježba | Naslov, sadržaj i pripadna jedinica | Trajanje |
|---|---|---|
| V7 | Novi VR projekt u razvojnom okruženjuIz predloška VR projekta u razvojnom okruženju s nacrtima izrađuje se projekt virtualnog laboratorija VR-1 s dodatkom OpenXR, uređenom strukturom mapa i prvom scenom u mjerilu 1 : 1. Projekt se pokreće u naočalama i provjerava prema budžetu okvira od 11,1 ms.Uz jedinicu 2.5, 3.1 | 2 h |
| V8 | Prva programska logika: događaji, varijable, ispisPrva programska logika laboratorija VR-1 u nacrtu: događaj pri pokretanju, varijable, ispis na zaslon i grananje koje prati koliko je dijelova robota skupljeno. Isti tok izveden je i kao kratki primjer u okruženju s C# skriptama.Uz jedinicu 3.2 | 2 h |
| V9 | Kamera na visini očiju i modeli kontroleraIzrada vlastitog igrača za laboratorij VR-1: VR ishodište na podu, kamera koju vode naočale i dva kontrolera s vidljivim modelima. Provjerava se da korisnici različite visine vide radni stol na stvarnih 750 mm i da zraka iz kontrolera pokazuje tamo kamo ruka pokazuje.Uz jedinicu 3.3 | 2 h |
| V10 | Modeli ruku i animacija prema tipkamaModeli kontrolera u laboratoriju VR-1 zamjenjuju se modelima lijeve i desne ruke s tri položaja: otvorena ruka, pokazivanje i šaka. Položaj se miješa prema vrijednostima hvatišta i okidača, uz izglađivanje prijelaza neovisno o broju sličica.Uz jedinicu 3.3 | 2 h |
| V11 | Hvatanje, puštanje i prebacivanje iz ruke u rukuDijelovi mobilnog robota MR-1 na radnom stolu laboratorija VR-1 hvataju se hvatištem (bočnom tipkom kontrolera), puštaju i prebacuju iz ruke u ruku. Logiku gradite nacrtima: traženje najbližeg objekta u dosegu, pričvršćivanje na ruku i predaja fizici pri puštanju.Uz jedinicu 3.4 | 2 h |
| V12 | Točke interesa: miš, pogled, kontroler i gesteNa šest dijelova robota MR-1 postavljaju se točke interesa koje se ističu, pokazuju natpis i otvaraju panel s objašnjenjem. Logika se piše jednom, u C# komponenti, a miš, pogled, kontroler i geste samo su različiti ulazi koji je pozivaju.Uz jedinicu 3.4 | 2 h |
| V13 | Teleport, okretanje u koracima i vinjetaKorisnik se laboratorijem VR-1 kreće teleportom lukom do 4 m i okreće u koracima od 30°, a kontinuirano kretanje uključuje se samo po izboru i uz vinjetu. Vježba povezuje logiku kretanja nacrtima s udobnošću i sigurnošću prostora za igru.Uz jedinicu 3.5 | 2 h |
| V14 | Uvoz i sklapanje mobilnog robota u sceniDvanaest dijelova robota MR-1 uvozi se u scenu laboratorija VR-1 i rukama sklapa na radnom stolu. Vježba povezuje ishodišta, kolizijske oblike, fiziku i hijerarhiju sklopa s logikom prihvata dijela na ležište.Uz jedinicu 3.6 | 2 h |
| V15 | Testni slučajevi, mjerenje performansi i izvješćeGotova aplikacija laboratorija VR-1 ispituje se prema 18 testnih slučajeva na dva uređaja, mjere se vrijeme okvira, pozivi za crtanje i trokuti, a udobnost se provjerava s ispitanicima. Rezultati se predaju kao kratko izvješće s odlukama o ispravcima.Uz jedinicu 3.7 | 2 h |