120 likes | 357 Views
LocMoc : Avatar. 3D – Visualisering av menneskelige bevegelser ved bruk av Java og Coin3D. En presentasjon av: Øivind Hoff Johansen og Jon Kåre Sørensen. Hva betyr tittelen ?. LocMoC Low Cost Motion Capture. Avatar ( definisjon fra Store Norske Leksikon )
E N D
LocMoc : Avatar 3D – Visualisering av menneskelige bevegelser ved bruk av Java og Coin3D. En presentasjon av: Øivind Hoff Johansen og Jon Kåre Sørensen
Hva betyr tittelen ? • LocMoC • Low Cost Motion Capture. • Avatar ( definisjon fra Store Norske Leksikon ) • avatar – IT, representasjon, legemliggjørelse; symbol eller bilde som brukes (f.eks. i chatteprogrammer på Internett eller i virtual reality) til å representere en person.
Oppgavestiller • Vizlabben ved AiTeL • Jobber med å utvikle et system for lavkostnads bevegelsesgjengivelse i 3D, basert på synkrone videoopptak . • Kontaktpersoner • Jan Harald Nilsen • Oppgavestiller • Prosjektleder • Grethe Sandstrak • Veileder • Tomas Holt • Veileder • Peder Blekken(Kongsberg SIM) • Ekstern Veileder
Problemstilling • Bakgrunn for oppgaven • Vizlabben trenger en ny modul for grafisk visning av 3D – koordinater som styrer bevegelsene til en avatar, dette skal skje fra fil eller via en datastrøm. • Denne modulen skal benytte seg av hierarkisk oppbygning av avataren, d.v.s. at hvert ledd arver egenskaper fra sin ”foreldre.” • For å gjøre modulen så fleksibel som mulig skal Avataren bruke vektorer for å bestemme bevegelsene i stedet for å bruke romkoordinatene direkte.
Hvorfor valgte vi oppgaven? • Vi valgte denne oppgaven, fordi vi hadde lyst til å videreføre høstprosjektet. • Temaet 3D er noe vi begge har interesse for, og denne oppgaven virket som en god mulighet til å få praktisk erfaring med bruk av 3D teknologi.
Hvordan løste vi problemet? • Teknologier vi brukte • Coin 3D • Grafikk API utviklet av Kongsberg SIM. • Basert på OpenInventor som igjen benytter seg av OpenGL • Brukes til å bygge opp Avataren og tegne den i et 3D miljø. • Vi valgte å bruke Jivy som er et Java grensesnitt til Coin3D. • Lar oss bruke CoinAPI-et selv om vi jobber i Java. • Utviklet av studenter her på HiST.
Hvordan løste vi problemet? • Java • Objektorientert programmeringsspråk • Det språket gruppas medlemmer har mest er erfaring med. • Substance • Java Bibliotek for å endre på standard GUI utseende. • Qualisys Motion Capture System • Kamerautstyr og markører. ( Infrarød ) • Software for tolkning, forbedring og redigering av data.
Hvordan løste vi problemet? • Gjennomføring • Vi benyttet oss av erfaringene som ble gjort av fjorårets prosjektgruppe. Dette ga oss tidlig en oversikt over problemområdet. • Programmet tolker data fra en fil med 3d-koordinater, eller fra en datastrøm, og bruker det til å lage en rekke vinkler som tilegnes de forskjellige delene av figuren. Dette skjer for hver bildeoppdatering av animasjonen.
Hvordan løste vi problemet? • Avataren er bygd opp av mange mindre deler som mottar koordinater fra 2-3 markører som brukes til å lage vinkelen som bestemmer rotasjonen til delen. • Oppbygginga og sammenhengen mellom disse delene blir bestemt i ei xml-fil som også definere hierarkiet til delene.
Oppbygning av en arm Plan Retning Plan Retning Underarm Overarm
Resultater • Modulen består av 3 uavhengige applikasjoner • NodeStrukturBygger (NSB) • En enkel applikasjon for å lage egne nodestrukturer som kan brukes av FilFremviseren og Navn 3 • Her kan man også koble avatar-delene sammen med de markørene og 3d-modell filene som hører sammen. • FilFremviser ( FiF ) • Spiller av filer som inneholder 3d koordinater, og gjengir disse i form av en avatar av ønsket utseende og oppbygging. • Av funksjonalitet tilbyr fremviseren skalering av modellene. • DatastrømFremviser ( DsF ) • Har tilsvarende funksjonalitet som FiF, men får koordinatene fra en gitt datastrøm.
Videre Arbeid • Automatisere nodestrukturbyggeren i større grad • Gjøre prosessen med å lage egne avatarer mer brukervennlig. • Per dags dato skjer dette ved at brukeren selv må lage fila som inneholder translasjonene som bestemmer posisjonen til de individuelle delene av avataren. • Plassering av delene til avataren bør skje via et GUI eller være automatisert.