280 likes | 408 Views
5. 4. 3. 2. 1. Animacija kinematičkih struktura korištenjem BVH zapisa. Goran Mržljak Zagreb, 15.05.2008. Pregled. Stvaranje animacije Zapisi animacije Čitanje zapisa Prikaz animacije Rezultat Zaključak Pitanja. Stvaranje animacije. Uzorkovanje pokreta (engl. motion capture ).
E N D
Animacija kinematičkih struktura korištenjem BVH zapisa Goran Mržljak Zagreb, 15.05.2008
Pregled • Stvaranje animacije • Zapisi animacije • Čitanje zapisa • Prikaz animacije • Rezultat • Zaključak • Pitanja
Stvaranje animacije • Uzorkovanje pokreta(engl. motion capture)
Zapisi animacije • Više mogućih zapisa: • binarni – C3D • ASCII – BVH (engl. Biovision Hierarchical Data)
BVH format • Hijerarhijska struktura: • čvorovi: ROOT, JOINT, End Site • podaci o čvoru: OFFSET, CHANNELS
BVH format • Podaci o animaciji: • broj okvira • trajanje okvira • translacije/rotacije čvorova za svaki okvir
BVH format • Redoslijed apliciranja transformacija: • transformacija trenutnog čvora – Mčvor = RT • rotacija – najčešće R = YXZ • rotacija oko svake osi, obrnuto od redoslijeda definiranog u CHANNELS dijelu – X, Y, Z • translacija – T • transformacije nadređenih čvorova – Mčvor_roditelj Mukupno = MčvorMčvor_roditeljMroditelj_roditelja... v’ = vMukupno
Čitanje zapisa • Leksički analizator • Parser (potisni automat) • provjera sintakse • popunjavanje programskih struktura podacima iz zapisa • Čvorovi (zglobovi) pretvaraju se u kosti
Prikaz animacije • Za implementaciju korišteni: • OGRE – prikaz • CEGUI – korisničko sučelje
OGRE • Pogon za prikazivanje 3D grafike (engl. Object-oriented Graphics Rendering Engine) • Veliki open-source projekt – LGPL licenca
CEGUI • Sustav za izradu korisničkog sučelja (engl. Crazy Eddie’s Graphics User Interface) • Open-source – liberalna MIT licenca
Prikaz elemenata (kosti) • Modeli (mreža poligona) • Trenutno postoje dva, lako se dodaju novi (bez promjena u kodu)
Transformiranje elemenata • Interno se trasformira hijerahijska struktura i računaju koordinate svakog elementa • Zatim se radi translacija, rotacija i skaliranje modela svake kosti kako bi se prikaz poklapao sa internom hijerhijskom strukturom
Transformiranje elemenata v’ = vR2T2R1T1R0T0 v’ = vR1T1R0T0 v’ = vR0T0 v’ = vR2T2R1T1R0T0 v’ = vR1T1R0T0 v’ = vR0T0
Zaključak • Napravljena aplikacija za čitanje i prikaz animacija spremljenih u BVH zapise • Više mogućnosti proširivanja funkcionalnosti (prema potrebama i zahtjevima): • podrška za vezanje modela tijela na kosti (engl. skinning) • kontroliranja animacija unutar aplikacije • fizikalni model
Pitanja? • ...