Zad´ an´ı bakal´ aˇ rsk´ e pr´ ace
ˇ e vysok´e uˇcen´ı technick´e v Praze Cesk´ Fakulta elektrotechnick´a Katedra poˇc´ıtaˇcov´e grafiky a interakce
Bakal´aˇrsk´a pr´ace
MOCAP - Sn´ım´ an´ı pohybu lidsk´ e postavy Jan Nov´aˇcek
Vedouc´ı pr´ace: Ing. Roman Berka, Ph.D.
Studijn´ı program: (BN2)Softwarov´e technologie a management, Bakal´aˇrsk´ y Obor: (2612R062)Web a multimedia 13. kvˇetna 2011
ii
Podˇ ekov´ an´ı Na tomto m´ıstˇe bych chtˇel podˇekovat vˇsem, kteˇr´ı mi poskytli podklady a z´azem´ı, d´ıky kter´ ym jsem mohl tuto pr´ aci realizovat. Zvl´ aˇstˇe bych chtˇel podˇekovat vedouc´ımu sv´e bakal´aˇrsk´e pr´ ace panu Ing. Romanu Berkovi, Ph.D. a cel´emu t´ ymu lid´ı z Institutu interm´edi´ı, kteˇr´ı mi poskytli prostor a n´ astroje, bez kter´ ych bych tuto pr´aci nemohl realizovat. Rovnˇeˇz bych chtˇel podˇekovat oponentce pr´ ace pan´ı PaedDr. Vladanˇe Botl´ıkov´e, CSc. za jej´ı ochotu a cenn´e rady, kter´e mi bˇehem pr´ ace poskytla. V neposledn´ı ˇradˇe bych pak r´ad podˇekoval ˇ sv´ ym konzultant˚ um Michalu Cervenkovi a Ing. Jiˇr´ımu Kort´ankovi, kteˇr´ı byli vˇzdy ochotni mi pomoci a podˇelit se se mnou o sv´e cenn´e zkuˇsenosti. Vˇsem patˇr´ı m˚ uj velk´ y d´ık.
iii
iv
Prohl´ aˇ sen´ı Prohlaˇsuji, ˇze jsem pr´ aci vypracoval samostatnˇe a pouˇzil jsem pouze podklady uveden´e v pˇriloˇzen´em seznamu. Nem´ am z´ avaˇzn´ y d˚ uvod proti uˇzit´ı tohoto ˇskoln´ıho d´ıla ve smyslu §60 Z´akona ˇc. 121/2000 Sb., o pr´ avu autorsk´em, o pr´ avech souvisej´ıc´ıch s pr´avem autorsk´ ym a o zmˇenˇe nˇekter´ ych z´ akon˚ u (autorsk´ y z´ akon).
V Praze dne 13. kvˇetna 2011
...............................................................................................
v
vi
Abstract This work investigates the possibility of creation videos using the MoCap technology. The work seeks to propose a procedure that allows simple and efficient creation of videos with this technology. At the end of the work there is an evaluation of the proposed procedure.
Abstrakt Tato pr´ ace se zab´ yv´ a moˇznost´ı tvorby vide´ı s pouˇzit´ım MoCap technologie. Pr´ace se snaˇz´ı navrhnout postup, kter´ y umoˇzn´ı jednoduchou a efektivn´ı tvorbu vide´ı s touto technologi´ı. V z´ avˇeru pr´ ace je pak navrˇzen´ y postup zhodnocen.
vii
viii
Obsah 1 Motivace
1
1.1
Popis probl´emu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1.2
Historie projektu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
2 Souˇ casn´ y stav
2
2.1
Vytvoˇren´ı 3D animace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
2.2
C´ıle pr´ ace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
3 Technologie pro sn´ım´ an´ı pohybu
4
3.1
Pouˇzit´ı MoCap technologie . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
3.2
MoCap technologie - v´ yhody a nev´ yhody . . . . . . . . . . . . . . . . . . . .
5
3.3
N´ astroje pro MoCap technologii . . . . . . . . . . . . . . . . . . . . . . . . . .
6
3.3.1
Hardwarov´e n´ astroje . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
3.3.2
Softwarov´e n´ astroje . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
ix
4 N´ avrh ˇ reˇ sen´ı
13
4.1
Pracovn´ı postup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13
4.2
Pouˇzit´e n´ astroje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13
4.3
Analyzov´ an´ı zadan´e s´erie cvik˚ u . . . . . . . . . . . . . . . . . . . . . . . . . .
14
4.4
Rozm´ıstˇen´ı kamer a marker˚ u . . . . . . . . . . . . . . . . . . . . . . . . . . .
14
4.5
Pˇr´ıprava sc´eny pro nat´ aˇcen´ı . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16
4.6
Nasn´ım´ an´ı zadan´ ych cvik˚ u. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16
4.7
Analyzov´ an´ı a ˇciˇstˇen´ı nasn´ıman´ ych dat . . . . . . . . . . . . . . . . . . . . . .
17
4.8
Zpracov´ an´ı MoCap dat v programu MotionBuilder . . . . . . . . . . . . . . .
24
4.8.1
Vyexportov´ an´ı kostry z Poseru . . . . . . . . . . . . . . . . . . . . . .
25
4.8.2
Charakterizace kostry z Poseru v MotionBuilderu . . . . . . . . . . . .
25
4.8.3
Zpracov´ an´ı dat z c3d souboru a jejich propojen´ı s actorem . . . . . . .
28
4.8.4
Propojen´ı actora s charakterizovanou kostrou . . . . . . . . . . . . . .
31
4.8.5
Vyexportov´ an´ı fin´ aln´ıho bvh souboru . . . . . . . . . . . . . . . . . . .
32
Importov´ an´ı pohybov´ ych dat do programu Poser . . . . . . . . . . . . . . . .
33
4.10 Opraven´ı pˇr´ıpadn´ ych chyb v animaci . . . . . . . . . . . . . . . . . . . . . . .
34
4.11 Vyexportov´ an´ı fin´ aln´ıho videa . . . . . . . . . . . . . . . . . . . . . . . . . . .
35
4.9
5 Realizace
37
5.1
Pr˚ ubˇeh realizace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
37
5.2
Sn´ım´ an´ı jednotliv´ ych cvik˚ u . . . . . . . . . . . . . . . . . . . . . . . . . . . .
37
5.3
Zpracov´ an´ı dat v programu Vicon IQ . . . . . . . . . . . . . . . . . . . . . . .
39
5.4
Zpracov´ an´ı dat v programu MotionBuilder . . . . . . . . . . . . . . . . . . . .
39
5.5
Zpracov´ an´ı dat v programu Poser . . . . . . . . . . . . . . . . . . . . . . . . .
40
6 Zhodnocen´ı
45
6.1
Stanoven´ı krit´eri´ı . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
45
6.2
Splnˇen´ı krit´eri´ı . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
45
6.3
Celkov´e hodnocen´ı . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
46
7 Z´ avˇ er
47
A Seznam pouˇ zit´ ych zkratek
51
B Slovn´ıˇ cek pojm˚ u
53
x
C Obsah pˇ riloˇ zen´ eho DVD
55
xi
xii
Seznam obr´ azk˚ u 3.1
V´ yrobci mohou s MoCap technologiemi dos´ahnout realistiˇctˇejˇs´ıch her a zv´ yˇsit tak jejich ˇsance na trhu. Pˇrevzato z [4]. . . . . . . . . . . . . . . . . . . . . .
3.2
3.3 3.4
Pouˇz´ıv´ an´ı MoCap technologi´ı pˇri tvorbˇe film˚ u. Uk´azky z film˚ u (a) Polar Express, (b) Lord of the Rings, The Two Towers. Pˇrevzato z [6]. . . . . . . . . .
5
Optick´ y syst´em sn´ım´ an´ı pohybu od spoleˇcnosti Vicon. Pˇrevzato z [11]. . . . .
8
Mechanick´ y syst´em sn´ım´ an´ı pohybu Gypsy6 patˇr´ı mezi nejmodernˇejˇs´ı souˇcasn´e syst´emy. Pˇrevzato z [10]. . . . . . . . . . . . . . . . . . . . . . . . . . .
3.5
9
U magnetick´ ych syst´em˚ u mohou nap´ajec´ı kabely omezovat sn´ıman´ y subjekt v pohybu. Pˇrevzato z [12]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.6
4
10
MoCap oblek Xsens MVN vyuˇz´ıv´a pro sn´ım´an´ı pohybu inerˇcn´ı senzory. Pˇrevzato z [13]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
4.1
Zn´ azornˇen´ı rozestaven´ı kamer ve sc´enˇe. . . . . . . . . . . . . . . . . . . . . . .
15
4.2
Konkretn´ı rozestaven´ı marker˚ u, kter´e bude pˇri sn´ım´an´ı pouˇzito. . . . . . . . .
16
4.3
Speci´ aln´ı MoCap oblek umoˇzn ˇuj´ıc´ı spolehliv´e uchycen´ı marker˚ u na akt´era.
4.4
4.5
Pˇrevzato z [14]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17
Vlivem zakr´ yv´ an´ı jednotliv´ ych marker˚ u pˇri sn´ıman´ı nejsou data v programu Vicon IQ spojit´ a po cel´e ˇcasov´e ose. . . . . . . . . . . . . . . . . . . . . . . .
18
V seznamu nasn´ıman´ ych cvik˚ u si vybereme ten, jehoˇz ˇcasovou osu chceme zobrazit, a klikneme na nˇej prav´ ym tlaˇc´ıtkem myˇsi. . . . . . . . . . . . . . . .
19 19
4.7
V sekci Reconstruct” stiskneme tlaˇc´ıtko Run”. . . . . . . . . . . . . . . . . . ” ” Po skonˇcen´ı rekonstrukce se ve sc´enˇe zobraz´ı nasn´ıman´e markery. . . . . . . .
4.8
Po importov´ an´ı se subject zobraz´ı ve sc´enˇe. Na ˇcasov´e ose ve spodn´ı ˇc´asti
4.6
obrazovky si m˚ uˇzeme vˇsimnout oznaˇcen´e T-pozice. . . . . . . . . . . . . . . . 4.9
20
21
Pˇri labelingu postupnˇe pˇriˇrazujeme jednotliv´ ym marker˚ um ze sc´eny odpov´ıdaj´ıc´ı markery ze subjectu. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
22
4.10 Po ukonˇcen´ı labelingu nejsou jiˇz na ˇcasov´e ose vidˇet ˇz´adn´e nepˇriˇrazen´e u ´seky.
23
4.11 Stisknut´ım tlaˇc´ıtka se symbolem fialov´e ˇsipky spust´ıme pipelinu. . . . . . . .
23
4.12 Po probˇehnut´ı pipeliny je jiˇz na ˇcasov´e ose u vˇsech marker˚ u spojit´ y pr˚ ubˇeh po celou dobu animace. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
24
4.13 Po importov´ an´ı souboru, kter´ y obsahuje kostru z Poseru, se n´am tato kostra zobraz´ı v oknˇe Viewer”. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ” 4.14 Konkr´etn´ı nastaven´ı charakterizace kostry, kter´e bylo pouˇzito v t´eto pr´aci. . .
26 27
4.15 Po importov´ an´ı c3d souboru vid´ıme v oknˇe Viewer” skupinu znaˇcek, kter´a ” reprezentuje markery z akt´era. . . . . . . . . . . . . . . . . . . . . . . . . . .
28
4.16 Skupina znaˇcek s vytvoˇren´ ymi rigidn´ımi tˇelesy. . . . . . . . . . . . . . . . . .
29
xiii
4.17 V oknˇe Viewer”m˚ uˇzeme vidˇet actora spolu se skupinou znaˇcek. . . . . . . . . ” 4.18 Actor propojen´ y se skupinou znaˇcek jiˇz kop´ıruje jej´ı pohyby. . . . . . . . . . .
31
4.19 Rozd´ıl ve velikostech actora a charakterizovan´e kostry nehraje ˇz´adnou roli. . .
32
4.20 Po importov´ an´ı bvh souboru jiˇz 3D postava pˇresnˇe kop´ıruje pohyby akt´era. .
33
4.21 Aplikace Poser n´ am nab´ız´ı hned nˇekolik n´astroj˚ u pro editaci animace. . . . .
35
4.22 Nastaven´ı, kter´e bylo pouˇzito pˇri exportu vide´ı pro tuto pr´aci. . . . . . . . . .
36
5.1
30
Zn´ azornˇen´ı prostoru, ve kter´em se akt´er pˇri nat´aˇcen´ı m˚ uˇze pohybovat - ide´aln´ı prostor pro sn´ım´ an´ı je reprezentov´an ˇcerven´ ymi krychlemi.
. . . . . . . . . .
38
5.2
Skuteˇcn´e rozestaven´ı marker˚ u, kter´e bylo pˇri sn´ım´an´ı pouˇzito. . . . . . . . . .
38
5.3
Rozd´ıly mezi kostrou z MotionBuilderu a kostrou z Poseru zp˚ usobuj´ı ztr´atu nˇekter´ ych informaci. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.4
Bˇeˇzn´e chyby, kter´e vznikaj´ı po importov´an´ı pohyb˚ u na 3D postavu v modelaˇcn´ım programu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.5
41
Tyto chyby vznikly jiˇz v MotionBuilderu bˇehem pˇrenosu pohyb˚ u z actora na charakterizovanou kostru z Poseru. . . . . . . . . . . . . . . . . . . . . . . . .
5.6
40
41
V lev´e ˇc´ asti obr´ azku je vidˇet chybn´e rozdˇelen´ı hodnot parametru bend mezi krk a hlavu. V prav´e ˇc´ asti obr´ azku je vidˇet identick´ y sn´ımek po jejich ruˇcn´ım upraven´ı. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.7
42
V lev´e ˇc´ asti obr´ azku je vidˇet chybn´e rozdˇelen´ı hodnot parametru side-side mezi krk a hlavu. V prav´e ˇc´ asti obr´azku je vidˇet identick´ y sn´ımek po jejich ruˇcn´ım upraven´ı. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.8
42
V lev´e ˇc´ asti obr´ azku je vidˇet chybn´e rozdˇelen´ı parametru twist mezi jednotliv´e ˇca´sti trupu. V prav´e ˇc´ asti obr´ azku je vidˇet identick´ y sn´ımek po jejich ruˇcn´ım nastaven´ı. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.9
43
Porovn´ an´ı identick´eho sn´ımku v programu Poser v lev´e ˇc´asti obr´azku a programu 3DS Studio Max v prav´e ˇc´asti obr´azku. . . . . . . . . . . . . . . . . .
44
5.10 V lev´e ˇc´ asti obr´ azku je vidˇet chybn´e rozdˇelen´ı parametru side-side mezi jednotliv´e ˇc´ asti trupu. V prav´e ˇc´ asti obr´azku je vidˇet identick´ y sn´ımek po jejich ruˇcn´ım upraven´ı. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
xiv
44
xv
1
Motivace
1.1
Popis probl´ emu
C´ılem t´eto bakal´ aˇrsk´e pr´ ace je ovˇeˇren´ı z´ avˇer˚ u z bakal´aˇrsk´e pr´ace Jiˇr´ıho Posp´ıˇsila[1] a vytvoˇren´ı vide´ı, na kter´ ych bude 3D postava pˇredcviˇcovat zadanou s´erii cvik˚ u, tato videa budou ´ ˇ eho vysok´eho n´ aslednˇe vloˇzena na webov´e str´ anky Ustavu tˇelesn´e v´ ychovy a sportu Cesk´ ´ uˇcen´ı technick´eho v Praze (d´ ale pouze UTVS). Aby jednotliv´e pohyby 3D postavy p˚ usobily co moˇzn´ a nejrealistiˇctˇeji, budou zadan´e cviky nasn´ım´any technologi´ı motion capture (d´ale pouze MoCap). Pouˇzit´ım t´eto technologie doc´ıl´ıme toho, ˇze 3D postava bude pˇresnˇe napodobovat pohyby ˇclovˇeka, a jednotliv´ a videa tak budou p˚ usobit re´aln´ ym dojmem. Pr´ace tedy bude muset splnit n´ asleduj´ıc´ı d´ılˇc´ı c´ıle: Nasn´ımat zadanou s´erii cvik˚ u. Zpracovat nasn´ıman´ a data. Pˇren´est nasn´ıman´e pohyby do modelaˇcn´ıho programu a aplikovat je na 3D postavu.
Hlavn´ı probl´em vˇsak spoˇc´ıv´ a v tom, ˇze modelaˇcn´ı programy nejsou schopny pˇr´ımo pracovat s nasn´ıman´ ymi daty, bude proto nutn´e pouˇz´ıt dalˇs´ı program, kter´ y bude figurovat jako prostˇredn´ık, a umoˇzn´ı tak aplikov´ an´ı nasn´ıman´ ych pohyb˚ u na 3D postavu. Z toho je patrn´e, ˇze data budou muset pˇri zpracov´ an´ı proj´ıt nˇekolika programy a je nutn´e u kaˇzd´eho z tˇechto program˚ u nal´ezt takov´e nastaven´ı, aby pˇri pˇrenosu dat nedoch´azelo k jejich znehodnocen´ı a 3D postava ve fin´ aln´ım videu pˇresnˇe kop´ırovala nasn´ıman´e pohyby.
1.2
Historie projektu
Tato pr´ ace navazuje zejm´ena na bakal´ aˇrskou pr´aci Jiˇr´ıho Posp´ıˇsila[1]. Jednotliv´e technologie, kter´e budu bˇehem sv´e pr´ ace pouˇz´ıvat, byly sice jiˇz pˇredmˇetem nˇekolika pˇredchoz´ıch prac´ı, ˇslo vˇsak pˇrev´ aˇznˇe o pr´ ace menˇs´ıho rozsahu, hlavnˇe pak semestr´aln´ı, a tyto technologie v nich nebyly pouˇz´ıv´ any za takov´ ym u ´ˇcelem a v takov´e kombinaci jako v t´eto pr´aci. Prvn´ı rozs´ ahlejˇs´ı prac´ı, kter´ a pouˇz´ıvan´e technologie spojila za u ´ˇcelem vytvoˇren´ı vide´ı s 3D postavou pˇredv´ adˇej´ıc´ı zadanou s´erii cvik˚ u, byla pr´avˇe pr´ace Jiˇr´ıho Posp´ıˇsila. Tato pr´ace vˇsak pouze ´ pouk´ azala na existenci cesty, kter´ a vz´ ajemn´e propojen´ı dan´ ych technologi´ı umoˇzn ˇuje. Ukolem m´e bakal´ aˇrsk´e pr´ ace tedy bude tuto cestu rozˇs´ıˇrit, nal´ezt takov´e konkr´etn´ı nastaven´ı u jednotliv´ ych technologi´ı, kter´e umoˇzn´ı jejich vz´ajemnou spolupr´aci, a na z´avˇer vyhodnotit efektivnost a pouˇzitelnost t´eto cesty.
1
2
Souˇ casn´ y stav
2.1
Vytvoˇ ren´ı 3D animace
Jedn´ım z hlavn´ıch c´ıl˚ u t´eto pr´ ace je rozpohybov´an´ı 3D postavy v modelaˇcn´ım programu tak, aby pˇresnˇe kop´ırovala zadan´e cviky. K tomu, aby bylo moˇzn´e tohoto v´ ysledku dos´ahnout, je nutn´e pouˇz´ıt jednu ze dvou zcela odliˇsn´ ych technik. Prvn´ı technikou, kter´ a umoˇzn ˇuje rozpohybov´an´ı 3D postavy, je jej´ı ruˇcn´ı animov´an´ı. Vˇsechny dneˇsn´ı modelaˇcn´ı programy nab´ızej´ı n´astroje, pomoc´ı kter´ ych se daj´ı vymodelovan´e postavy animovat. Tyto animace se typicky vytv´aˇrej´ı tak, ˇze anim´ator proch´az´ı cel´ y pr˚ ubˇeh budouc´ı animace a v urˇcit´ ych chv´ıl´ıch - neboli v konkr´etn´ıch sn´ımc´ıch, anglicky framech - nastavuje jednotliv´ ym ˇc´ astem postavy jejich pozici. Sn´ımk˚ um, ve kter´ ych m´a dan´a ˇc´ast postavy nastavenou pozici, se ˇr´ık´ a kl´ıˇcov´e. V´ yslednou animaci pak vytvoˇr´ı modelaˇcn´ı program tak, ˇze u jednotliv´ ych ˇc´ ast´ı postavy proloˇz´ı mezi kl´ıˇcov´ ymi sn´ımky kˇrivku, kter´a urˇc´ı jejich postaven´ı v pr˚ ubˇehu cel´e animace. Tento zp˚ usob vytv´aˇren´ı animac´ı vˇsak spad´a sp´ıˇse do umˇeleck´e oblasti a k tomu, aby v´ ysledn´ a animace p˚ usobila re´aln´ ym dojmem, je potˇreba m´ıt k dispozici velmi zkuˇsen´eho anim´ atora. V t´eto pr´ aci proto bude pouˇzit druh´ y zp˚ usob, kter´ ym lze rozpohybovat 3D postavu, a t´ım je technika sn´ım´ an´ı pohybu, anglicky motion capture (d´ale jen MoCap). MoCap vˇsak - jak by n´ azev mohl napov´ıdat - neznamen´ a zaznamen´an´ı pohybu v tom smyslu, ˇze natoˇc´ıme nˇejak´eho figuranta pˇri cviˇcen´ı. Jeho smysl spoˇc´ıv´ a v tom, ˇze pohyby od tohoto figuranta oddˇel´ıme a d´ ale jiˇz pracujeme pouze s nimi samotn´ ymi. Jak uv´ad´ı Maureen Furniss ve sv´em ˇcl´anku, motion capture zahrnuje mˇeˇren´ı polohy a orientace objekt˚ u ve fyzick´em prostoru a n´asledn´e zaznamen´ an´ı tˇechto informac´ı do poˇc´ıtaˇcem zpracovateln´e podoby, pˇriˇcemˇz objektem z´ajmu m˚ uˇze b´ yt jak lidsk´ a, tak i jak´ akoli jin´ a postava ˇci objekt ve sc´enˇe[2]. Figurant, nejˇcastˇeji ˇclovˇek, je tedy pouze nositelem informace, kterou n´am MoCap umoˇzn´ı extrahovat, zpracovat a n´ aslednˇe aplikovat na dalˇs´ı objekt, typicky 3D postavu ve virtu´aln´ı sc´enˇe. Nav´ıc d´ıky tomu, ˇze vstupn´ı informac´ı je u MoCapu pohyb skuteˇcn´eho ˇclovˇeka, p˚ usob´ı v´ ysledn´ a animace velmi re´ aln´ ym dojmem a to i bez pomoci zkuˇsen´eho anim´atora. Nasn´ıman´a data je tak´e moˇzn´e pouˇz´ıt opakovanˇe a MoCap je d´ıky tˇemto v´ yhod´am obl´ıben´ ym a rychle se rozv´ıjej´ıc´ım n´ astrojem pro tvorbu 3D animac´ı. S MoCap technologiemi se v dneˇsn´ı dobˇe setk´av´ame doslova na kaˇzd´em kroku, i kdyˇz si to ani nemus´ıme uvˇedomit. Jejich aplikace jsou naprosto bˇeˇzn´e ve filmov´em a hern´ım pr˚ umyslu, v reklamˇe a v mnoha dalˇs´ıch oborech. Konkr´etn´ı pˇr´ıklady pouˇzit´ı tˇechto technologi´ı jsou uvedeny v kapitole 3.1 na stranˇe 4.
2.2
C´ıle pr´ ace
Jak jiˇz bylo zm´ınˇeno v kapitole 1.1 na pˇredchoz´ı stranˇe, c´ılem pr´ace je ovˇeˇren´ı z´avˇer˚ u pr´ace Jiˇr´ıho Posp´ıˇsila[1] a vytvoˇren´ı realistick´ ych vide´ı, na nichˇz bude 3D postava pˇredv´adˇet zadanou s´erii cvik˚ u. D˚ uleˇzit´e pˇritom bude zjiˇstˇen´ı, zda zp˚ usob, kter´ y bude v t´eto pr´aci pro vytvoˇren´ı vide´ı pouˇzit, je vhodn´ y i pro budouc´ı bˇeˇzn´e pouˇzit´ı - to znamen´a, zda v´ ysledn´a vi-
2
´ dea odpov´ıdaj´ı poˇzadavk˚ um, kter´e jsou na nˇe kladeny z UTVS - tedy zejm´ena velk´a pˇresnost pohyb˚ u - a zda proces jejich v´ yroby nen´ı v porovn´an´ı s jin´ ymi metodami pˇr´ıliˇs sloˇzit´ y nebo ˇcasovˇe n´ aroˇcn´ y. Hlavn´ım c´ılem pr´ ace je tedy vytvoˇren´ı pracovn´ıho postupu, kter´ y v budoucnu ´ umoˇzn´ı UTVS efektivnˇe vytv´ aˇret videa vhodn´a pro studijn´ı u ´ˇcely a to i bez pˇr´ıtomnosti profesion´ aln´ıch odborn´ık˚ u z oblasti animace.
3
3
Technologie pro sn´ım´ an´ı pohybu
3.1
Pouˇ zit´ı MoCap technologie
MoCap je v dneˇsn´ı dobˇe velmi rozˇs´ıˇrenou technologi´ı, kter´a se pouˇz´ıv´a v cel´e ˇradˇe obor˚ u, jako je medic´ına, arm´ ada, reklama nebo umˇen´ı. Jeho hlavn´ım p˚ usobiˇstˇem vˇsak z˚ ust´av´a z´abavn´ı pr˚ umysl. Pˇri tvorbˇe film˚ u nebo her je MoCap vyuˇz´ıv´an jak pro animaci jednotliv´ ych pohyb˚ u 3D postav, tak pro vytv´ aˇren´ı cel´ ych video sekvenc´ı, ˇc´ımˇz je dosaˇzeno toho, ˇze jednotliv´e postavy p˚ usob´ı realistiˇctˇejˇs´ım dojmem. Hern´ı pr˚ umysl je v˚ ubec nejvˇetˇs´ım p˚ usobiˇstˇem MoCap technologi´ı, a pokud se pod´ıv´ame na dneˇsn´ı hry, tak je jasn´e, proˇc tomu tak je [3]. V dneˇsn´ı dobˇe se v´ yrobci snaˇz´ı hr´aˇce nal´akat pˇredevˇs´ım na realistiˇcnost her a na jejich co moˇzn´a nejvˇernˇejˇs´ı chov´an´ı a MoCap je pˇresnˇe tou technologi´ı, kter´ a jim m˚ uˇze tyto vlastnosti poskytnout.
Obr´ azek 3.1: V´ yrobci mohou s MoCap technologiemi dos´ahnout realistiˇctˇejˇs´ıch her a zv´ yˇsit tak jejich ˇsance na trhu. Pˇrevzato z [4].
Zˇrejmˇe druh´ ym nejvˇetˇs´ım odbytiˇstˇem pro MoCap technologie je filmov´ y pr˚ umysl. Za miln´ıky MoCapu v tomto pr˚ umyslu jsou povaˇzov´any zejm´ena Final Fantasy The Spirits Within, Lord of the Rings: The Two Towers a Polar Express[5]. MoCap se v dneˇsn´ı dobˇe ve filmech pouˇz´ıv´ a st´ ale ˇcastˇeji. Animace zaloˇzen´e na MoCapu jsou prakticky nezbytn´e pˇri tvorbˇe postav, kter´e se maj´ı realisticky pohybovat v situac´ıch, kter´e by byly pro skuteˇcn´e herce nepraktick´e ˇci nebezpeˇcn´e (napˇr. p´ady z lodi ve filmu Titanic) [3]. MoCap m´ a ve filmov´em pr˚ umyslu dalˇs´ı znaˇcnou v´ yhodu a tou je cena. Jeho poˇrizovac´ı n´a-
4
klady jsou sice vyˇsˇs´ı, tyto n´ aklady se vˇsak jeho pouˇz´ıv´an´ım rychle vr´at´ı. Jak uv´ad´ı Maureen Furniss ve sv´em ˇcl´ anku - t´ım, ˇze pouˇzijeme MoCap technologie k rozpohybov´an´ı virtu´aln´ı postavy, uˇsetˇr´ıme znaˇcn´e finance, kter´e bychom museli investovat do jejich ruˇcn´ıho animov´an´ı. Cena jedn´e minuty takov´e sc´eny tak m˚ uˇze klesnou aˇz na pˇetinu p˚ uvodn´ı ˇc´astky[2].
Obr´ azek 3.2: Pouˇz´ıv´ an´ı MoCap technologi´ı pˇri tvorbˇe film˚ u. Uk´azky z film˚ u (a) Polar Express, (b) Lord of the Rings, The Two Towers. Pˇrevzato z [6].
3.2
MoCap technologie - v´ yhody a nev´ yhody
Z pˇredchoz´ıch ˇr´ adk˚ u by se mohlo zd´ at, ˇze MoCap je jak´ ymsi kouzeln´ ym proutkem, kter´ y m´ a jen sam´e v´ yhody a kaˇzd´ y, kdo jej nepouˇz´ıv´a, dˇel´a velkou chybu. Vˇeci ovˇsem nejsou jen ˇcerno-b´ıl´e a i MoCap m´ a mnoho nev´ yhod, kv˚ uli kter´ ym je tˇreba jeho pouˇzit´ı zv´aˇzit. V prvn´ı ˇradˇe jsou to pˇredevˇs´ım vysok´e poˇrizovac´ı n´aklady, ty se sice jeho ˇcast´ ym pouˇz´ıv´an´ım vr´at´ı, avˇsak kupovat kompletn´ı syst´em kv˚ uli jedn´e nˇekolikasekundov´e animaci je nesmysl. Cena ale nen´ı jedinou vlastnost´ı MoCapu, kv˚ uli kter´e je tˇreba jeho pouˇzit´ı zvaˇzovat. N´asleduje seznam nev´ yhod, kter´e MoCap technologie obecnˇe maj´ı [7]: Je potˇreba speci´ aln´ı hardware a software, jejichˇz poˇrizovac´ı cena je pomˇernˇe vysok´a. Syst´emy mohou m´ıt specifick´e poˇzadavky na prostor, ve kter´em bude sn´ıman´ı prob´ıhat. Pˇri v´ yskytu probl´em˚ u b´ yv´ a snazˇs´ı nasn´ımat celou sc´enu znovu neˇz se pokouˇset ruˇcnˇe
manipulovat s daty. Nav´ıc jen nˇekter´e syst´emy umoˇzn ˇuj´ı prohl´ıˇzen´ı dat v re´aln´em ˇcase, a chyby se tak projev´ı typicky aˇz po ukonˇcen´ı sn´ım´an´ı. Aplikace tˇechto technologi´ı na ˇctyˇrnoh´e tvory b´ yv´a obt´ıˇzn´a.
5
Tyto technologie velmi rychle zastar´ avaj´ı, bˇehem nˇekolika m´alo let se tedy zakoupen´ y
syst´em m˚ uˇze st´ at nevyhovuj´ıc´ım. V´ ysledky jsou omezeny pouze na pohyby, kter´e lze prov´est bez dodateˇcn´ ych u ´prav dat.
Pohyby, kter´e nerespektuj´ı fyzik´ aln´ı z´akony, tedy nemohou b´ yt zachyceny. Pokud m´ a virtu´ aln´ı model odliˇsn´e parametry od sn´ıman´eho subjektu, mohou vznikat
artefakty - napˇr´ıklad pokud m´ a virtu´aln´ı postava vˇetˇs´ı ruce neˇz sn´ıman´ y figurant, m˚ uˇze se st´ at, ˇze tyto ruce budou u nˇekter´ ych pohyb˚ u proch´azet skrze jin´e ˇc´asti tˇela. Nasn´ıman´ y pohyb nemus´ı vˇzdy odpov´ıdat skuteˇcn´emu pohybu tak, jak jsme si p˚ uvodnˇe
pˇredstavovali. Na druhou stranu je vˇsak nutn´e uv´est i seznam vlastnost´ı, kv˚ uli kter´ ym se vyplat´ı MoCap technologie pouˇz´ıt: Kompletn´ı animaci m˚ uˇzeme z´ıskat mnohem rychleji, s v´ ykonn´ ymi syst´emy ji dokonce
m˚ uˇzeme vytv´ aˇret v re´ aln´em ˇcase. Nasn´ıman´ a data je moˇzn´e pouˇz´ıt opakovanˇe. Mnoˇzstv´ı pr´ ace, kterou n´ am vytvoˇren´ı animace zabere, neroste u ´mˇernˇe s d´elkou a
sloˇzitost´ı poˇzadovan´e sc´eny, jak je tomu u tradiˇcn´ıch technik. M˚ uˇzeme dos´ ahnout komplexn´ıch pohyb˚ u spolu s realistickou fyzik´aln´ı interakc´ı. Jeden herec m˚ uˇze ztv´ arnit i nˇekolik postav najednou.
3.3
N´ astroje pro MoCap technologii
Syst´emy pro MoCap jsou komplexn´ı n´ astroje, kter´e umoˇzn ˇuj´ı jak fyzick´e nasn´ım´an´ı pohyb˚ u akt´era, tak i n´ asledn´e upraven´ı nasn´ıman´ ych dat a jejich export do soubor˚ u vhodn´ ych pro dalˇs´ı pouˇzit´ı. Cel´ y syst´em se tedy skl´ ad´ a ze dvou hlavn´ıch ˇc´ast´ı - z hardwarov´ ych n´astroj˚ u, kter´e umoˇzn ˇuj´ı zachycen´ı re´ aln´ ych pohyb˚ u, a softwarov´ ych n´astroj˚ u, kter´e nasn´ıman´a data zpracuj´ı.
3.3.1
Hardwarov´ e n´ astroje
Princip˚ u, podle kter´ ych lze zaznamenat pohyby, existuje cel´a ˇrada. Podle toho, kter´ y princip dan´ y syst´em vyuˇz´ıv´ a, dˇel´ıme MoCap syst´emy do nˇekolika z´akladn´ıch skupin. Kaˇzd´a z tˇechto skupin m´ a sv´e v´ yhody i nev´ yhody a nelze proto ˇr´ıci, ˇze by jedna z nich byla univerz´aln´ı a vhodn´ a pro jak´ekoli u ´ˇcely. Je vˇzdy nutn´e zv´aˇzit podle konkr´etn´ı situace, jak´ y konkr´etn´ı druh MoCap technologie pouˇzijeme. Zde je pˇrehled z´akladn´ıch syst´em˚ u pro MoCap technologii [8, 9]: Optick´ e - pravdˇepodobnˇe nejrozˇs´ıˇrenˇejˇs´ı MoCap syst´emy v˚ ubec. Tyto syst´emy jsou zaloˇzeny na sledov´ an´ı odraˇzen´eho ˇci vyzaˇrovan´eho svˇetla. K tomuto sledov´an´ı se typicky
6
pouˇz´ıvaj´ı kamery, jejichˇz poˇcet se pohybuje od 4 aˇz do des´ıtek kus˚ u. V z´avislosti na konkr´etn´ım syst´emu pracuj´ı kamery ve viditeln´em nebo infraˇcerven´em spektru. Kamery jsou vˇzdy rozm´ıstˇeny kolem sn´ıman´e sc´eny a v pr˚ useˇc´ıku jejich zorn´ ych u ´hl˚ u se pohybuje sn´ıman´ y subjekt. Ten m´ a na sobˇe um´ıstˇen´e markery, kter´e bud’ vyzaˇruj´ı (aktivn´ı), nebo odr´ aˇzej´ı (pasivn´ı) svˇetlo. Kamery sn´ımaj´ı sc´enu rychlost´ı od 30 aˇz do 2000 sn´ımk˚ u za vteˇrinu, pˇriˇcemˇz k tomu, aby byla data pouˇziteln´a, je nutn´e, aby byl kaˇzd´ y marker vˇzdy sn´ım´ an alespoˇ n tˇremi kamerami. Pokud tomu tak nen´ı, je tento marker v dan´ y okamˇzik neviditeln´ y a data je nutn´e ruˇcnˇe upravovat. Tyto syst´emy maj´ı celou ˇradu v´ yhod: Optick´ a data jsou velmi pˇresn´a. Rychlost sn´ım´ an´ı je v porovn´ an´ı s ostatn´ımi syst´emy pomˇernˇe vysok´a. Lze zaznamen´ avat i nˇekolik samostatn´ ych subjekt˚ u najednou. M˚ uˇzeme pouˇz´ıt i velk´ y poˇcet marker˚ u, pˇriˇcemˇz jejich rozm´ıstˇen´ı m˚ uˇzeme vˇzdy
pˇrizp˚ usobit aktu´ aln´ım podm´ınk´am. Sn´ıman´ y subjekt se m˚ uˇze volnˇe pohybovat ve sn´ıman´em prostoru bez jak´ehokoli
omezen´ı. Sn´ıman´ a sc´ena m˚ uˇze b´ yt vˇetˇs´ı neˇz u vˇetˇsiny ostatn´ıch syst´em˚ u.
Optick´e syst´emy maj´ı vˇsak i ˇradu nev´ yhod, k hlavn´ım nev´ yhod´am patˇr´ı: Je nutn´ y rozs´ ahl´ y post-processing, aby bylo moˇzn´e nasn´ıman´a data pouˇz´ıt. Rotaˇcn´ı data mus´ı b´ yt dopoˇc´ıt´avana aˇz v post-processingu. Pˇri nevhodn´em rozm´ıstˇen´ı kamer nebo marker˚ u m˚ uˇze bˇehem sn´ım´an´ı doch´azet
k tomu, ˇze nˇekter´e markery nebudou v urˇcit´ ych chv´ıl´ıch viditeln´e, jejich pozice se proto mus´ı dopoˇc´ıtat v post-processingu. Je nutn´e kontrolovat svˇeteln´e podm´ınky ve sc´enˇe - hlavnˇe u pasivn´ıch syst´em˚ u. V porovn´ an´ı s ostatn´ımi syst´emy jsou poˇrizovac´ı n´aklady u tˇechto syst´em˚ u vysok´e.
7
Obr´ azek 3.3: Optick´ y syst´em sn´ım´ an´ı pohybu od spoleˇcnosti Vicon. Pˇrevzato z [11]. Mechanick´ e - v principu se jedn´ a o nejjednoduˇsˇs´ı syst´emy. Jsou zaloˇzeny na tom, ˇze sn´ıman´ y subjekt - obvykle ˇclovˇek - m´ a na sobˇe jakousi vnˇejˇs´ı kostru, ta je tvoˇrena pevn´ ymi tyˇcemi a potenciometry, kter´e jsou navz´ajem propojen´e a kop´ıruj´ı kosti a klouby skuteˇcn´e lidsk´e kostry. Pˇri samotn´em sn´ım´an´ı pak tyˇce kop´ıruj´ı pohyby kost´ı a potenciometry sn´ımaj´ı u ´hly, kter´e tyto tyˇce navz´ajem sv´ıraj´ı. Tato data jsou n´aslednˇe odes´ıl´ana do poˇc´ıtaˇce. Pomoc´ı relativnˇe jednoduch´ ych v´ ypoˇct˚ u, kter´e mohou b´ yt snadno prov´adˇeny i v re´ aln´em ˇcase, se z tˇechto dat vypoˇc´ıtaj´ı pozice a rotace jednotliv´ ych konˇcetin a urˇc´ı se postoj cel´eho tˇela. Tyto syst´emy se vyznaˇcuj´ı n´asleduj´ıc´ımi v´ yhodami: Mohou pracovat i v re´ alnˇem ˇcase. Jedn´ a se o pomˇernˇe levn´e syst´emy. Velmi jednoduch´ a pr´ ace a manipulace se sn´ımac´ım zaˇr´ızen´ım. Nez´ avislost na okoln´ıch podm´ınk´ach - napˇr´ıklad svˇeteln´ ych nebo elektromagne-
tick´ ych. Pˇri pouˇzit´ı bezdr´ atov´ ych syst´em˚ u je oblast, ve kter´e se m˚ uˇze sn´ıman´ y subjekt
pohybovat, prakticky neomezen´a. I tento syst´em m´ a vˇsak hned nˇekolik nev´ yhod, zde je jejich seznam: Obt´ıˇzn´e urˇcen´ı polohy subjektu v˚ uˇci okoln´ımu svˇetu. Je vhodn´ y prakticky pouze pro lidsk´e postavy. Pohyby subjektu jsou omezeny vnˇejˇs´ı kostrou. Sn´ımac´ı rychlost je relativnˇe n´ızk´ a. Pˇrizp˚ usobov´ an´ı senzor˚ u m˚ uˇze b´ yt nˇekdy obt´ıˇzn´e.
8
Obr´ azek 3.4: Mechanick´ y syst´em sn´ım´ an´ı pohybu Gypsy6 patˇr´ı mezi nejmodernˇejˇs´ı souˇcasn´e syst´emy. Pˇrevzato z [10]. Magnetick´ e - nebo tak´e elektromagnetick´e syst´emy. U tˇechto syst´em˚ u je na sn´ıman´ y subjekt um´ıstˇeno 12-20 senzor˚ u, ty se skl´adaj´ı ze tˇr´ı vz´ajemnˇe ortogon´aln´ıch c´ıvek uzavˇren´ ych ve feromagnetick´em obalu. C´ıvky jsou nap´ajeny elektrick´ ym proudem, a generuj´ı tak tˇri ortogon´ aln´ı magnetick´ a pole - tato pole bud’ alternuj´ı (pak mluv´ıme o AC syst´emech), nebo pulsuj´ı (pak se jedn´a o DC syst´emy). Senzory jsou pak nejˇcastˇeji kabelem propojeny s pˇrij´ımaˇcem, ten je u AC syst´em˚ u sloˇzen ze tˇr´ı ortogon´aln´ıch c´ıvek, ˇ ıdic´ı jednotka pak dok´aˇze mˇeˇren´ım v pˇr´ıpadˇe DC syst´em˚ u jej tvoˇr´ı tˇri magnetometry. R´ napˇet´ı generovan´eho elektromagnetickou indukc´ı urˇcit relativn´ı pozici a orientaci senzoru v˚ uˇci pˇrij´ımaˇci. T´ım, ˇze syst´emy dok´aˇz´ı urˇcit i orientaci jednotliv´ ych senzor˚ u bez post-processingu, jsou tyto syst´emy schopny pracovat v re´aln´em ˇcase. Zde je seznam v´ yhod tˇechto syst´em˚ u: Pozici a orientaci senzor˚ u je moˇzn´e zjistit i bez post-processingu. Syst´emy jsou schopny pracovat v re´ aln´em ˇcase. D´ıky tomu, ˇze lidsk´e tˇelo ani dalˇs´ı nekovov´e objekty nebr´ an´ı ˇs´ıˇren´ı elektromagne-
tick´eho pole, nedoch´ az´ı k doˇcasn´emu zakryt´ı senzor˚ u u sloˇzitˇejˇs´ıch pohyb˚ u - jako je tomu u optick´ ych syst´em˚ u. V´ıce subjekt˚ u m˚ uˇze b´ yt sn´ım´ ano souˇcasnˇe s r˚ uzn´ ym nastaven´ım. Jedn´ a se o relativnˇe levn´e syst´emy.
Ovˇsem i tyto syst´emy maj´ı ˇradu nev´ yhod, zde je jejich seznam: Senzory jsou citliv´e na magnetick´e a elektrick´e ruˇsen´ı. Nap´ ajec´ı kabely senzor˚ u mohou omezovat sn´ıman´ y subjekt v pohybu. Sn´ımac´ı rychlost u tˇechto syst´em˚ u je velmi n´ızk´a. Magnetick´ a data vykazuj´ı ˇcast´ y ˇsum.
9
Obr´ azek 3.5: U magnetick´ ych syst´em˚ u mohou nap´ajec´ı kabely omezovat sn´ıman´ y subjekt v pohybu. Pˇrevzato z [12]. Inerˇ cn´ı - senzory u tˇechto syst´em˚ u se skl´adaj´ı z gyroskop˚ u - slouˇz´ı ke zjiˇstˇen´ı orientace senzoru - a akcelerometr˚ u - slouˇz´ı ke zjiˇstˇen´ı polohy senzoru. V kaˇzd´em senzoru jsou um´ıstˇeny tˇri gyroskopy v navz´ ajem ortogon´aln´ıch rovin´ach a tˇri akcelerometry, kter´e leˇz´ı ve stejn´ ych rovin´ ach jako jednotliv´e gyroskopy. K tomu, aby mohly tyto senzory spr´ avnˇe pracovat, je nutn´e, aby byla zn´ama jejich poˇc´ateˇcn´ı poloha, pot´e jsou jiˇz senzory schopny zaznamen´ avat zmˇeny od t´eto polohy. Tyto syst´emy maj´ı celou ˇradu v´ yhod: Senzory nijak neomezuj´ı sn´ıman´ y subjekt v pohybu. Nedoch´ az´ı k zakr´ yv´ an´ı senzor˚ u - jako u optick´ ych syst´em˚ u. Senzory nejsou citliv´e na elektromagnetick´e ruˇsen´ı. Senzory jsou schopny pracovat velmi rychle. Nen´ı potˇreba ˇz´ adn´ y dalˇs´ı hardware - jako napˇr´ıklad kamery.
Tyto syst´emy maj´ı vˇsak z´ asadn´ı nev´ yhodu: Hlavn´ı nev´ yhodou tˇechto syst´em˚ u je akumulace chyb - line´arnˇe s dobou mˇeˇren´ı
totiˇz roste i odchylka namˇeˇren´ ych hodnot od tˇech skuteˇcn´ ych. Napˇr´ıklad pokud by
10
mˇel akcelerometr na zaˇc´ atku chybu mˇeˇren´ı jen 1 mili-g, tak kaˇzd´e dalˇs´ı mˇeˇren´ı by vytv´ aˇrelo pr˚ ubˇeˇznou odchylku v akceleraci 0,0098 m/s2 . Po pouh´ ych 30 vteˇrin´ach by se tedy vypoˇc´ıtan´e hodnoty liˇsily od tˇech skuteˇcn´ ych aˇz o 4,5 m. Dokud nebude tento probl´em nˇejak vyˇreˇsen, tak tato vlastnost prakticky znemoˇzn ˇuje samostatn´e pouˇz´ıv´ an´ı tˇechto syst´em˚ u. Jsou ovˇsem velmi uˇziteˇcn´e pˇri kombinaci s ostatn´ımi syst´emy.
Obr´ azek 3.6: MoCap oblek Xsens MVN vyuˇz´ıv´a pro sn´ım´an´ı pohybu inerˇcn´ı senzory. Pˇrevzato z [13]. Akustick´ e - u tˇechto syst´em˚ u jsou na figuranta um´ıstˇeny senzory, kter´e vys´ılaj´ı ultrazvukov´e impulzy. Pˇrij´ımaˇce jsou pak schopny triangulac´ı spolu s mˇeˇren´ım doby letu jednotliv´ ych pulz˚ u urˇcit pozici senzor˚ u. Tyto syst´emy maj´ı ˇradu v´ yhod: Nedoch´ az´ı k zakr´ yv´ an´ı senzor˚ u - jako u optick´ ych syst´em˚ u. Syst´em nen´ı z´ avisl´ y na svˇeteln´ ych podm´ınk´ach.
Ovˇsem i tyto syst´emy maj´ı sv´e nev´ yhody: Plocha, ve kter´e se m˚ uˇze sn´ıman´ y subjekt pohybovat, je omezena um´ıstˇen´ım jed-
notliv´ ych pˇrij´ımaˇc˚ u. Sn´ımac´ı rychlost u tˇechto syst´em˚ u je pomˇernˇe n´ızk´a - je limitov´ana rychlost´ı
zvuku. Odrazy zvuku mohou zp˚ usobovat nepˇresnosti.
11
Sn´ım´ an´ı je citliv´e napˇr´ıklad i na povˇetrnost´ı podm´ınky.
R´ adiov´ e - tyto syst´emy nejsou v souˇcasn´e dobˇe pˇr´ıliˇs ˇcasto pouˇz´ıv´any. Jsou zaloˇzeny na podobn´ ych principech jako akustick´e syst´emy, mohou vˇsak pracovat mnohem rychleji, nebot’ rychlost ˇs´ıˇren´ı r´ adiov´ ych vln je vyˇsˇs´ı neˇz rychlost zvuku. Tyto syst´emy maj´ı ale znaˇcn´ y potenci´ al, a v budoucnu by tak mohlo doj´ıt k jejich vˇetˇs´ımu rozˇs´ıˇren´ı. V praxi samozˇrejmˇe nemus´ı syst´emy striktnˇe dodrˇzovat rozdˇelen´ı do tˇechto skupin, naopak se velmi ˇcasto jednotliv´e principy kombinuj´ı. Jejich vhodn´ ym spojen´ım se totiˇz mohou eliminovat nev´ yhody, kter´e samy o sobˇe jednotliv´e principy maj´ı.
3.3.2
Softwarov´ e n´ astroje
Pˇri vytv´ aˇren´ı animac´ı s pouˇzit´ım MoCap technologi´ı se bˇeˇznˇe pouˇz´ıv´a nˇekolik softwarov´ ych n´ astroj˚ u. Tyto n´ astroje je moˇzn´e rozdˇelit do tˇr´ı z´akladn´ıch skupin: MoCap software - Jedn´ a se o n´ astroje, kter´e pracuj´ı pˇr´ımo s daty z´ıskan´ ymi z jednotliv´ ych senzor˚ u bˇehem sn´ım´ an´ı. Tyto n´ astroje se liˇs´ı v z´avislosti na konkr´etn´ım v´ yrobci a druhu senzor˚ u. Vˇsechny tyto n´ astroje maj´ı vˇsak spoleˇcn´ y u ´ˇcel a t´ım je zpracov´an´ı nasn´ıman´ ych dat a jejich pˇreveden´ı do form´at˚ u vhodn´ ych pro dalˇs´ı zpracov´an´ı, typicky c3d soubor˚ u. Tyto n´ astroje tak´e ˇcasto obsahuj´ı funkce, kter´e umoˇzn ˇuj´ı opravit nˇekter´e chyby, kter´e mohou vzniknout pˇri sn´ım´an´ı. Pˇr´ıkladem tˇechto n´astroj˚ u je program Vicon IQ od spoleˇcnosti Vicon[15] nebo Arena od spoleˇcnosti NaturalPoint[19]. Animaˇ cn´ı software - Tyto n´ astroje slouˇz´ı k dalˇs´ımu zpracov´an´ı nasn´ıman´ ych dat. Jejich vstupem vˇsak jiˇz nejsou pˇr´ımo data ze sn´ımac´ıch senzor˚ u, ale napˇr´ıklad c3d soubory, kter´e jsou v´ ystupem pr´ ace s MoCap softwarem. Tyto n´astroje poskytuj´ı rozs´ahl´e funkce pro zpracov´ an´ı a editaci pohybov´ ych dat a umoˇzn ˇuj´ı jejich n´asledn´e exportov´an´ı do cel´e ˇrady soubor˚ u. Zˇrejmˇe nejrozˇs´ıˇrenˇejˇs´ım programem z t´eto skupiny je program MotionBuilder od spoleˇcnosti Autodesk[17]. Modelaˇ cn´ı programy - Tyto n´ astroje umoˇzn ˇuj´ı vytv´aˇret a animovat jak samostatn´e 3D postavy, tak i cel´e virtu´ aln´ı sc´eny. Umoˇzn ˇuj´ı tak´e aplikovat pohybov´a data na jednotliv´e 3D postavy a exportovat fin´ aln´ı videa. Do t´eto skupina spad´a cel´a ˇrada program˚ u, typick´ ym pˇr´ıkladem je program 3DS Studio Max od spoleˇcnosti Autodesk[18] nebo Poser od spoleˇcnosti SmithMicro[16].
12
4
N´ avrh ˇ reˇ sen´ı
4.1
Pracovn´ı postup
K tomu, abych mohl splnit zad´ an´ı sv´e bakal´aˇrsk´e pr´ace, budu pˇri jej´ı realizaci muset proj´ıt n´ asleduj´ıc´ımi etapami: Analyzovat zadanou s´erii cvik˚ u. Vymyslet ide´ aln´ı rozm´ıstˇen´ı kamer a marker˚ u. Pˇripravit sc´enu pro nat´ aˇcen´ı. Nasn´ımat zadanou s´erii cvik˚ u. Analyzovat a vyˇcistit nasn´ıman´ a data. Zpracovat MoCap data v programu MotionBuilder. Importovat pohybov´ a data do programu Poser. Opravit pˇr´ıpadn´e chyby v animaci. Vyexportovat fin´ aln´ı videa.
V n´ asleduj´ıc´ıch odstavc´ıch se u kaˇzd´e z tˇechto f´az´ı zastav´ım a navrhnu pˇresn´ y postup, kter´ y umoˇzn´ı jejich splnˇen´ı, a z´ aroveˇ n se pokus´ım pˇredv´ıdat probl´emy, kter´e by se mohly pˇri jejich realizaci objevit. Vzhledem k tomu, ˇze tato pr´ace m´a v budoucnu slouˇzit jako pom˚ ucka pro pˇr´ıpadnou tvorbu dalˇs´ıch animac´ı, budou sekce 4.3 aˇz 4.11 ps´any formou tutori´alu, tedy v prvn´ı osobˇe mnoˇzn´eho ˇc´ısla - tato podoba je pro ˇcten´aˇre pˇrirozenˇejˇs´ı a umoˇzn´ı mu snazˇs´ı zorientov´ an´ı v cel´em procesu.
4.2
Pouˇ zit´ e n´ astroje
Konkr´etn´ı MoCap technologie, kterou ve sv´e pr´aci pouˇziji, bude syst´em Vicon[15], kter´ ym ˇ disponuje Institut interm´edi´ı na Fakultˇe elektrotechnick´e Cesk´eho vysok´eho uˇcen´ı technick´eho v Praze (d´ ale jen IIM). Jedn´ a se o optick´ y MoCap syst´em, kter´ y se skl´ad´a jak z hardwarov´ ych prostˇredk˚ u - jako jsou kamery a server - tak i softwarov´ ych n´astroj˚ u - program Vicon IQ - a pˇredstavuje tak komplexn´ı ˇreˇsen´ı od nasn´ım´an´ı cvik˚ u aˇz po zpracov´an´ı nasn´ıman´ ych dat. Syst´em Vicon, kter´ y je IIM dostupn´ y, je vˇsak jiˇz trochu starˇs´ı, a m´a tak hned nˇekolik omezen´ı, se kter´ ymi se bude nutn´e bˇehem pr´ace vyrovnat. Hlavn´ım probl´emem je poˇcet kamer, kter´e jsou zde pro sn´ım´an´ı pohyb˚ u dostupn´e. M´ame k dispozici pouze 6 kamer, pˇriˇcemˇz k tomu, aby byla data z jednoho markeru pouˇziteln´a, je nutn´e, aby jej najednou sn´ımaly alespoˇ n 3 kamery. Proto je vˇzdy nutn´e pˇrizp˚ usobit rozm´ıstˇen´ı marker˚ u i kamer konkr´etn´ım cvik˚ um, kter´e maj´ı b´ yt v danou chv´ıli sn´ım´any. Dalˇs´ım probl´emem je prostor, kter´ y je v IIM k dispozici. Vzhledem k omezen´e velikosti haly je nutn´e poˇc´ıtat s t´ım, ˇze plocha, kter´a vznikne rozestaven´ım kamer a ve kter´e bude
13
moˇzn´e sn´ımat cviky, nebude vˇetˇs´ı neˇz 2x2 metry. Tomu je tedy nutn´e pˇrizp˚ usobit jiˇz samotn´ y v´ ybˇer cvik˚ u. Vzhledem k tˇemto probl´em˚ um nen´ı u syst´emu Vicon, kter´ y je v IIM k dispozici, moˇzn´e nal´ezt univerz´ aln´ı rozm´ıstˇen´ı kamer a marker˚ u, kter´e by bylo vhodn´e pro sn´ım´ an´ı jak´ ychkoli pohyb˚ u. Pro kaˇzd´e sn´ım´an´ı je tedy nutn´e nal´ezt a otestovat rozm´ıstˇen´ı individu´ alnˇe, v z´ avislosti na pr´ avˇe sn´ıman´ ych pohybech. Dalˇs´ım probl´emem bude zpracov´ an´ı nasn´ıman´ ych dat a jejich pˇrenesen´ı na 3D postavu. Modelaˇcn´ım programem, kter´ y bude v t´eto pr´aci pouˇzit, je program Poser od spoleˇcnosti SmithMicro[16]. Ten ale nen´ı schopen pracovat pˇr´ımo s daty, kter´a z´ısk´ame ze syst´emu Vicon, a bude tedy nutn´e pouˇz´ıt dalˇs´ı program, kter´ y bude slouˇzit jako prostˇredn´ık mezi syst´emem Vicon a Poserem. T´ımto programem bude MotionBuilder od spoleˇcnosti Autodesk[17]. To znamen´ a, ˇze bˇehem pr´ ace mus´ı data proj´ıt tˇremi programy od tˇrech r˚ uzn´ ych v´ yrobc˚ u. Bude proto nutn´e nal´ezt v kaˇzd´em z tˇechto program˚ u takov´e nastaven´ı, aby bˇehem pˇrenosu mezi nimi nedoch´ azelo ke ztr´ at´ am informac´ı a znehodnocov´an´ı dat.
4.3
Analyzov´ an´ı zadan´ e s´ erie cvik˚ u
Analyzov´ an´ı pohyb˚ u, kter´e maj´ı b´ yt nasn´ım´any, je velmi d˚ uleˇzit´e, nebot’ jim pˇri nat´aˇcen´ı mus´ı b´ yt pˇrizp˚ usobeno jak rozm´ıstˇen´ı kamer ve sc´enˇe, tak i rozm´ıstˇen´ı marker˚ u na tˇele akt´era, tedy sn´ıman´eho subjektu. Proto je vˇzdy vhodn´e si ujasnit, co maj´ı dan´e pohyby vyjadˇrovat a jak´ y je jejich smysl. Pohyby, urˇcen´e pro tuto pr´ aci, pˇredstavuj´ı soubor speci´alnˇe c´ılen´ ych cvik˚ u pro procviˇcen´ı cel´e p´ ateˇre. Jsou vhodn´e pro uvolnˇen´ı zatuhl´ ych m´ıst, pro zahˇr´at´ı a zv´ yˇsen´ı pohyblivosti p´ ateˇrn´ıch sklouben´ı. Vˇsechny ˇc´ asti p´ ateˇre se procviˇcuj´ı zvl´aˇst’ ˇctyˇrmi z´akladn´ımi pohyby: pˇredklon, z´ aklon, u ´klon, otoˇcen´ı. Posledn´ım pohybem je kombinace klonu a rotace, tzv. ˇzd´ım´ an´ı. Soubor cvik˚ u je urˇcen pro pravideln´e denn´ı cviˇcen´ı. Po nˇem je moˇzn´e oˇcek´avat i u ´stup pˇr´ıpadn´ ych zdravotn´ıch probl´em˚ u a v´ yrazn´e zlepˇsen´ı hybnosti.
4.4
Rozm´ıstˇ en´ı kamer a marker˚ u
Jak rozm´ıstˇen´ı kamer ve sc´enˇe, tak i rozm´ıstˇen´ı marker˚ u na tˇele akt´era - tedy sn´ıman´eho subjektu - je nutn´e vˇzdy pˇrizp˚ usobit konkr´etn´ım cvik˚ um, kter´e se maj´ı v dan´ y ˇcas nat´aˇcet. To je zp˚ usobeno hlavnˇe jiˇz zm´ınˇen´ ym nedostatkem kamer, nebot’ se ˇsesti kamerami nen´ı moˇzn´e nal´ezt nˇejak´e univerz´ aln´ı rozm´ıstˇen´ı, kter´e by bylo vhodn´e pro sn´ım´an´ı jak´ ychkoli pohyb˚ u. U cvik˚ u, kter´e byly vybr´ any pro tuto pr´aci, je d˚ uraz kladen na zadn´ı ˇc´ast tˇela, hlavnˇe pak na p´ ateˇr a spr´ avn´e drˇzen´ı hlavy. Souˇc´ast´ı cvik˚ u jsou vˇsak i komplexnˇejˇs´ı pohyby, a proto bude nutn´e, aby byly kamery rozm´ıstˇeny kolem cel´e sc´eny. D˚ uleˇzit´e ale bude dostateˇcnˇe pokr´ yt sc´enu zezadu, nebot’ vzhledem k charakteru cvik˚ u je kl´ıˇcov´e spr´avn´e zachycen´ı p´ateˇre. Rozestaven´ı na obr´ azku 4.1 se tedy ukazuje jako ide´aln´ı, nebot’ sv´ ym rozestaven´ım pokr´ yv´a celou sc´enu, coˇz potˇrebujeme pro zachycen´ı komplexnˇejˇs´ıch pohyb˚ u. Z´aroveˇ n d´ıky tˇrem kamer´ am - um´ıstˇen´ ym bl´ızko sebe v zadn´ı ˇc´asti sc´eny - slibuje, ˇze markery na zadn´ı ˇc´asti akt´era budou viditeln´e v maxim´ aln´ı moˇzn´e m´ıˇre.
14
Obr´ azek 4.1: Zn´ azornˇen´ı rozestaven´ı kamer ve sc´enˇe. Rozm´ıstˇen´ı marker˚ u na tˇele akt´era tedy mus´ı respektovat jak charakter zadan´ ych cvik˚ u, tak i rozestaven´ı kamer ve sc´enˇe. V tomto pˇr´ıpadˇe je pozornost kamer soustˇredˇena na zadn´ı ˇc´ ast akt´era, na kterou je tak´e u jednotliv´ ych cvik˚ u kladen nejvˇetˇs´ı d˚ uraz. Markery tedy budou soustˇredˇeny tak, aby byly po maxim´ aln´ı moˇznou dobu viditeln´e tˇremi kamerami, um´ıstˇen´ ymi v zadn´ı ˇc´ asti sc´eny - budou tedy um´ıstˇeny pˇrev´aˇznˇe v zadn´ı ˇc´asti akt´era. Pro poˇcet marker˚ u obecnˇe plat´ı, ˇze kaˇzd´a nepohybliv´a ˇc´ast tˇela m´a alespoˇ n jeden marker - to pˇredstavuje minim´ alnˇe 12 marker˚ u: jeden na hlavu, tˇri na trup po jednom na kaˇzd´e pˇredlokt´ı, ruku, stehno a holeˇ n. To je ovˇsem opravdu jen nejz´akladnˇejˇs´ı moˇzn´e rozestaven´ı a pro naˇse u ´ˇcely je naprosto nedostateˇcn´e. Marker˚ u tedy budeme potˇrebovat v´ıce. Z´aroveˇ n je ale d˚ uleˇzit´e, abychom jich nepouˇzili zbyteˇcnˇe moc, protoˇze pˇr´ıliˇs velk´ y poˇcet marker˚ u podstatnˇe komplikuje post-processing. Je proto vˇzdy d˚ uleˇzit´e zv´aˇzit jejich poˇcet a pˇrizp˚ usobit ho sn´ıman´ ym pohyb˚ um a konkr´etn´ım ˇc´ astem tˇela podle toho, jak jsou pro zvolen´e pohyby d˚ uleˇzit´e. V naˇsem pˇr´ıpadˇe je pozice hlavy, stejnˇe jako jej´ı orientace, velmi d˚ uleˇzit´a, proto budou na hlavu um´ıstˇeny ˇctyˇri markery. To n´am zaruˇc´ı, ˇze i pˇri ztr´atˇe nˇekter´eho z nich budeme m´ıt dostatek dat pro jej´ı spr´ avn´e urˇcen´ı. Dalˇs´ı velmi d˚ uleˇzitou ˇc´ast´ı tˇela je pro n´as trup. Na samotnou p´ ateˇr bude um´ıstˇeno ˇsest marker˚ u, kter´e n´am umoˇzn´ı sledovat i drobn´e zmˇeny v jej´ı poloze. Dalˇs´ı dva markery budou um´ıstˇeny na hrudn´ık a bˇricho. To znamen´a, ˇze trup bude m´ıt celkem osm marker˚ u. I spr´avn´e pohyby rukou jsou pro zadan´e cviky velmi d˚ uleˇzit´e. Na kaˇzdou ruku pˇripadne jeden marker na rameno, dva na ruku, jeden na loket, jeden na pˇredlokt´ı a tˇri na dlaˇ n, coˇz n´ am umoˇzn´ı z´ıskat i informaci o jej´ı orientaci. To znamen´a, ˇze budeme m´ıt osm marker˚ u na kaˇzdou ruku. Pohyby nohou nejsou pro naˇse cviky tak z´asadn´ı, pˇresto i pro nˇe mus´ıme nˇekolik marker˚ u vyˇclenit. Pro kaˇzdou nohu pouˇzijeme jeden marker
15
na bok, jeden na stehno, jeden na koleno, jeden na holeˇ n a jeden na kotn´ık. T´ımto zp˚ usobem z´ısk´ ame z´ akladn´ı informace o poloze cel´e nohy. Na kaˇzdou nohu tedy pˇripadne 5 marker˚ u, to znamen´ a, ˇze celkem budeme na naˇseho akt´era potˇrebovat 38 marker˚ u. Konkr´etn´ı rozestaven´ı marker˚ u, kter´e pro naˇseho akt´era pouˇzijeme, je vidˇet na obr´azku 4.2.
Obr´ azek 4.2: Konkretn´ı rozestaven´ı marker˚ u, kter´e bude pˇri sn´ım´an´ı pouˇzito.
4.5
Pˇ r´ıprava sc´ eny pro nat´ aˇ cen´ı
Pˇri pˇr´ıpravˇe sc´eny k nat´ aˇcen´ı bude nutn´e nejprve rozestavit kamery - viz obr´azek 4.1. Po jejich rozestaven´ı bude nutn´e je propojit se serverem, nastavit a n´aslednˇe zkalibrovat. Podrobn´ y postup, jak tyto operace prov´est, je pops´an v bakal´aˇrsk´e pr´aci Jiˇr´ıho Posp´ıˇsila v kapitole 4 - Postup tvorby animace pomoc´ı syst´emu Vicon[1].
4.6
Nasn´ım´ an´ı zadan´ ych cvik˚ u
Samotn´e sn´ım´ an´ı bude prob´ıhat nˇekolik hodin. Kaˇzd´ y cvik bude nutn´e nasn´ımat nejm´enˇe tˇrikr´ at, aby se pˇredeˇslo n´ ahodn´ ym chyb´ am pˇri sn´ım´an´ı a bylo moˇzn´e vˇzdy vybrat ta nejucelenˇejˇs´ı data. Nav´ıc je pravdˇepodobn´e, ˇze bude nutn´e upravit pozice nˇekter´ ych marker˚ u, tak aby l´epe odpov´ıdaly skuteˇcn´emu rozestaven´ı kamer. K uchycen´ı marker˚ u na akt´era pouˇziji speci´aln´ı MoCap oblek, kter´ y umoˇzn ˇuje spolehlivˇejˇs´ı pˇrichycen´ı marker˚ u a z´ aroveˇ n nijak neomezuje akt´era v pohybu. S pouˇzit´ım tohoto obleku je moˇzn´e dos´ ahnou mnohem lepˇs´ıch v´ ysledk˚ u neˇz pˇri pˇrichycov´an´ı marker˚ u pˇr´ımo na tˇelo akt´era. Samotn´e nat´ aˇcen´ı prob´ıh´ a pˇres program Vicon IQ. Nasn´ıman´a data jsou ukl´ad´ana pˇr´ımo
16
v tomto programu, a nen´ı proto nutn´e jejich n´asledn´e pˇren´aˇsen´ı. Pˇri nat´ aˇcen´ı db´ ame na to, aby kaˇzd´ y cvik vˇzdy zaˇc´ınal a konˇcil v T-pozici, tedy v pozici, kdy jsou ruce rozpaˇzen´e a nohy u sebe - cel´a postava tedy tvoˇr´ı p´ısmeno T”. ”
Obr´ azek 4.3: Speci´ aln´ı MoCap oblek umoˇzn ˇuj´ıc´ı spolehliv´e uchycen´ı marker˚ u na akt´era. Pˇrevzato z [14].
4.7
Analyzov´ an´ı a ˇ ciˇ stˇ en´ı nasn´ıman´ ych dat
V t´eto ˇc´ asti budeme pracovat jiˇz jen v programu Vicon IQ. Zde jiˇz m´ame surov´a data z nat´ aˇcen´ı, kter´ a je nutn´e zpracovat. Je totiˇz tˇreba poˇc´ıtat s t´ım, ˇze pˇri nat´aˇcen´ı je prakticky nemoˇzn´e doc´ılit toho, aby byly vˇsechny markery viditeln´e po celou dobu sn´ım´an´ı. To znamen´ a, ˇze takov´e markery budou v nˇekter´ ych framech nedostupn´e, coˇz zp˚ usob´ı, ˇze nasn´ıman´a data budou na ˇcasov´e ose vypadat obdobnˇe jako na obr´azku 4.4, tedy ˇze nˇekter´a data nebudou spojit´ a v cel´e ˇcasov´e ose.
17
Obr´ azek 4.4: Vlivem zakr´ yv´ an´ı jednotliv´ ych marker˚ u pˇri sn´ıman´ı nejsou data v programu Vicon IQ spojit´ a po cel´e ˇcasov´e ose.
Nyn´ı tedy pˇrijde na ˇradu zpracov´ an´ı dat. Nejprve je ale nutn´e vytvoˇrit subject, ten bude reprezentovat jakousi naˇsi virtu´ aln´ı kostru. Vyzveme tedy akt´era, aby se postavil do T-pozice a ve Viconu IQ se pˇrepneme do sekce Subject”. Zkontrolujeme, ˇze vˇsechny markery ” jsou v danou chv´ıli viditeln´e, a stiskneme tlaˇc´ıtko Create Vicon Skeleton Template (VST)”. ” Pˇri vytv´ aˇren´ı subjectu je vhodn´e jednotliv´e markery pojmenovat a zmˇenit jejich defaultn´ı barvu, coˇz n´ am v budoucnu umoˇzn´ı lepˇs´ı orientaci pˇri jejich dalˇs´ım zpracov´an´ı. V t´eto pr´aci byla subjectu nastavena r˚ uzn´ a barva pro markery na prav´e a lev´e stranˇe postavy a rovnˇeˇz pro markery v jej´ı pˇredn´ı a zadn´ı ˇc´ asti. Vytvoˇren´ y subject uloˇz´ıme a m˚ uˇzeme pˇrej´ıt k samotn´emu zpracov´ an´ı nasn´ıman´ ych dat. V tuto chv´ıli jiˇz budeme moci zaˇc´ıt zpracov´avat jednotliv´e cviky. Nejprve si ze vˇsech verz´ı dan´eho cviku vybereme tu, kter´ a m´ a na ˇcasov´e ose nejm´enˇe pr´azdn´ ych m´ıst, tedy pr˚ ubˇehy jednotliv´ ych marker˚ u na ˇcasov´e ose budou maxim´alnˇe spojit´e. Abychom si mohli ˇcasovou osu prohl´ednout, je nutn´e, abychom nejprve dan´ y cvik zrekonstruovali. V seznamu nasn´ıman´ ych cvik˚ u si tedy vybereme ten, jehoˇz ˇcasovou osu chceme zobrazit, a klikneme na nˇej prav´ ym tlaˇc´ıtkem myˇsi, v zobrazen´e nab´ıdce najedeme na poloˇzku Open” a zvol´ıme Raw capture ” ” data”.
18
Obr´ azek 4.5: V seznamu nasn´ıman´ ych cvik˚ u si vybereme ten, jehoˇz ˇcasovou osu chceme zobrazit, a klikneme na nˇej prav´ ym tlaˇc´ıtkem myˇsi.
Po zpracov´ an´ı se Vicon IQ automaticky pˇrepne do ˇc´asti post-processingu, zde si otevˇreme ˇc´ ast Reconstruction” a v sekci Reconstruct” stiskneme tlaˇc´ıtko Run”. ” ” ”
Obr´ azek 4.6: V sekci Reconstruct” stiskneme tlaˇc´ıtko Run”. ” ” Pot´e, co rekonstrukce probˇehne, se n´ am zobraz´ı nasn´ıman´a data - tedy jednotliv´e markery,
19
v tuto chv´ıli si jiˇz m˚ uˇzeme cel´ y cvik pustit. Abychom si mohli prohl´ednout ˇcasovou osu, pˇrepneme se do sekce Continuity Chart”. Tyto kroky tedy budeme opakovat tak dlouho, ” dokud nevybereme nejˇcistˇs´ı verzi dan´eho cviku - tedy tu, kter´a m´a u jednotliv´ ych marker˚ u na ˇcasov´e ose nejv´ıce spojit´ y pr˚ ubˇeh.
Obr´ azek 4.7: Po skonˇcen´ı rekonstrukce se ve sc´enˇe zobraz´ı nasn´ıman´e markery.
Pokud jiˇz m´ ame vybranou nejlepˇs´ı verzi cviku, importujeme do sc´eny n´ami vytvoˇren´ y subject - v sekci Subject” stiskneme Import Vicon skeleton (VSK)” a vyhled´ame n´aˇs sub” ” ject. Ten se n´ aslednˇe zobraz´ı ve sc´enˇe. Nyn´ı najdeme T-pozici, tedy tu pozici, ve kter´e mˇel akt´er rozpaˇzen´e ruce a nohy u sebe, touto pozic´ı by mˇely zaˇc´ınat a konˇcit vˇsechny sn´ıman´e cviky. V T-pozici najdeme frame, na kter´em budou vidˇet vˇsechny markery, kter´e na sobˇe akt´er bˇehem nat´ aˇcen´ı mˇel. Kdyˇz takov´ y frame najdeme, stiskneme v ˇc´asti Events” tlaˇc´ıtko ” T”. Na ˇcasov´e ose se pak u tohoto framu zobraz´ı ikona T”. ” ”
20
Obr´ azek 4.8: Po importov´ an´ı se subject zobraz´ı ve sc´enˇe. Na ˇcasov´e ose ve spodn´ı ˇc´asti obrazovky si m˚ uˇzeme vˇsimnout oznaˇcen´e T-pozice.
Nyn´ı pˇrich´ az´ı na ˇradu labeling, tedy pojmenov´an´ı nasn´ıman´ ych marker˚ u. V pˇredchoz´ım kroku jsme do sc´eny naimportovali subject, ten obsahuje jiˇz pojmenovan´e markery, nyn´ı tedy ke kaˇzd´emu markeru z akt´era - ty jsou zat´ım b´ıl´e a nemaj´ı pˇriˇrazen´a jm´ena - pˇriˇrad´ıme odpov´ıdaj´ıc´ı marker ze subjectu. Pˇrepneme se do sekce Labeling”, v ˇc´asti Modes” zvol´ıme ” ” Seguence” a m˚ uˇzeme zaˇc´ıt. M´ od sequence n´am zaˇr´ıd´ı, ˇze jednotliv´e markery ze subjectu ” se n´ am budou postupnˇe nab´ızet samy, my tedy budeme pouze klikat na pˇr´ısluˇsn´e markery z akt´era. To, kter´ y marker m´ a b´ yt zrovna pˇriˇrazen, vid´ıme v prav´e spodn´ı ˇc´asti, jedn´a se vˇzdy o zv´ yraznˇen´ y marker. Zda pˇriˇrazen´ı markeru probˇehlo spr´avnˇe, pozn´ame i podle toho, ˇze marker z akt´era pˇrevezme barvu od markeru ze subjectu, proto je vhodn´e pˇri vytv´aˇren´ı subjectu barvy u jednotliv´ ych marker˚ u zmˇenit, aby nez˚ ustaly v defaultn´ım stavu, kter´ y by n´ am nyn´ı orientaci neulehˇcoval.
21
Obr´ azek 4.9: Pˇri labelingu postupnˇe pˇriˇrazujeme jednotliv´ ym marker˚ um ze sc´eny odpov´ıdaj´ıc´ı markery ze subjectu.
Pokud jsme jiˇz pojmenovali vˇsechny markery z akt´era, tedy ˇz´adn´ y z nich jiˇz nen´ı b´ıl´ y, m˚ uˇzeme se znovu pod´ıvat na ˇcasovou osu. Zde jiˇz m˚ uˇzeme vidˇet spr´avnˇe pojmenovan´e markery a jim pˇriˇrazen´ yu ´sek na ˇcasov´e ose - ovˇsem jen ˇc´ast, kter´a je spojit´a s framem, ve kter´em jsme prov´ adˇeli labeling. Pokud se posuneme dol˚ u, nalezneme zde jeˇstˇe nˇekolik b´ıl´ ych u ´sek˚ u - tyto u ´seky vznikly tak, ˇze marker byl v nˇekter´ ych framech nedostupn´ y, Verze Vicon IQ, kter´ a je v IIM k dispozici, nen´ı schopn´ a tyto u ´seky sama k nˇekter´emu z marker˚ u pˇriˇradit a ani n´ am s t´ım jakkoli pomoct. V tuto chv´ıli tedy zaˇc´ın´a proces ˇciˇstˇen´ı dat. Vr´at´ıme se do sekce Labeling” a zmˇen´ıme m´ od na Single”. Nyn´ı mus´ıme proj´ıt cel´ y pr˚ ubˇeh animace ” ” a kaˇzd´emu nepojmenovan´emu - tedy b´ıl´emu - markeru pˇriˇradit n´azev ze seznamu v prav´e spodn´ı ˇc´ asti. To, kter´e markery nejsou v dan´em framu pˇriˇrazeny, pozn´ame tak, ˇze v seznamu jsou zv´ yraznˇeny ˇsedou barvou.
22
Obr´ azek 4.10: Po ukonˇcen´ı labelingu nejsou jiˇz na ˇcasov´e ose vidˇet ˇz´adn´e nepˇriˇrazen´e u ´seky.
Kdyˇz dokonˇc´ıme labeling u vˇsech marker˚ u, tedy na ˇcasov´e ose jiˇz nejsou vidˇet ˇz´adn´e nepˇriˇrazen´e - b´ıl´e - u ´seky, pˇrejdeme do sekce Pipeline” a stiskneme tlaˇc´ıtko se symbolem ” fialov´e ˇsipky, kter´e pˇredstavuje Start”. ”
Obr´ azek 4.11: Stisknut´ım tlaˇc´ıtka se symbolem fialov´e ˇsipky spust´ıme pipelinu.
Pipelina provede hned nˇekolik u ´kon˚ u, mimo jin´e namapuje akt´era na subject, pokus´ı se
23
dopoˇc´ıtat chybˇej´ıc´ı u ´seky dat na ˇcasov´e ose a vyexportuje data do souboru c3d. Pot´e, co pipelina probˇehne, si m˚ uˇzeme prohl´ednout celou animaci. Je vidˇet, ˇze jednotliv´e markery jiˇz neblikaj´ı, nebot’ pipelina je v chybˇej´ıc´ıch u ´sec´ıch dopoˇc´ıtala. Pokud se pˇrepneme na ˇcasovou osu, tak uvid´ıme, ˇze u vˇsech marker˚ u je jiˇz spojit´ y pr˚ ubˇeh po celou dobu animace. V tuto chv´ıli konˇc´ı pr´ ace v programu Vicon IQ.
Obr´ azek 4.12: Po probˇehnut´ı pipeliny je jiˇz na ˇcasov´e ose u vˇsech marker˚ u spojit´ y pr˚ ubˇeh po celou dobu animace.
4.8
Zpracov´ an´ı MoCap dat v programu MotionBuilder
Jako v´ ystup pˇredchoz´ıho kroku z´ısk´ ame pro kaˇzd´ y nasn´ıman´ y cvik c3d soubor, kter´ y nese informace o jednotliv´ ych pohybech reprezentovan´ ych markery. Tyto soubory vˇsak nelze pˇr´ımo importovat na 3D postavu. Nejprve je nutn´e je d´ale zpracovat v programu, kter´ y tvoˇr´ı prostˇredn´ıka mezi Vicon syst´emem a Poserem. T´ımto programem je pr´avˇe MotionBuilder, kter´ y n´ am umoˇzn´ı c3d soubory pˇrev´est na bvh soubory, kter´e jiˇz p˚ ujdou pˇr´ımo aplikovat na konkr´etn´ı 3D postavy v Poseru. Aby vˇsak bylo moˇzn´e z´ıskat potˇrebn´e bvh soubory, bude nutn´e v MotionBuilderu prov´est hned nˇekolik u ´kon˚ u: Vyexportovat kostru z Poseru. Charakterizovat kostru z Poseru v MotionBuilderu. Zpracovat data z c3d souboru a propojit je s actorem. Propojit actora s charakterizovanou kostrou. Vyexportovat fin´ aln´ı bvh soubor.
24
Pˇri pr´ aci v MotionBuilderu bude tˇreba pˇrekonat nˇekolik probl´em˚ u. Bude tˇreba nal´ezt takov´e nastaven´ı jednotliv´ ych parametr˚ u, aby vyexportovan´a data byla v Poseru pouˇziteln´a, avˇsak vzhledem k tomu, ˇze se jedn´ a o programy od r˚ uzn´ ych v´ yrobc˚ u, nen´ı tato kompatibilita zaruˇcena. V n´ asleduj´ıc´ıch odstavc´ıch se budu vˇenovat postupu, kter´ y bude tˇreba u kaˇzd´eho ze zm´ınˇen´ ych u ´kon˚ u prov´est, a z´ aroveˇ n se pokus´ım nal´ezt pro nˇej ide´aln´ı moˇzn´e nastaven´ı.
4.8.1
Vyexportov´ an´ı kostry z Poseru
Aby bylo moˇzn´e pohybov´ a data v bvh souboru z MotionBuilderu do Poseru naimportovat, je nutn´e, aby mˇela spr´ avnou formu, tedy takovou, kter´e bude Poser rozumˇet. Proto si nejprve potˇrebujeme z Poseru vyexportovat kostru, se kterou budeme moci n´aslednˇe pracovat v MotionBuilderu. Tak zaruˇc´ıme, ˇze z nˇej exportovan´a data budou m´ıt spr´avnou formu a pˇri jejich n´ asledn´e aplikaci na 3D postavu v Poseru by se nemˇely vyskytnout ˇz´adn´e probl´emy. Nejprve si otevˇreme program Poser. V nˇem si otevˇreme 3D postavu, na kterou chceme v budoucnu data aplikovat. Pokud ji nem´ame pˇripravenou, je moˇzn´e pouˇz´ıt nˇekterou pˇredpˇripravenou postavu z knihovny. Nyn´ı otevˇreme nab´ıdku Figure”, otevˇreme moˇznost Use ” ” Inverse Kinematics” a zruˇs´ıme zaˇskrtnut´ı u vˇsech poloˇzek. Inverzn´ı kinematiku samozˇrejmˇe v budoucnu pouˇz´ıvat budeme, ale vzhledem k tomu, ˇze s vyexportovanou kostrou budeme pracovat v MotionBuilderu, kter´ y rovnˇeˇz inverzn´ı kinematiku pouˇz´ıv´a, je lepˇs´ı ji u t´eto kostry nem´ıt a pˇredej´ıt tak moˇzn´ ym probl´em˚ um. Nyn´ı otevˇreme nab´ıdku Window” a spust´ıme Join Editor”. Otevˇre se nov´e okno. Myˇs´ı ” ” oznaˇc´ıme p´ anev u naˇseho modelu - tedy hip - a stiskneme Zero Rotations”. T´ım dojde ” k vyrovn´ an´ı postavy. V tuto chv´ıli je jiˇz postava, pˇresnˇeji jej´ı kostra, pˇripravena k vyexportov´an´ı. Otevˇreme tedy nab´ıdku File” a v sekci Export” zvol´ıme moˇznost BVH motion...”. Otevˇre se nab´ıdka, ” ” ” ve kter´e zvol´ıme moˇznost Scale automatically” a stiskneme tlaˇc´ıtko OK”. Pot´e zvol´ıme ” ” n´ azev a m´ısto uloˇzen´ı souboru. T´ımto krokem prozat´ım pr´ace v Poseru konˇc´ı.
4.8.2
Charakterizace kostry z Poseru v MotionBuilderu
Jedn´ a se o velmi d˚ uleˇzit´ y bod. V tomto m´ıstˇe se prakticky definuje rozhran´ı, prostˇrednictv´ım kter´eho bude MotionBuilder s Poserem komunikovat. Charakter totiˇz pˇredstavuje jakousi virtu´ aln´ı kostru MotionBuilderu. Kostra z Poseru je naopak prostˇredn´ık, s jehoˇz pomoc´ı z´ıskaj´ı data takovou podobu, aby s nimi mohl Poser pracovat. Obˇe tyto kostry pˇritom nejsou identick´e a pˇri charakterizov´ an´ı urˇc´ıme, jak se maj´ı jejich rozd´ıly pˇreklenout. Zaˇcneme t´ım, ˇze si otevˇreme MotionBuilder. V nab´ıdce File” zvol´ıme moˇznost Motion ” ” File Import” a vyhled´ ame soubor, kter´ y obsahuje kostru vyexportovanou z Poseru. Import lze samozˇrejmˇe vyvolat i jin´ ym zp˚ usobem, napˇr´ıklad kdyˇz v oknˇe Asset Browser” otevˇreme ” sekci Asset Browser”, pot´e v lev´e ˇc´ asti okna, kter´a obsahuje seznam adres´aˇr˚ u, klikneme ” prav´ ym tlaˇc´ıtkem myˇsi a zvol´ıme moˇznost Add favorite path”. Pot´e vyhled´ame adres´aˇr, ” v nˇemˇz je dan´ y soubor uloˇzen. Nyn´ı zde jiˇz bude nastaven´ y adres´aˇr dostupn´ y i pˇri dalˇs´ım spuˇstˇen´ı MotionBuilderu. Pokud nyn´ı v seznamu klikneme na n´ami pˇridan´ y adres´aˇr, zobraz´ı
25
se jeho obsah v prav´e ˇc´ asti okna. Konkr´etn´ı soubor importujeme tak, ˇze jej pˇret´ahneme do okna Viewer” a zvol´ıme moˇznost BVH Import”. ” ” Po importov´ an´ı souboru, kter´ y obsahuje kostru z Poseru, se n´am v oknˇe Viewer” tato ” kostra zobraz´ı.
Obr´ azek 4.13: Po importov´ an´ı souboru, kter´ y obsahuje kostru z Poseru, se n´am tato kostra zobraz´ı v oknˇe Viewer”. ” Nyn´ı m˚ uˇzeme kostru charakterizovat. To provedeme tak, ˇze v oknˇe Asset Browser” v sekci ” Asset Browser” najdeme v seznamu adres´aˇr Temptales” a n´aslednˇe Characters” a klikneme ” ” ” na nˇej lev´ ym tlaˇc´ıtkem myˇsi. V prav´e ˇc´ asti okna najdeme poloˇzku Character”, tu pˇret´ahneme ” do okna Viewer” na p´ anev - tedy hip - importovan´e kostry a stiskneme Characterize”. Otevˇre ” ” se upozornˇen´ı, kter´e n´ as informuje o chybˇe, nebot’ vzhledem k odliˇsn´e jmenn´e konvenci nebyly nalezeny nˇekter´e povinn´e uzly. Stiskneme tedy tlaˇc´ıtko Ok”, zobraz´ı se seznam nenalezen´ ych ” uzl˚ u, kter´ y uzavˇreme stisknut´ım tlaˇc´ıtka Close”. ” V tuto chv´ıli je tedy nutn´e ruˇcnˇe nastavit parametry k charakterizov´an´ı. V oknˇe Na” vigator”, v sekci Navigator” rozbal´ıme poloˇzku Characters” a dvakr´at klikneme na n´aˇs ” ” charakter. Kdyˇz se nyn´ı pˇrepneme do ˇc´ asti character definition”, tak uvid´ıme seznam vˇsech ” poloˇzek, kter´e charakter obsahuje. K jednotliv´ ym poloˇzk´am je tedy nutn´e pˇriˇradit odpov´ıdaj´ıc´ı ˇc´ asti kostry z Poseru. Nutn´e je pˇriˇradit alespoˇ n poloˇzky z kategorie Base (required)”, ale ” je vhodn´e pˇriˇradit co moˇzn´ a nejv´ıce poloˇzek a pˇredej´ıt tak moˇzn´ ym probl´em˚ um pˇri pˇrenosu dat z MotionBuilderu do Poseru - jako je napˇr´ıklad nefunkˇcnost nˇekter´ ych kloub˚ u. Konkr´etn´ı nastaven´ı charakterizace se m˚ uˇze mˇenit v z´avislosti na charakteru nasn´ıman´ ych dat. Pro data, kter´ a vzeˇsla ze sn´ım´ an´ı pro tuto pr´aci, je ide´aln´ı nastaven´ı na obr´azku 4.14.
26
Obr´ azek 4.14: Konkr´etn´ı nastaven´ı charakterizace kostry, kter´e bylo pouˇzito v t´eto pr´aci.
27
Pot´e, co dokonˇc´ıme nastaven´ı charakterizace, zaˇskrtneme pol´ıˇcko Characterize”, zobraz´ı ” se nab´ıdka, ve kter´e stiskneme tlaˇc´ıtko Biped”, protoˇze pracujeme s lidskou postavou, a t´ım ” dokonˇc´ıme proces charakterizov´ an´ı. V tuto chv´ıli uloˇz´ıme n´aˇs projekt v MotionBuilderu a aplikaci ukonˇc´ıme. 4.8.3
Zpracov´ an´ı dat z c3d souboru a jejich propojen´ı s actorem
V tomto kroku jiˇz budeme pracovat s daty, kter´a jsme z´ıskali z aplikace Vicon IQ. Nejprve tedy spust´ıme MotionBuilder a importujeme c3d soubor, kter´ y chceme zpracovat. Import souboru m˚ uˇzeme opˇet prov´est bud’ pˇres nab´ıdku File”, nebo pˇres favorite path v oknˇe ” Asset Browser”. Po importov´ an´ı souboru se v oknˇe Viewer” objev´ı skupina znaˇcek, kter´a ” ” pˇredstavuje markery ze sn´ıman´eho akt´era.
Obr´ azek 4.15: Po importov´ an´ı c3d souboru vid´ıme v oknˇe Viewer” skupinu znaˇcek, kter´a ” reprezentuje markery z akt´era. Nyn´ı vytvoˇr´ıme rigidn´ı tˇelesa. Pokud jsme pˇri nat´aˇcen´ı pro nˇejakou ˇc´ast postavy pouˇzili v´ıce marker˚ u, je vhodn´e tyto markery spojit do rigidn´ıho tˇelesa. V praxi pˇri vytvoˇren´ı rigidn´ıho tˇelesa vznikne nov´ a znaˇcka, jej´ıˇz pozice je d´ana interpolac´ı vˇsech znaˇcek tvoˇr´ıc´ıch toto rigidn´ı tˇeleso. Takov´ a znaˇcka je nav´ıc schopna poskytnou i informace o sv´e orientaci a dok´ aˇze tak´e odstranit nˇekter´e chyby, kter´e se mohly u p˚ uvodn´ıch znaˇcek vyskytovat - jako je napˇr´ıklad tˇres nˇekter´e znaˇcky. Rigidn´ı tˇeleso vytvoˇr´ıme tak, ˇze si v oknˇe Navigator” rozklikneme poloˇzku Opticals” a ” ” dvakr´ at klikneme na C3D:optical”, pot´e se pˇrepneme do z´aloˇzky Rigid Bodies”. Nyn´ı v oknˇe ” ” Viewer” oznaˇc´ıme znaˇcky, ze kter´ ych chceme vytvoˇrit rigidn´ı tˇeleso, a opˇet se vr´at´ıme do ” okna Navigator”, kde stiskneme tlaˇc´ıtko Add” - t´ım se rigidn´ı tˇeleso vytvoˇr´ı, uprav´ıme tedy ” ”
28
jeho n´ azev a zaˇskrtneme pol´ıˇcko Done”. ” Typick´ ym pˇr´ıkladem rigidn´ıho tˇelesa je hlava, ovˇsem m˚ uˇzeme jich m´ıt mnohem v´ıce. Rigidn´ı tˇelesa, kter´ a byla v t´eto pr´ aci pouˇzita, jsou vidˇet na obr´azku 4.16.
Obr´ azek 4.16: Skupina znaˇcek s vytvoˇren´ ymi rigidn´ımi tˇelesy.
Pokud jsme jiˇz vytvoˇrili vˇsechna rigidn´ı tˇelesa, je ˇcas pˇridat do sc´eny actora. Actor v MotionBuilderu pˇredstavuje postavu, kter´ a bude po propojen´ı se skupinou znaˇcek schopna pˇrevz´ıt jej´ı pohyby. Prostˇrednictv´ım actora tedy propoj´ıme data z Vicon IQ, kter´a reprezentuje skupina znaˇcek, s MotionBuilderem, kter´ y je zastoupen actorem. Toho n´aslednˇe propoj´ıme s charakterizovanou kostrou a t´ım s Poserem - zde je vidˇet funkce MotionBuilderu, kter´ y n´ am pr´ avˇe ono propojen´ı Vicon IQ a Poseru umoˇzn´ı. Actora pˇrid´ ame do sc´eny tak, ˇze v oknˇe Asset Browser” v sekci Asset Browser” najdeme ” ” v seznamu adres´ aˇr Temptales” a n´ aslednˇe Characters” a klikneme na nˇej lev´ ym tlaˇc´ıtkem ” ” myˇsi. V prav´e ˇc´ asti okna najdeme poloˇzku Actor” a pˇret´ahneme ji do okna Viewer”. Nyn´ı ” ” jiˇz m˚ uˇzeme vidˇet actora pˇr´ımo v naˇs´ı sc´enˇe.
29
Obr´ azek 4.17: V oknˇe Viewer”m˚ uˇzeme vidˇet actora spolu se skupinou znaˇcek. ” Jak m˚ uˇzeme vidˇet, postaven´ı actora neodpov´ıd´a skupinˇe znaˇcek, coˇz je nutn´e napravit. Nyn´ı tedy uprav´ıme actora a skupinu znaˇcek tak, aby si navz´ajem odpov´ıdali. Nejprve posuneme skupinu znaˇcek k actorovi - k tomu, abychom mohli h´ ybat se vˇsemi znaˇckami najednou, pouˇzijeme kouli, kter´ a se u nich nach´az´ı. Jej´ım prostˇrednictv´ım m˚ uˇzeme mˇenit jak jejich pozici, tak i rotaci. Pokud jsou znaˇcky spr´avnˇe um´ıstˇeny, zaˇcneme upravovat actora. Budeme mˇenit jeho velikost, postaven´ı, sklon rukou a dalˇs´ı parametry tak, aby co moˇzn´a nejv´ıce odpov´ıdali jednotliv´ ym znaˇck´ am. Pokud jsme s postaven´ım actora spokojeni, zaˇcneme k nˇemu pˇriˇrazovat jednotliv´e znaˇcky. V oknˇe Navigator” si rozklikneme poloˇzku Actors” a dvakr´at klikneme na naˇseho actora. ” ” V sekci Actor settings” stiskneme tlaˇc´ıtko MarkerSet...” a zvol´ıme moˇznost Create”. Nyn´ı ” ” ” se n´ am u actora v oknˇe Navigator” zobrazily bubliny, kter´e n´am umoˇzn´ı k dan´ ym ˇc´astem ” actora pˇriˇradit konkr´etn´ı znaˇcky. Toto pˇriˇrazen´ı provedeme tak, ˇze si v seznamu rozklikneme poloˇzku Scene” a n´ aslednˇe C3D:optical”, odtud pˇret´ahneme pˇr´ısluˇsnou znaˇcku nebo rigidn´ı ” ” tˇeleso do konkr´etn´ı bubliny. Zaˇcneme t´ım, ˇze pˇret´ahneme vˇsechna rigidn´ı tˇelesa, u kaˇzd´eho z nich nav´ıc zaˇskrtneme pol´ıˇcko Oriented”, pot´e pˇret´ahneme i ostatn´ı znaˇcky, u nich vˇsak ” nech´ ame pol´ıˇcko Oriented” nezaˇskrtnut´e. T´ımto zp˚ usobem tedy jednotliv´ ym ˇc´astem actora ” pˇriˇrad´ıme vˇsechny odpov´ıdaj´ıc´ı znaˇcky, nebot’ do jedn´e bubliny je moˇzn´e vloˇzit aˇz 5 znaˇcek. V pˇr´ıpadˇe, ˇze by tento poˇcet nestaˇcil a do nˇekter´e bubliny bychom potˇrebovali vloˇzit v´ıce znaˇcek, bude nutn´e bud’ nˇekter´e znaˇcky vynechat, nebo je spojit do rigidn´ıho tˇelesa. Kdyˇz dokonˇc´ıme pˇriˇrazov´ an´ı znaˇcek, stiskneme tlaˇc´ıtko Snap”, objev´ı se nab´ıdka, ve ” kter´e stiskneme tlaˇc´ıtko TR”. V tuto chv´ıli se postaven´ı actora pˇrizp˚ usob´ı znaˇck´am a spojen´ı ” je vytvoˇreno. Pokud nyn´ı spust´ıme animaci, tak vid´ıme, ˇze actor kop´ıruje pohyby znaˇcek. Nyn´ı tedy projekt v MotionBuilderu uloˇz´ıme a aplikaci ukonˇc´ıme.
30
Obr´ azek 4.18: Actor propojen´ y se skupinou znaˇcek jiˇz kop´ıruje jej´ı pohyby.
4.8.4
Propojen´ı actora s charakterizovanou kostrou
V tomto kroku dovrˇs´ıme propojen´ı Viconu IQ a Poseru prostˇrednictv´ım MotionBuilderu a to d´ıky tomu, ˇze propoj´ıme actora, kter´ y nyn´ı v MotionBuilderu reprezentuje nasn´ıman´a data z Vicon IQ, s charakterizovanou kostrou, kter´a reprezentuje Poser. Nejprve v MotionBuilderu otevˇreme soubor, kter´ y obsahuje skupinu znaˇcek propojenou s actorem. Zde v nab´ıdce File” zvol´ıme moˇznost Merge...” a vyhled´ame soubor, kter´ y ob” ” sahuje charakterizovanou kostru z Poseru. Nab´ıdku, kter´a se objev´ı, potvrd´ıme stisknut´ım tlaˇc´ıtka Merge”. ” V tuto chv´ıli jiˇz vid´ıme ve sc´enˇe jak actora, tak i charakterizovanou kostru. Rozd´ıl v jejich velikostech nehraje ˇz´ adnou roli, a nen´ı proto nutn´e je d´ale upravovat. Nyn´ı tedy m˚ uˇzeme actora s kostrou propojit. V oknˇe Navigator” si rozklikneme poloˇzku Characters” a dvakr´at ” ” klikneme na n´ aˇs charakter. Pˇrepneme se na z´aloˇzku Character settings” a rozbal´ıme moˇznost ” Actor” a n´ aslednˇe Damping”, damping pak nastav´ıme na maximum, tedy 100. Nastaven´ı ” ” dampingu sice nen´ı povinn´e, ale pokud bychom jej nechali na v´ ychoz´ı hodnotˇe, pak by se nˇekter´e ˇc´ asti kostry mohly pˇri pohybu tˇr´ast, coˇz by ve v´ ysledn´e animaci nep˚ usobilo dobr´ ym dojmem. Nyn´ı pˇrejdeme do okna Character Controls”. V nab´ıdce Edit” najedeme na poloˇzku ” ” Input” a zvol´ıme moˇznost Actor” - t´ım ˇrekneme, ˇze kostra pˇrevezme pohyby od actora. ” ” D´ ale je nutn´e zaˇskrtnout v sekci Active” moˇznost Actor Input”, t´ım se spojen´ı aktivuje, ” ” a pokud nyn´ı spust´ıme animaci, tak vid´ıme, ˇze kostra jiˇz kop´ıruje pohyby actora. Pohyby vˇsak jeˇstˇe nemus´ı b´ yt zcela identick´e, nav´ıc kostra umoˇzn ˇuje prov´est i takov´e pohyby, kter´e
31
by norm´ aln´ı lidsk´ a kostra neumoˇznila, nebot’ nem´a definov´any ˇz´adn´e limity. Abychom tyto probl´emy odstranili, je nutn´e prov´est jeˇstˇe nˇekolik u ´kon˚ u. Rozbal´ıme tedy poloˇzku Edit” a zvol´ıme moˇznost Plot Character”, v nab´ıdce, kter´a ” ” se otevˇre, stiskneme tlaˇc´ıtko Control Rig” a n´aslednˇe FK/IK”. T´ım na kostru aplikujeme ” ” inverzn´ı kinematiku, tedy omez´ıme jej´ı pohyby pouze na takov´e, kter´ ych by byla schopna kostra lidsk´ a. Otevˇre se nab´ıdka s detailn´ım nastaven´ım, kterou potvrd´ıme stisknut´ım tlaˇc´ıtka Plot”. Nyn´ı opˇet v nab´ıdce Edit” zvol´ıme moˇznost Plot Character”, tentokr´at ovˇsem ” ” ” stiskneme tlaˇc´ıtko Skeleton” a nab´ıdku, kter´a se otevˇre, opˇet potvrd´ıme stisknut´ım tlaˇc´ıtka ” Plot”. Pokud spust´ıme animaci nyn´ı, je vidˇet, ˇze kostra jiˇz pˇresnˇe kop´ıruje pohyby actora, ” nav´ıc jiˇz neumoˇzn´ı prov´est pohyby, kter´ ych by norm´aln´ı ˇclovˇek nebyl schopen. V tuto chv´ıli uloˇz´ıme projekt v MotionBuilderu a m˚ uˇzeme aplikaci ukonˇcit.
Obr´ azek 4.19: Rozd´ıl ve velikostech actora a charakterizovan´e kostry nehraje ˇz´adnou roli.
4.8.5
Vyexportov´ an´ı fin´ aln´ıho bvh souboru
Aby bylo moˇzn´e aplikovat pohyby na 3D postavu v Poseru je nutn´e, abychom z MotionBuilderu vyexportovali bvh soubor, se kter´ ym um´ı Poser pracovat. Nyn´ı tedy v MotionBuilderu otevˇreme soubor, ve kter´em je actor propojen´ y s charakterizovanou kostrou. V oknˇe Navigator” rozbal´ıme poloˇzku Scene” a n´aslednˇe BVH:reference”. Klikneme ” ” ” prav´ ym tlaˇc´ıtkem myˇsi na poloˇzku BVH:hip” a zvol´ıme moˇznost Select Branches”, v tuto ” ” chv´ıli se n´ am ve sc´enˇe oznaˇc´ı cel´ a kostra, a m˚ uˇzeme tak jej´ı pohyby vyexportovat. V nab´ıdce File” zvol´ıme moˇznost Motion File Export...”, n´aslednˇe nastav´ıme n´azev ” ” souboru spolu s m´ıstem uloˇzen´ı a stiskneme tlaˇc´ıtko Uloˇzit”. Otevˇre se n´am nab´ıdka, ve ” kter´e m´ ame moˇznost zvolit konkr´etn´ı pohyby pro exportov´an´ı. Zruˇs´ıme zaˇskrtnut´ı u ˇr´adku
32
All Takes” a zaˇskrtneme pouze n´ ami vytvoˇren´ y pohyb, typicky je to ten s defaultn´ım n´azvem ” Take 001”. Nyn´ı stiskneme tlaˇc´ıtko Export” a bvh soubor je hotov. V tuto chv´ıli pro n´as ” ” konˇc´ı pr´ ace v aplikaci MotionBuilder.
4.9
Importov´ an´ı pohybov´ ych dat do programu Poser
V´ ystupem pr´ ace s aplikac´ı MotionBuilder je bvh soubor, kter´ y nese informaci o nasn´ıman´ ych pohybech. Vzhledem k tomu, ˇze aplikace Poser dok´aˇze bvh soubory zpracovat, m˚ uˇzeme nyn´ı tento soubor do Poseru importovat a aplikovat tak pohyby na konkr´etn´ı 3D postavu. Spust´ıme aplikaci Poser a otevˇreme 3D postavu, na kterou chceme pohyby aplikovat - pokud ji nem´ ame pˇripravenou, je moˇzn´e pouˇz´ıt nˇekterou pˇredpˇripravenou postavu z knihovny. V nab´ıdce File” najedeme na poloˇzku Import” a zvol´ıme moˇznost BVH motion...”, vy” ” ” hled´ ame poˇzadovan´ y soubor a stiskneme tlaˇc´ıtko Otevˇr´ıt”. Otevˇre se nab´ıdka s detailn´ım ” nastaven´ım importu, kterou potvrd´ıme stisknut´ım tlaˇc´ıtka OK”. Pokud nyn´ı spust´ıme ani” maci, bude jiˇz 3D postava pˇresnˇe kop´ırovat pohyby, kter´e pˇri dan´em sn´ım´an´ı pˇredv´adˇel akt´er.
Obr´ azek 4.20: Po importov´ an´ı bvh souboru jiˇz 3D postava pˇresnˇe kop´ıruje pohyby akt´era.
Vid´ıme ovˇsem, ˇze 3D postava se po importov´an´ı bvh souboru posunula nad povrch sc´eny a vzn´ aˇs´ı se volnˇe ve vzduchu. Pokud chceme tuto skuteˇcnost zmˇenit a vr´atit postavu zpˇet na podlahu, m˚ uˇzeme k tomu pouˇz´ıt pˇredpˇripraven´ y script, kter´ y Poser nab´ız´ı. V nab´ıdce Scripts” najedeme na poloˇzku Utility” a zvol´ıme moˇznost dropFigToFloorAllFrames”, ob” ” ” jev´ı se upozornˇen´ı, kter´e potvrd´ıme stisknut´ım tlaˇc´ıtka OK”. Pokud nyn´ı znovu pust´ıme ” animaci, bude jiˇz postava po cel´e jej´ı d´elce st´at na podlaze.
33
4.10
Opraven´ı pˇ r´ıpadn´ ych chyb v animaci
V tuto chv´ıli jiˇz m´ ame v Poseru rozpohybovanou 3D postavu a z´akladn´ı pr´ace s touto aplikac´ı je tedy ukonˇcena. Velmi ˇcasto se vˇsak st´ av´a, ˇze pokud si celou animaci d˚ ukladnˇe prohl´edneme, tak nalezneme ˇradu drobn´ ych chyb a nepˇresnost´ı - jako napˇr´ıklad pr˚ uchod ruky nˇekterou ˇc´ ast´ı tˇela nebo nepˇresn´e postaven´ı chodidla. Tyto nepˇresnosti jsou d´any r˚ uznou velikost´ı dan´e ˇc´ asti tˇela u akt´era, actora a 3D postavy, a je proto velmi obt´ıˇzn´e jim pˇredej´ıt. Poser n´ am vˇsak umoˇzn ˇuje tyto nepˇresnosti velmi snadno upravit. Pokud naimportujeme do poseru bvh soubor, pak je cel´a v´ ysledn´a animace tvoˇrena s´eri´ı kl´ıˇcov´ ych sn´ımk˚ u, tedy kaˇzd´ a ˇc´ ast tˇela m´a v kaˇzdou chv´ıli definov´any sv´e parametry. Abychom o tˇechto sn´ımc´ıch z´ıskali lepˇs´ı pˇrehled, m˚ uˇzeme si zobrazit okno pro editaci kl´ıˇcov´ ych sn´ımk˚ u - to otevˇreme stisknut´ım tlaˇc´ıtka se symbolem kl´ıˇce, kter´e se nach´az´ı v prav´e spodn´ı ˇc´ asti obrazovky. V tomto oknˇe vid´ıme vˇsechny kl´ıˇcov´e sn´ımky pro jednotliv´e ˇc´asti 3D postavy. To, ˇze je dan´ y sn´ımek kl´ıˇcov´ y, pozn´ame tak, ˇze m´a svˇetle zelenou barvu. M˚ uˇzeme si tedy oznaˇcit sn´ımek u t´e ˇc´ asti tˇela, kterou chceme upravit, a konkr´etn´ı parametry m˚ uˇzeme jednoduˇse zmˇenit. Zmˇenu jednotliv´ ych parametr˚ u u kl´ıˇcov´ ych sn´ımk˚ u m˚ uˇzeme prov´est nˇekolika zp˚ usoby. M˚ uˇzeme danou ˇc´ ast upravit pˇr´ımo na 3D postavˇe v z´aloˇzce Preview” nebo m˚ uˇzeme pouˇz´ıt ” modifik´ atory v prav´e ˇc´ asti obrazovky v z´ aloˇzce Parameters”. Pokud bychom chtˇeli mˇenit v´ıce ” sn´ımk˚ u najednou nebo bychom hodnoty jednotliv´ ych parametr˚ u chtˇeli upravovat v kontextu s hodnotami u vedlejˇs´ıch kl´ıˇcov´ ych sn´ımk˚ u, pak si m˚ uˇzeme zobrazit graf, kter´ y zn´azorˇ nuje hodnotu dan´eho parametru po celou dobu animace. Tento graf je moˇzn´e zobrazit tak, ˇze v oknˇe pro editaci kl´ıˇcov´ ych sn´ımk˚ u stiskneme tlaˇc´ıtko se symbolem ˇcerven´e vlnovky, kter´e se nach´ az´ı nad seznamem kl´ıˇcov´ ych sn´ımk˚ u. V grafu m´ame moˇznost upravovat hodnoty parametru u jednoho nebo i nˇekolika kl´ıˇcov´ ych sn´ımk˚ u najednou.
34
Obr´ azek 4.21: Aplikace Poser n´ am nab´ız´ı hned nˇekolik n´astroj˚ u pro editaci animace.
U rozs´ ahlejˇs´ıch u ´prav m´ ame rovnˇeˇz moˇznost si nastavit parametry ve dvou libovoln´ ych kl´ıˇcov´ ych sn´ımc´ıch a ostatn´ı sn´ımky, kter´e se nach´azej´ı mezi nimi, odstranit a nahradit je sinusov´ ym, line´ arn´ım nebo konstantn´ım pr˚ ubˇehem. Tuto u ´pravu prov´ad´ıme opˇet v oknˇe pro editaci kl´ıˇcov´ ych sn´ımk˚ u a to tak, ˇze po nastaven´ı krajn´ıch kl´ıˇcov´ ych sn´ımk˚ u si oznaˇc´ıme sn´ımky mezi nimi a smaˇzeme je stisknut´ım kl´avesy Delete”. Pr˚ ubˇeh, kter´ y m´a smazan´e ” sn´ımky nahradit, si vybereme stisknut´ım dan´eho tlaˇc´ıtka nad seznamem kl´ıˇcov´ ych sn´ımk˚ u. D´ıky popsan´ ym n´ astroj˚ um, kter´e pro editaci animace Poser nab´ız´ı, m˚ uˇzeme naˇsi animaci upravit do takov´e podoby, kter´ a bude pˇresnˇe odpov´ıdat naˇsim pˇredstav´am.
4.11
Vyexportov´ an´ı fin´ aln´ıho videa
Po proveden´ı vˇsech pˇredch´ azej´ıc´ıch krok˚ u bychom jiˇz nyn´ı mˇeli m´ıt kompletn´ı animaci, kterou st´ aˇc´ı pouze vyexportovat. D´ıky tomu, ˇze sama aplikace Poser podporuje export animace do nˇekolika r˚ uzn´ ych form´ at˚ u, nebudeme pro tento u ´ˇcel potˇrebovat ˇz´adn´ y extern´ı n´astroj. V aplikaci Poser otevˇreme nab´ıdku Animation” a zvol´ıme moˇznost Make Movie...”. Ote” ” vˇre se okno, ve kter´em m´ ame moˇznost nastavit jednotliv´e parametry pro export. Konkr´etn´ı parametry budeme volit podle toho, k jak´emu u ´ˇcelu chceme budouc´ı video pouˇz´ıt. Nastaven´ı, kter´e bylo pouˇzito pˇri exportu vide´ı pro tuto pr´aci, je vidˇet na obr´azku 4.22.
35
Obr´ azek 4.22: Nastaven´ı, kter´e bylo pouˇzito pˇri exportu vide´ı pro tuto pr´aci.
Kdyˇz jsme jiˇz nastavili vˇsechny potˇrebn´e parametry pro export, m˚ uˇzeme stisknout tlaˇc´ıtko Make Movie”. Nyn´ı se zobraz´ı okno, ve kter´em nastav´ıme n´azev souboru spolu s jeho ” um´ıstˇen´ım a stiskneme tlaˇc´ıtko Uloˇzit”. D´ale se v z´avislosti na vybran´em form´atu videa ” zobraz´ı nab´ıdka, kde m´ ame moˇznost nastavit zp˚ usob, jak´ ym budou jednotliv´e sn´ımky komprimov´ any. Vybereme poˇzadovan´ y zp˚ usob a potvrd´ıme jej stisknut´ım tlaˇc´ıtka OK”. ” Vyexportov´ an´ım fin´ aln´ıho videa je pr´ace na dan´em cviku ukonˇcena. Nyn´ı bude tˇreba opakovat vˇsechny uveden´e kroky i pro ostatn´ı cviky.
36
5
Realizace
5.1
Pr˚ ubˇ eh realizace
Bˇehem samotn´e realizace jsem se drˇzel postupu, kter´ y je pops´an v kapitole 4 na stranˇe 13. V pr˚ ubˇehu pr´ ace se vˇsak objevila ˇrada probl´em˚ u, kter´e bylo nutn´e ˇreˇsit. Pro vˇetˇs´ı pˇrehlednost rozdˇel´ım cel´ y pr˚ ubˇeh realizace do ˇctyˇr ˇc´ ast´ı. U kaˇzd´e ˇc´asti bude tak´e uvedena pˇribliˇzn´a ˇcasov´a n´ aroˇcnost, aby bylo moˇzn´e vytvoˇrit si lepˇs´ı pˇredstavu o jej´ı n´aroˇcnosti: Sn´ım´ an´ı jednotliv´ ych cvik˚ u. Zpracov´ an´ı dat v programu Vicon IQ. Zpracov´ an´ı dat v programu MotionBuilder. Zpracov´ an´ı dat v programu Poser.
5.2
Sn´ım´ an´ı jednotliv´ ych cvik˚ u
ˇ Casov´ a n´ aroˇcnost: 6 hodin. Pˇri sn´ım´ an´ı se objevilo nˇekolik probl´em˚ u. Jednalo se vˇsak pˇrev´aˇznˇe o probl´emy, kter´e byly dopˇredu zn´ amy, jako nedostateˇcn´ y prostor a n´ızk´ y poˇcet kamer, kter´e jsou pro sn´ım´an´ı k dispozici. D´ıky tomu, ˇze se o tˇechto probl´emech vˇedˇelo, byl jim pˇrizp˚ usoben jiˇz samotn´ y v´ ybˇer cvik˚ u tak, aby byly jejich n´ asledky co moˇzn´a nejmenˇs´ı. Pˇresto se vˇsak nepodaˇrilo je zcela odstranit. Prvn´ım probl´emem je prostor, kter´ y je v IIM k dispozici. Jak je vidˇet na obr´azku 4.1, prostor, kter´ y vznikne po koneˇcn´em rozestaven´ı vˇsech kamer a ve kter´em se akt´er pˇri nat´aˇcen´ı m˚ uˇze pohybovat, je omezen pomyslnou krychl´ı, jej´ıˇz hrana nen´ı vˇetˇs´ı neˇz 2 metry. Proto nen´ı moˇzn´e nasn´ımat pohyby, kter´e by tento rozsah pˇresahovaly.
37
Obr´ azek 5.1: Zn´ azornˇen´ı prostoru, ve kter´em se akt´er pˇri nat´aˇcen´ı m˚ uˇze pohybovat - ide´aln´ı prostor pro sn´ım´ an´ı je reprezentov´ an ˇcerven´ ymi krychlemi.
Dalˇs´ım probl´emem je poˇcet kamer, kter´ y je v IIM pro sn´ım´an´ı k dispozici. Pˇri ˇsesti kamer´ ach doch´ az´ı velmi ˇcasto k zakr´ yv´ an´ı jednotliv´ ych marker˚ u a cviky je tak nutn´e nat´aˇcet opakovanˇe a um´ıstˇen´ı dan´ ych marker˚ u konkr´etn´ım cvik˚ um pˇrizp˚ usobovat. Pro kaˇzd´ y cvik se tedy rozestaven´ı marker˚ u drobnˇe liˇsilo, u jednotliv´ ych marker˚ u vˇsak ˇslo vˇzdy jen o jednotky centimetr˚ u a jak je vidˇet na obr´ azku 5.2, tak jejich celkov´e rozm´ıstˇen´ı respektovalo n´avrh, kter´ y je zn´ azornˇen na obr´ azku 4.2 v kapitole 4.4 na stranˇe 14.
Obr´ azek 5.2: Skuteˇcn´e rozestaven´ı marker˚ u, kter´e bylo pˇri sn´ım´an´ı pouˇzito.
38
5.3
Zpracov´ an´ı dat v programu Vicon IQ
ˇ Casov´ a n´ aroˇcnost: 21 hodin. Bˇehem t´eto f´ aze se nevyskytl ˇz´ adn´ y v´ yrazn´ y syst´emov´ y probl´em, avˇsak vzhledem k pomˇernˇe ˇcast´emu zakr´ yv´ an´ı jednotliv´ ych marker˚ u pˇri sn´ım´an´ı, je proces zpracov´an´ı a hlavnˇe ˇciˇstˇen´ı nasn´ıman´ ych dat ˇcasovˇe n´ aroˇcn´ y. Nav´ıc se jedn´a o velmi monot´onn´ı pr´aci, a tak vˇsechny drobn´e probl´emy, kter´e se v t´eto f´azi vyskytly, byly zp˚ usobeny pˇrev´aˇznˇe lidsk´ ym faktorem.
5.4
Zpracov´ an´ı dat v programu MotionBuilder
ˇ Casov´ a n´ aroˇcnost: 15 hodin. Vzhledem k tomu, ˇze MotionBuilder pˇredstavuje prostˇredn´ıka mezi programem Vicon IQ a Poserem, je tato f´ aze velmi d˚ uleˇzit´a. Pr´avˇe konkr´etn´ı nastaven´ı charakterizace kostry spolu s namapov´ an´ım marker˚ u na actora umoˇzn ˇuje pˇrenesen´ı nasn´ıman´ ych pohyb˚ u na 3D postavu. V t´eto f´ azi se vˇsak projevil fakt, ˇze nasn´ıman´a data mus´ı proj´ıt programy od tˇrech r˚ uzn´ ych v´ yrobc˚ u. Tyto programy jsou sice form´alnˇe kompatibiln´ı a to d´ıky ˇsirok´e ˇsk´ale soubor˚ u, se kter´ ymi jsou schopny pracovat, prakticky v nich ale existuj´ı mnoh´e rozd´ıly, kter´e pˇren´ aˇsen´ a data znehodnocuj´ı. Z´ asadn´ı rozd´ıl je pˇredevˇs´ım mezi kostrou, se kterou pracuje program Poser, a kostrou, se kterou pracuje MotionBuilder. Kostra, kterou pouˇz´ıv´a program Poser (viz. obr´ azek5.3), m´ a odliˇsnou jmennou konvenci a liˇs´ı se i ve sv´e stavbˇe od kostry, se kterou pracuje MotionBuilder. Tyto rozd´ıly m´ame moˇznost pˇreklenout jej´ım charakterizov´ an´ım, avˇsak pouze do urˇcit´e m´ıry. Zvolen´e nastaven´ı charakterizace, kter´e je vidˇet na obr´ azku 4.14 na stranˇe 27, se snaˇz´ı tyto rozd´ıly maxim´alnˇe eliminovat, i tak vˇsak doch´ az´ı ke ztr´ atˇe nˇekter´ ych informac´ı a t´ım i ke sn´ıˇzen´ı pˇresnosti budouc´ıch pohyb˚ u u 3D postavy.
39
Obr´ azek 5.3: Rozd´ıly mezi kostrou z MotionBuilderu a kostrou z Poseru zp˚ usobuj´ı ztr´atu nˇekter´ ych informaci.
Typick´ y pˇr´ıklad ztr´ aty informac´ı, ke kter´ ym doch´az´ı pˇri pˇrenesen´ı pohyb˚ u z actora na charakterizovanou kostru, je vidˇet u cviku horn´ı hrudn´ık z´aklon (viz. pˇr´ıloha). U tohoto cviku si m˚ uˇzeme v MotionBuilderu vˇsimnout, ˇze actor pˇri zakl´anˇen´ı pohybuje i hrudn´ıkem, tento pohyb se vˇsak po pˇrenesen´ı pohyb˚ u na charakterizovanou kostru ztr´ac´ı a 3D postava jiˇz hrudn´ıkem nepohybuje, coˇz ve v´ ysledku sniˇzuje realistiˇcnost cel´eho cviku na videu. Tento rozd´ıl se m˚ uˇze jevit jako nepodstatn´ y, ovˇsem vzhledem k tomu, ˇze videa maj´ı slouˇzit pro studijn´ı u ´ˇcely, jsou pr´ avˇe tyto detaily velmi d˚ uleˇzit´e.
5.5
Zpracov´ an´ı dat v programu Poser
ˇ Casov´ a n´ aroˇcnost: 120 hodin. Po aplikaci zpracovan´ ych pohyb˚ u na 3D postavu v Poseru se projevilo mnoho chyb, kter´e vznikly jiˇz v MotionBuilderu, ale na samotn´e kostˇre nebyly patrn´e. Obecnˇe vznikaj´ı po importov´ an´ı pohyb˚ u na 3D postavu v modelaˇcn´ım programu nˇekter´e bˇeˇzn´e chyby, kter´e je moˇzn´e vidˇet na obr´ azku 5.4. Tyto chyby vznikaj´ı pˇrev´aˇznˇe r˚ uznou velikost´ı nˇekter´ ych ˇc´ast´ı tˇela u akt´era a 3D postavy nebo nepˇresnost´ı sn´ım´an´ı a jejich oprava nen´ı nijak sloˇzit´a.
40
Obr´ azek 5.4: Bˇeˇzn´e chyby, kter´e vznikaj´ı po importov´an´ı pohyb˚ u na 3D postavu v modelaˇcn´ım programu. V tomto pˇr´ıpadˇe se vˇsak projevily i dalˇs´ı chyby, kter´e je moˇzn´e vidˇet na obr´azku 5.5 a kter´e se jiˇz za bˇeˇzn´e oznaˇcit nedaj´ı. Tyto chyby zˇrejmˇe vznikly nespr´avnou interpretac´ı dat v MotionBuilderu, konkr´etnˇe bˇehem pˇrenosu pohyb˚ u z actora na charakterizovanou kostru z Poseru a jsou tedy pravdˇepodobnˇe zp˚ usobeny ˇc´asteˇcnou nekompatibilitou mezi tˇemito dvˇema programy.
Obr´ azek 5.5: Tyto chyby vznikly jiˇz v MotionBuilderu bˇehem pˇrenosu pohyb˚ u z actora na charakterizovanou kostru z Poseru. To, ˇze chyby na obr´ azku 5.5 nejsou v ˇz´adn´em pˇr´ıpadˇe n´ahodn´e a ˇze musely vzniknout ˇc´ asteˇcnou nekompatibilitou mezi MotionBuilderem a zvolen´ ym modelaˇcn´ım programem, tedy Poserem, je patrn´e z jejich charakteru a z toho, jak je moˇzn´e je odstranit. Cel´ y probl´em je velmi dobˇre vidˇet u hlavy a krku. Prakticky ve vˇsech cvic´ıch, ve kter´ ych doch´az´ı k pohybu hlavy, je u 3D postavy vidˇet, ˇze postaven´ı krku a hlavy je nepˇrirozen´e. Aby bylo moˇzn´e pochopit pˇr´ıˇcinu tˇechto chyb je nutn´e nejprve ˇr´ıct, jak v˚ ubec v Poseru koneˇcn´e postaven´ı hlavy v˚ uˇci trupu vznik´ a. Program Poser m´a pro kaˇzdou ˇc´ast tˇela nˇekolik parametr˚ u, kter´e ovlivˇ nuj´ı jej´ı postaven´ı. Typick´ ymi parametry, kter´e jsou dostupn´e t´emˇeˇr pro kaˇzdou ˇc´ast tˇela, jsou twist (ovlivˇ nuje natoˇcen´ı dan´e ˇc´ asti tˇela), side-side (ovlivˇ nuje naklonˇen´ı dan´e ˇc´asti tˇela do stran) a bend (ovlivˇ nuje naklonˇen´ı dan´e ˇc´asti tˇela dopˇredu a dozadu). Tyto parametry jsou ud´ av´ any ve stupn´ıch. Jednotliv´e ˇc´ asti tˇela se nav´ıc navz´ajem ovlivˇ nuj´ı a doch´az´ı tak u nich ke sˇc´ıt´ an´ı tˇechto parametr˚ u. Konkr´etnˇe u hlavy je jej´ı postaven´ı ovlivnˇen´e tak´e postaven´ım
41
krku - doch´ az´ı tedy ke sˇc´ıt´ an´ı hodnot jednotliv´ ych parametr˚ u u krku a hlavy a tento souˇcet urˇc´ı v´ ysledn´e postaven´ı hlavy v˚ uˇci trupu 3D postavy. Pˇri bliˇzˇs´ım pohledu na chyby, kter´e se v postaven´ı hlavy a krku u 3D postavy v nasn´ıman´ ych cvic´ıch vyskytuj´ı, je patrn´e, ˇze Poser pracuje se spr´avn´ ym souˇctem jednotliv´ ych parametr˚ u u hlavy a krku, nebot’ v´ ysledn´e postaven´ı hlavy v˚ uˇci trupu je spr´avn´e. Doch´az´ı vˇsak k chybn´emu rozdˇelen´ı tohoto souˇctu mezi jednotliv´e ˇc´asti tˇela, v tomto pˇr´ıpadˇe hlavy a krku. Na obr´ azc´ıch 5.6 a 5.7 jsou vidˇet konkr´etn´ı pˇriklady.
Obr´ azek 5.6: V lev´e ˇc´ asti obr´ azku je vidˇet chybn´e rozdˇelen´ı hodnot parametru bend mezi krk a hlavu. V prav´e ˇc´ asti obr´ azku je vidˇet identick´ y sn´ımek po jejich ruˇcn´ım upraven´ı. Vlevo na obr´ azku 5.6 je vidˇet nepˇrirozen´e postaven´ı hlavy a krku, kter´e vzniklo t´ım, ˇze parametr bend u krku m´ a hodnotu 55◦ a u hlavy -18◦ , souˇcet tˇechto dvou hodnot je tedy 37◦ . V prav´e ˇc´ asti obr´ azku je vidˇet stejn´ y sn´ımek pot´e, co byl tento souˇcet rovnomˇernˇe rozdˇelen mezi krk a hlavu, obˇema byl tedy ruˇcnˇe nastaven parametr bend na 18◦ . Je vidˇet, ˇze postaven´ı hlavy a krku jiˇz vypad´ a pˇrirozenˇe, nav´ıc je zachov´ano i p˚ uvodn´ı postaven´ı hlavy v˚ uˇci trupu.
Obr´ azek 5.7: V lev´e ˇc´ asti obr´ azku je vidˇet chybn´e rozdˇelen´ı hodnot parametru side-side mezi krk a hlavu. V prav´e ˇc´ asti obr´ azku je vidˇet identick´ y sn´ımek po jejich ruˇcn´ım upraven´ı.
42
Obdobn´ a situace je vidˇet i na obr´ azku 5.7. V lev´e ˇc´asti obr´azku je opˇet nepˇrirozen´e postaven´ı hlavy a krku, tentokr´ at je ovˇsem zp˚ usobeno parametrem side-side, kter´ y m´a u krku hodnotu 46◦ a u hlavy 0◦ , souˇcet tˇechto dvou hodnot je tedy 46◦ . V prav´e ˇc´asti obr´ azku byl ve stejn´em sn´ımku tento souˇcet ruˇcnˇe rozdˇelen mezi krk a hlavu, obˇema tedy byla nastavena hodnota parametru side-side na 23◦ . Je opˇet vidˇet, ˇze nepˇrirozen´e postaven´ı hlavy a krku bylo opraveno pˇri zachov´ an´ı stejn´eho postaven´ı hlavy v˚ uˇci trupu.
Obr´ azek 5.8: V lev´e ˇc´ asti obr´ azku je vidˇet chybn´e rozdˇelen´ı parametru twist mezi jednotliv´e ˇc´ asti trupu. V prav´e ˇc´ asti obr´ azku je vidˇet identick´ y sn´ımek po jejich ruˇcn´ım nastaven´ı.
Obdobn´ a situace jako u hlavy a krku se opakuje i u trupu, jak je vidˇet na obr´azku 5.8. V tomto pˇr´ıpadˇe je vˇsak situace trochu sloˇzitˇejˇs´ı, nebot’ trup se skl´ad´a ze tˇr´ı ˇc´ast´ı a to pasu, bˇricha a hrudi. Tentokr´ at je tedy nutn´e pracovat u jednotliv´ ych parametr˚ u se tˇremi hodnotami. V lev´e ˇc´ asti obr´ azku je parametr twist u jednotliv´ ych ˇc´ast´ı trupu nastaven na hodnoty -41◦ ; 10◦ a 10◦ , celkov´ y souˇcet je tedy -21◦ . V prav´e ˇc´asti obr´azku byly hodnoty parametru twist ruˇcnˇe zmˇenˇeny na -7◦ ; -7◦ a -7◦ - je vidˇet, ˇze celkov´e postaven´ı trupu z˚ ustalo zachov´ ano a bylo odstranˇeno nepˇrirozen´e nakroucen´ı ve spodn´ı ˇc´asti trupu. Vˇsechny tyto chyby tedy vznikaj´ı jiˇz v MotionBuilderu pˇri pˇrenesen´ı pohyb˚ u z actora na charakterizovanou kostru z Poseru, ovˇsem projev´ı se aˇz na konkr´etn´ı 3D postavˇe pˇr´ımo v Poseru. Vzhledem k tomu, ˇze MotionBuilder i Poser jsou uzavˇren´e programy, u nichˇz v´ yrobci neumoˇzn ˇuj´ı nahl´ednou do zdrojov´ ych k´ od˚ u ani neuv´adˇej´ı bliˇzˇs´ı informace o jejich vnitˇrn´ım chov´ an´ı, tak nen´ı moˇzn´e odhalit pˇr´ıˇcinu vzniku uveden´ ych chyb. Je vˇsak patrn´e, ˇze tyto chyby vznikaj´ı pouze pˇri spojen´ı MotionBuilderu s Poserem, nebot’ jak je vidˇet na obr´azku 5.9, v jin´ ych modelaˇcn´ıch programech se tyto chyby nevyskytuj´ı a jejich p˚ uvod tedy nen´ı moˇzn´e hledat v nasn´ıman´ ych datech. Na obr´azku 5.9 je vidˇet porovn´an´ı identick´eho sn´ımku v programu Poser v lev´e ˇc´ asti a v programu 3DS Studio Max od spoleˇcnosti Autodesk[18] v prav´e ˇc´ asti obr´ azku. Je vidˇet, ˇze nepˇrirozen´e zlomen´ı hrudn´ıku, kter´e se objevuje v programu Poser, se v programu 3DS Studio Max nevyskytuje.
43
Obr´ azek 5.9: Porovn´ an´ı identick´eho sn´ımku v programu Poser v lev´e ˇc´asti obr´azku a programu 3DS Studio Max v prav´e ˇc´ asti obr´azku.
Na obr´ azku 5.10 je vidˇet, ˇze stejn´eho v´ ysledku jako v modelaˇcn´ım programu 3DS Studio Max, je moˇzn´e dos´ ahnout i v programu Poser. Je vˇsak nutn´e ruˇcnˇe zmˇenit u jednotliv´ ych ˇc´ ast´ı trupu hodnoty parametru side-side z p˚ uvodn´ıch 34◦ ; -12◦ a -12◦ , s celkov´ ym souˇctem 10◦ , na hodnoty 3◦ ; 3◦ a 3◦ . Pr´ avˇe t´ımto ruˇcn´ım z´asahem vˇsak ztr´ac´ıme hlavn´ı v´ yhodu cel´eho MoCapu a tou je vytvoˇren´ı re´ aln´ ych animac´ı bez ruˇcn´ıho z´asahu anim´atora. Tyto u ´pravy jsou nav´ıc ˇcasovˇe velmi n´ aroˇcn´e, nebot’ je nutn´e je prov´est v kaˇzd´em kl´ıˇcov´em sn´ımku samostatnˇe.
Obr´ azek 5.10: V lev´e ˇc´ asti obr´ azku je vidˇet chybn´e rozdˇelen´ı parametru side-side mezi jednotliv´e ˇc´ asti trupu. V prav´e ˇc´ asti obr´ azku je vidˇet identick´ y sn´ımek po jejich ruˇcn´ım upraven´ı.
44
6 6.1
Zhodnocen´ı Stanoven´ı krit´ eri´ı
Aby bylo moˇzn´e v´ ysledky t´eto pr´ ace zhodnotit, je tˇreba nejprve stanovit krit´eria, podle kter´ ych budou posl´eze hodnoceny. Avˇsak aby bylo budouc´ı hodnocen´ı zcela objektivn´ı, bylo by tˇreba stanovit mˇeˇritelnou a pˇresnˇe definovanou metriku, podle kter´e by se n´aslednˇe jednotliv´ a krit´eria vyhodnocovala. To by vˇsak jiˇz pˇresahovalo r´amec t´eto bakal´aˇrsk´e pr´ace, a proto zde budu konkr´etn´ı krit´eria pouˇz´ıvat pouze ve zjednoduˇsen´e podobˇe, kter´a bude u kaˇzd´eho krit´eria bl´ıˇze upˇresnˇena. Vzhledem k tomu, ˇze postup nastaven´ y v t´eto pr´aci m´a v budoucnu slouˇzit pro efektivn´ı ´ tvorbu vide´ı v r´ amci UTVS, je nutn´e, aby splˇ noval n´asleduj´ıc´ı krit´eria: Jednoduchost - Postup by mˇel b´ yt natolik jednoduch´ y, aby cel´ y proces tvorby vide´ı zvl´adl i ˇclovˇek, kter´ y nen´ı profesion´ aln´ım anim´atorem. ˇ Pˇ rimˇ eˇ ren´ aˇ casov´ a n´ aroˇ cnost - Casov´ a n´aroˇcnost dan´eho postupu pro tvorbu vide´ı by nemˇela b´ yt v´ yraznˇe vˇetˇs´ı, neˇz je tomu u alternativn´ıch metod animace. Pˇ resnost - Pohyby, kter´e bude ve v´ ysledn´em videu 3D postava pˇredv´adˇet, by mˇely pˇresnˇe odpov´ıdat tˇem, kter´e pˇredv´ adˇel akt´er bˇehem sn´ım´an´ı. Univerz´ alnost - Dan´ ym postupem by mˇelo b´ yt moˇzn´e zpracovat co moˇzn´a nejˇsirˇs´ı ˇsk´alu pohyb˚ u.
6.2
Splnˇ en´ı krit´ eri´ı
V tuto chv´ıli je tˇreba zhodnotit, jak postup nastaven´ y v t´eto pr´aci splˇ nuje krit´eria stanoven´a v sekci 6.1: Jednoduchost - Cel´ y proces sn´ım´ an´ı a n´asledn´eho zpracov´an´ı dat v MotionBuilderu je zde pops´ an velmi podrobnˇe a k jeho zvl´adnut´ı nejsou tˇreba ˇz´adn´e dalˇs´ı znalosti. Probl´em je vˇsak s 3D postavou v modelaˇcn´ım programu, tedy v Poseru. Po aplikaci pohyb˚ u na 3D postavu se projev´ı velk´e mnoˇzstv´ı chyb, kter´e je nutn´e ruˇcnˇe upravovat a k tomu jsou nutn´e alespoˇ n z´ akladn´ı znalosti a zkuˇsenosti z oblasti tvorby animac´ı. Tento bod je tedy splnˇen pouze ˇc´ asteˇcnˇe. Pˇ rimˇ eˇ ren´ aˇ casov´ a n´ aroˇ cnost - Tento bod rozhodnˇe splnˇen nen´ı, nebot’ nasn´ım´an´ı, ˇciˇstˇen´ı a n´ asledn´e zpracov´ an´ı dat jsou ˇcasovˇe pomˇernˇe n´aroˇcn´e u ´kony. Nav´ıc velk´e mnoˇzstv´ı ˇcasu je nutn´e i na opraven´ı chyb vznikl´ ych pˇri aplikaci pohyb˚ u na 3D postavu v Poseru. Celkovˇe je tedy ˇcasov´ a n´ aroˇcnost tohoto postupu mnohem vˇetˇs´ı, neˇz u ruˇcn´ı v´ yroby animace, tedy bez pouˇzit´ı MoCapu. Pˇ resnost - Tento bod je rozhodnˇe splnˇen. Pˇresnost a realistiˇcnost v´ ysledn´ ych vide´ı jsou hlavn´ımi v´ yhodami MoCapu v porovn´an´ı s jejich ruˇcn´ım animov´an´ım. Bˇehem zpracov´ an´ı dat sice doch´ az´ı k ˇc´ asteˇcn´ ym ztr´at´am informac´ı, i tak jsou vˇsak dosaˇzen´e v´ ysledky lepˇs´ı neˇz u samotn´eho ruˇcn´ıho animov´an´ı.
45
Univerz´ alnost - V tomto bodˇe se projevuj´ı omezen´ı syst´emu Vicon, kter´ y je k dispozici v IIM. Vzhledem k n´ızk´emu poˇctu kamer doch´az´ı bˇehem sn´ım´an´ı k ˇcast´emu zakr´ yv´ an´ı jednotliv´ ych marker˚ u, a je proto nutn´e tomuto faktu pˇrizp˚ usobit i samotn´ y v´ ybˇer pohyb˚ u, kter´e maj´ı b´ yt sn´ım´ any. Tento bod je tedy splnˇen pouze ˇc´asteˇcnˇe.
6.3
Celkov´ e hodnocen´ı
Jak je patrn´e z pˇredch´ azej´ıc´ı sekce, postup tvorby vide´ı nastaven´ y v t´eto pr´aci splˇ nuje dan´a krit´eria pouze ˇc´ asteˇcnˇe. Jedin´ ym zcela splnˇen´ ym krit´eriem je poˇzadavek na pˇresnost, poˇzadavky na jednoduchost a univerz´ alnost jsou splnˇeny ˇc´asteˇcnˇe a poˇzadavek na pˇrimˇeˇrenou ˇcasovou n´ aroˇcnost v porovn´ an´ı s ostatn´ımi animaˇcn´ımi metodami nen´ı splnˇen v˚ ubec. Nejslabˇs´ım m´ıstem popsan´eho postupu je zvolen´ y modelaˇcn´ı program, tedy Poser. Vzhledem k ˇc´ asteˇcn´e nekompatibilitˇe mezi MotionBuilderem a Poserem doch´az´ı k chybn´e interpretaci nˇekter´ ych dat a vzniku velk´eho mnoˇzstv´ı chyb, kter´e je nutn´e v Poseru ruˇcnˇe opravovat. Tento postup je tedy funkˇcn´ı, nicm´enˇe vzhledem k v´ yˇse uveden´ ym probl´em˚ um je nutn´e jeho pouˇzit´ı vˇzdy zv´ aˇzit a to v z´ avislosti na konkr´etn´ı situaci. Do budoucna je pak vhodn´e uvaˇzovat o zmˇenˇe modelaˇcn´ıho programu, coˇz by mˇelo velk´e mnoˇzstv´ı v´ yˇse uveden´ ych nedostatk˚ u zm´ırnit nebo zcela odstranit.
46
7
Z´ avˇ er
Z obsahu t´eto pr´ ace je patrn´e, ˇze pouˇzit´ı MoCap technologie pro v´ yrobu animac´ı m´a celou ˇradu v´ yhod, ale tak´e nˇekolik u ´skal´ı, kv˚ uli kter´ ym je jej´ı pouˇzit´ı nutn´e vˇzdy zv´aˇzit. Konkr´etn´ı postup tvorby vide´ı, kter´ y je v t´eto pr´aci nastaven, je funkˇcn´ı, avˇsak obsahuje mnoho probl´em˚ u, se kter´ ymi je nutn´e poˇc´ıtat. Do budoucna je pak vhodn´e uvaˇzovat o zmˇenˇe modelaˇcn´ıho programu, kter´ y je zde pouˇz´ıv´ an, a kter´ y svou ˇc´asteˇcnou nekompatibilitou s ostatn´ımi pouˇz´ıvan´ ymi programy zp˚ usobuje mnoho chyb, jejichˇz oprava cel´ y postup komplikuje a neu ´mˇernˇe prodluˇzuje.
47
Reference ˇ [1] POSP´ISIL, Jiˇr´ı. Aplikace syst´emu pro sn´ım´an´ı pohybu ve fyzioterapii. Praha, 2010. 53 ˇ s. Bakal´ aˇrsk´ a pr´ ace. CVUT v Praze, Fakulta elektrotechnick´a. [2] FURNISS, 1999
[cit.
Maureen.
Motion
2011-05-07].
capture.
Dostupn´e
MIT z
communications
WWW:
forum
[online].
forum/papers/furniss.html>. [3] DICKSON, Lee. Motion Capture Uses. Meta Motion [online]. [2008] [cit. 2011-0507]. Dostupn´e z WWW:
. [4] Http://www.cpcc.edu [online]. [2010] [cit. 2011-05-07]. Laboratories/Studios. Dostupn´e z WWW: . [5] THOMSON, Scott. Motion Capture History. Motion Capture Resources [online]. [2010] [cit. 2011-05-07]. Dostupn´e z WWW: [6] JENKINS , Ward . The Polar Express: A Virtual Train Wreck [online]. 12.18.2004 [cit. 2011-05-07]. Dostupn´e z WWW: . [7] ANT, The. A Motion Capture Assistant of InnerEsteem Motion capture Studios. Advantages Disadvantages and Applications of Motion Capture [online]. 2007 [cit. 2011-05-07]. Dostupn´e z WWW: [8] WELCH, Greg; FOXLIN, Eric. IEEE Computer Graphics and Applications. 2002. Motion tracking: No silver bullet, but a respectible arsenal, s. 24-38. Dostupn´e z WWW: . [9] KITAGAWA, Midori; WINDSOR, Brian. MoCap for Artists: Workflow and Techniques for Motion Capture. UK : Elsevier Inc., 2008. 194 s. ISBN 978-0-240-81000-3. [10] Gypsy6 - Motion Capture System. Virtual Realities, Inc. [2010] [cit. 2011-05-07]. Dostupn´e z WWW: . [11] ROLLI, Giacono; PENA, Pablo Sande; FERNANDEZ, David Rodr´ıguez; WERNER, Lucas Ezequiel. S.A.B.I.A. [online]. 2010 [cit. 2011-05-07]. Dostupn´e z WWW: . [12] ORMAN, Mathew. High Definition Motion Capture. Motion4U by Touch´e Technologies LLC [online]. 2009 [cit. 2011-05-07]. Dostupn´e z WWW: . [13] Xsens MVN - Inertial Motion Capture. Xsens. 2011. Dostupn´e z WWW: .
48
[14] OptiTrack Motion Capture Suit. NaturalPoint, Inc. 2011. Dostupn´e z WWW: . [15] Vicon
Motion
Systems.
Vicon,
Inc.
2011.
Dostupn´e
z
WWW:
Dostupn´e
z
WWW:
. [16] Poser
Pro
2010.
Smith
Micro,
Inc.
2010.
. [17] Autodesk
MotionBuilder
2011.
Autodesk,
Inc.
2011.
Dostupn´e
z
WWW:
. [18] Autodesk 3DS Studio Max 2011. Autodesk, Inc. 2011. Dostupn´e z WWW: . [19] Arena motion capture software. NaturalPoint, Inc. 2011. Dostupn´e z WWW: .
49
50
A
Seznam pouˇ zit´ ych zkratek
DVD ´ UTVS
- Digital Video Disc ´ - Ustav tˇelesn´e v´ ychovy a sportu
IIM
- Institut interm´edi´ı
MoCap
- Motion Capture
3D
- Three-dimensional
51
52
B
Slovn´ıˇ cek pojm˚ u
Motion capture
- technologie sn´ım´an´ı pohybu (t´eˇz MoCap)
Frame
- sn´ımek, jedno okno animace
Kl´ıˇcov´ y sn´ımek
- okno animace, ve kter´em maj´ı dan´e ˇc´asti postavy pˇresnˇe definovan´e pozice
Akt´er
- subjekt, jehoˇz pohyby jsou sn´ım´any
Pipelina
- proces v´ yroby, zˇretˇezen´e zpracov´an´ı
Artefakt
- vada, chyba nebo zkreslen´ı v animaci
Marker
- reflexivn´ı znaˇcka na tˇele akt´era urˇcen´a ke sn´ım´an´ı
Real-time
- v re´ aln´em ˇcase
Post-processing
- f´ aze zpracov´ an´ı nasn´ıman´ ych dat (Vicon IQ)
T-pozice
- v´ ychoz´ı pozice pro sn´ım´an´ı
Subject
- objekt popisuj´ıc´ı sn´ıman´e markery (Vicon IQ)
Labeling
- pˇriˇrazen´ı znaˇcek bod˚ um kostry (Vicon IQ)
Inverzn´ı kinematika
- omezen´ı pohyb˚ u virtu´aln´ı postavy
Rigidn´ı tˇeleso
- z´ astupce spojen´ı nˇekolika marker˚ u (MotionBuilder)
Actor
- v´ ychoz´ı postaviˇcka programu MotionBuilder
Charakterizace
- pˇriˇrazen´ı ˇc´ ast´ı kostry virtu´aln´ı kostˇre v MotionBuilderu
Character
- objekt popisuj´ıc´ı charakterizaci (MotionBuilder)
Damping
- potlaˇcen´ı tˇresu u jednotliv´ ych kost´ı (MotionBuilder)
Control Rig
- omezen´ı pohyb˚ u kostry (MotionBuilder)
Twist
- natoˇcen´ı dan´e ˇc´asti 3D postavy (Poser)
Side-side
- naklonˇen´ı dan´e ˇc´asti 3D postavy do stran (Poser)
Bend
- naklonˇen´ı dan´e ˇc´asti 3D postavy dopˇredu a dozadu (Poser)
53
54
C
Obsah pˇ riloˇ zen´ eho DVD
animace/
-
adres´ aˇr obsahuj´ıc´ı animace vyexportovan´e z programu Poser (detailn´ı popis v souboru readme.txt)
text/
-
adres´ aˇr obsahuj´ıc´ı text bakal´aˇrsk´e pr´ace
zdroje/
-
adres´ aˇr obsahuj´ıc´ı soubory z r˚ uzn´ ych f´az´ı pr´ace (detailn´ı popis v souboru readme.txt)
readme.txt
-
soubor obsahuj´ıc´ı detailn´ı popis obsahu DVD
55