12
3D Visualisering av menneskelige bevegelser ved bruk av Java og Coin3D. En presentasjon av: Øivind Hoff Johansen og Jon Kåre Sørensen

Presentasjon av HovedprosjektGrafikk 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ø

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Presentasjon av HovedprosjektGrafikk 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ø

3D – Visualisering av menneskelige

bevegelser ved bruk av Java og Coin3D.

En presentasjon av:

Øivind Hoff Johansen og Jon Kåre Sørensen

Page 2: Presentasjon av HovedprosjektGrafikk 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ø

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.

Page 3: Presentasjon av HovedprosjektGrafikk 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ø

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

Page 4: Presentasjon av HovedprosjektGrafikk 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ø

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.

Page 5: Presentasjon av HovedprosjektGrafikk 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 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.

Page 6: Presentasjon av HovedprosjektGrafikk 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ø

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 Coin API-et selv om vi jobber i Java.

Utviklet av studenter her på HiST.

Page 7: Presentasjon av HovedprosjektGrafikk 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ø

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.

Page 8: Presentasjon av HovedprosjektGrafikk 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ø

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.

Page 9: Presentasjon av HovedprosjektGrafikk 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ø

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.

Page 10: Presentasjon av HovedprosjektGrafikk 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ø

Overarm

Underarm

Page 11: Presentasjon av HovedprosjektGrafikk 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ø

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.

Page 12: Presentasjon av HovedprosjektGrafikk 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ø

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.