ˇ e vysok´e uˇcen´ı technick´e v Praze Cesk´ Fakulta elektrotechnick´a Katedra poˇc´ıtaˇc˚ u
Bakal´aˇrsk´a pr´ace
3D model lidsk´ e hlavy Martin Chaloupka
Vedouc´ı pr´ace: Ing. Kunc Ladislav
Studijn´ı program: Softwarov´e technologie a management, Bakal´aˇrsk´ y Obor: Web a multimedia 27. kvˇetna 2011
iv
v
Podˇ ekov´ an´ı Chtˇel bych podˇekovat sv´e pˇr´ıtelkyni Lucii za pomoc a tak´e za to, ˇze se mnou vydrˇzela i pˇres t´ ydny str´ aven´e u poˇc´ıtaˇce na t´eto pr´aci. D´ale bych chtˇel podˇekovat rodiˇc˚ um za trpˇelivost. Pak tak´e m´e sestˇre Lucii za nesˇcetn´e pˇripom´ınky o lidsk´e anatomii. D´ıky patˇr´ı pˇredevˇs´ım m´emu vedouc´ımu pr´ ace panu Ing. Ladislavu Kuncovi, za to, ˇze se mnou mˇel trpˇelivost, a ˇze mi pomohl dov´est bakal´ aˇrskou pr´aci do konce.
vi
vii
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 27. 5. 2011
.............................................................
viii
Abstract The main part is focused on creating a model of human head in an external 3Dmodeling environment. The modeling part is done in Autodesk 3ds Max 2010 64-bit. UV mapping and texturing is done in an environment of Blender-2.49b. The aim is to achieve as faithful to the human form in a limited number of polygons for rendering in real-time. The model will then be processed in Talking Head. When using a selection of vertices set the model creates an imaginary model of the controlling muscles.
Abstrakt Hlavn´ı ˇc´ ast pr´ ace je zamˇeˇren´ a na vytvoˇren´ı modelu lidsk´e hlavy v extern´ım 3D modelovac´ım prostˇred´ı. Modelovac´ı ˇc´ ast je provedena v prostˇred´ı Autodesk 3ds Max 2010 64bit. UV mapov´an´ı a texturov´ an´ı je provedeno v prostˇred´ı Blender-2.49b. C´ılem je doc´ılit co nejvˇernˇejˇs´ı lidsk´e podoby pˇri omezen´em poˇctu polygon˚ u pro zobrazov´an´ı v re´aln´em ˇcase. Model bude n´ aslednˇe zpracov´an programem Talking Head, kdy se pomoc´ı v´ ybˇeru a nastaven´ı vrchol˚ u z modelu vytvoˇr´ı pomysln´e svaly ovl´adaj´ıc´ı model.
ix
x
Obsah ´ 1 Uvod 1.1 Problematika modelu lidsk´eho obliˇceje respektive lidsk´e hlavy . . . . . . . . . 1.2 Obsah jednotliv´ ych kapitol . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3 Zp˚ usob psan´ı textu a vzhled obr´azk˚ u . . . . . . . . . . . . . . . . . . . . . . . 2 Reˇ serˇ se 2.1 Problematika renderingu v re´aln´em ˇcase . . . . . . . . . . . . . . . . 2.2 N´ avrh modelov´ an´ı . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.1 Metody reprezentace 3d tˇeles . . . . . . . . . . . . . . . . . . 2.2.1.1 Dr´ atov´ a (wire-frame) . . . . . . . . . . . . . . . . . 2.2.1.2 Procedur´aln´ı reprezentace (procedural) . . . . . . . 2.2.1.3 Hraniˇcn´ı (boundary) . . . . . . . . . . . . . . . . . . 2.2.1.4 Objemov´a (voxel) . . . . . . . . . . . . . . . . . . . 2.3 Modelovac´ı techniky . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.1 Patch Modeling (modelov´an´ı pl´at˚ u) . . . . . . . . . . . . . . 2.3.1.1 Polygon´aln´ı modelov´an´ı . . . . . . . . . . . . . . . . 2.3.1.2 NURBS modelov´an´ı . . . . . . . . . . . . . . . . . . 2.3.1.3 Dalˇs´ı techniky modelov´an´ı . . . . . . . . . . . . . . 2.3.2 Subdivision Modeling (modelov´an´ı pomoc´ı dˇelen´ ych povrch˚ u) 2.3.3 Primitivn´ı modelov´an´ı . . . . . . . . . . . . . . . . . . . . . . 2.3.4 Digit´ aln´ı sculpting . . . . . . . . . . . . . . . . . . . . . . . . 2.3.5 Pouˇzit´ı modelovac´ıch technik . . . . . . . . . . . . . . . . . . 2.4 Z´ aklady anatomie lidsk´e tv´aˇre . . . . . . . . . . . . . . . . . . . . . . 2.4.1 Svaly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4.2 K˚ uˇze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4.3 Oko . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4.4 Modely vlas˚ u . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.5 Texturovac´ı ˇc´ ast . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.5.1 Moˇznosti prom´ıt´ an´ı textur . . . . . . . . . . . . . . . . . . . . 2.5.1.1 Sf´erick´ a (kulov´a) projekce . . . . . . . . . . . . . . . 2.5.1.2 Cylindrick´a (v´alcov´a) projekce . . . . . . . . . . . . 2.5.1.3 Ploˇsn´ a projekce . . . . . . . . . . . . . . . . . . . . 2.5.1.4 Kubick´ a projekce . . . . . . . . . . . . . . . . . . . 2.5.1.5 UV mapov´an´ı (2D textury) . . . . . . . . . . . . . . 2.6 Animaˇcn´ı ˇc´ ast . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
xi
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1 2 3 4 5 5 5 6 6 6 6 7 9 9 9 9 9 9 9 10 10 11 11 11 12 13 14 14 14 14 14 14 14 16
xii
OBSAH
2.6.1
2.7
2.8
Zp˚ usoby animace lidsk´e tv´aˇre . . . . . . . . . . . . . 2.6.1.1 Pomoc´ı interpolace vrchol˚ u . . . . . . . . . 2.6.1.2 Pomoc´ı syst´emu kost´ı . . . . . . . . . . . . 2.6.1.3 Motion Capture . . . . . . . . . . . . . . . N´astroje pro 3D modelov´ an´ı . . . . . . . . . . . . . . . . . . 2.7.1 Interface Autodesk 3ds Max 2010 . . . . . . . . . . . 2.7.2 Pouˇzit´e n´ astroje . . . . . . . . . . . . . . . . . . . . 2.7.2.1 Editable poly . . . . . . . . . . . . . . . . . 2.7.2.2 Smooth . . . . . . . . . . . . . . . . . . . . 2.7.2.3 Symmetry . . . . . . . . . . . . . . . . . . 2.7.2.4 UVW Map . . . . . . . . . . . . . . . . . . Popis programu TalkingHead . . . . . . . . . . . . . . . . . 2.8.1 Datov´e soubory TalkingHeadu pro konfiguraci sval˚ u
3 Postup pr´ ace 3.1 Pˇr´ıprava . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Modelov´ an´ı . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.1 Modelov´ an´ı rt˚ u . . . . . . . . . . . . . . . . . . . 3.2.1.1 Pr´ ace s Editable poly . . . . . . . . . . 3.2.2 Usnadnˇen´ı s pomoc´ı funkce Symetrie . . . . . . . 3.2.3 Vyhlazov´ an´ı pomoc´ı funkc´ı Smooth . . . . . . . 3.2.4 Modelov´ an´ı oˇcnicov´ ych oblouk˚ u. . . . . . . . . . 3.2.5 Model nosu . . . . . . . . . . . . . . . . . . . . . 3.2.6 Tvorba ucha . . . . . . . . . . . . . . . . . . . . 3.2.7 Tvorba oˇc´ı . . . . . . . . . . . . . . . . . . . . . 3.2.8 Tvorba zub˚ u a d´ asn´ı . . . . . . . . . . . . . . . . 3.2.9 Tvorba vlas˚ u . . . . . . . . . . . . . . . . . . . . 3.2.9.1 Texturov´ an´ı vlas˚ u . . . . . . . . . . . . 3.2.9.2 Modelov´ an´ı vlas˚ u . . . . . . . . . . . . 3.2.10 Celkov´e u ´pravy modelu . . . . . . . . . . . . . . 3.3 Export z 3ds Maxu do Blenderu . . . . . . . . . . . . . 3.3.1 Nastaven´ı exportu z 3ds Maxu . . . . . . . . . . 3.3.2 Nastaven´ı importu do Blenderu . . . . . . . . . . 3.4 Texturov´ an´ı Blender . . . . . . . . . . . . . . . . . . . . 3.4.1 Unwrap . . . . . . . . . . . . . . . . . . . . . . . 3.4.2 Projekce zepˇredu . . . . . . . . . . . . . . . . . . 3.4.3 Projekce ze strany . . . . . . . . . . . . . . . . . 3.4.4 Texture Paint . . . . . . . . . . . . . . . . . . . . 3.4.5 Celkov´e u ´pravy . . . . . . . . . . . . . . . . . . . 3.4.6 Nastaven´ı exportu z Blenderu . . . . . . . . . . . 3.4.7 Nastaven´ı importu do 3ds Maxu . . . . . . . . . 3.5 Animace . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5.1 Pˇr´ıprava pro TalkingHead v 3ds Maxu . . . . . . 3.5.2 Testov´ an´ı modelu v toolkitu ECAF Talking Head 4 Z´ avˇ er
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
16 16 18 18 20 20 20 21 22 22 22 23 23
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
25 25 26 26 26 27 28 29 29 29 31 32 33 33 33 35 36 36 36 36 36 37 37 37 37 38 38 38 38 38 41
OBSAH
xiii
A Seznam pouˇ zit´ ych zkratek
47
B Obrazov´ a pˇ r´ıloha
49
C Obsah pˇ riloˇ zen´ eho DVD
51
xiv
OBSAH
Seznam obr´ azk˚ u 1.1 1.2
Model tv´ aˇre z poˇc´ıtaˇcov´e hry Crysis . . . . . . . . . . . . . . . . . . . . . . . Model tv´ aˇre z poˇc´ıtaˇcov´e hry Crysis . . . . . . . . . . . . . . . . . . . . . . .
2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 2.10 2.11 2.12 2.13 2.14
Uk´ azka hraniˇcn´ı reprezentace . . . . . . . . . . . . . . . . . . . Uk´ azka objemov´e reprezentace . . . . . . . . . . . . . . . . . . Uk´ azka csg reprezentace . . . . . . . . . . . . . . . . . . . . . . Anatomie sval˚ u v lidsk´e tv´aˇri . . . . . . . . . . . . . . . . . . . Anatomie k˚ uˇze . . . . . . . . . . . . . . . . . . . . . . . . . . . Anatomie oka . . . . . . . . . . . . . . . . . . . . . . . . . . . . Pˇr´ıklad unwrappingu . . . . . . . . . . . . . . . . . . . . . . . . Pˇr´ıklad texturovac´ı mapy . . . . . . . . . . . . . . . . . . . . . Sch´ematick´ y n´ akres Watersova modelu svalu . . . . . . . . . . . Waters˚ uv model v praxi (TalkingHead) . . . . . . . . . . . . . Pˇr´ıklad aplikace pro z´ısk´av´an´ı dat z optick´eho zaˇr´ızen´ı mocapu Popis grafick´eho rozhran´ı programu 3ds Max . . . . . . . . . . Architektura aplikace ECAF toolkit Talking Head . . . . . . . Editor pro pr´ aci se svaly . . . . . . . . . . . . . . . . . . . . . .
3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12 3.13 3.14 3.15 3.16
Poˇr´ızen´e fotografie, pˇredn´ı a profil . . . . . . . . . . . . . Polygon um´ıstˇen´ y na rty a upraven´ y v subobjekt m´odu . Kop´ırov´ an´ım polygon˚ u vytv´aˇr´ıme povrch modelu . . . . . Model rt˚ u po aplikaci modifik´atoru symmerty . . . . . . . Na model aplikov´ an modifik´ator turbosmooth . . . . . . . Model oˇcnicov´ ych oblouk˚ u . . . . . . . . . . . . . . . . . . Model nosu, a cel´e hlavy . . . . . . . . . . . . . . . . . . . Postup modelov´ an´ı ucha . . . . . . . . . . . . . . . . . . . Pˇr´ıprava koule oka . . . . . . . . . . . . . . . . . . . . . . Vytvoˇren´ı duhovky protaˇzen´ım vrchol˚ u dovnitˇr oka . . . . V´ ysledn´ y model oka . . . . . . . . . . . . . . . . . . . . . Nastaven´ı materi´ alu pro vlasy . . . . . . . . . . . . . . . . Poˇc´ ateˇcn´ı pramen vlas˚ u . . . . . . . . . . . . . . . . . . . Poˇc´ ateˇcn´ı um´ıstˇen´ı vlas˚ u. . . . . . . . . . . . . . . . . . . Posun vrchol˚ u a deformaˇcn´ıch p´ak do poˇzadovan´eho tvaru Nastaven´ı hierarchie modelu v programu 3ds Max . . . . .
B.1 Lowpoly hlava
1 2
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
7 8 8 11 12 13 15 15 16 17 18 20 23 24
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . u ´ˇcesu . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
25 27 27 28 28 29 30 30 31 31 32 33 34 35 35 39
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
49
xv
xvi
´ U ˚ SEZNAM OBRAZK
C.1 Seznam pˇriloˇzen´eho DVD . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
52
Kapitola 1
´ Uvod P´ıˇse se rok 2011 a technika tvoˇr´ı v lidsk´em ˇzivotˇe velmi d˚ uleˇzitou a podstatnou ˇc´ ast. Dnes prakticky kaˇzd´ y den pracujeme, bav´ıme se, uˇc´ıme se, komunikujeme, nakupujeme a prov´ad´ıme spoustu dalˇs´ıch ˇcinnost´ı pomoc´ı poˇc´ıtaˇce. Od poˇc´atk˚ u poˇc´ıtaˇcov´e grafiky se lid´e snaˇz´ı vytvoˇrit dokonal´ y obraz sama sebe i ve virtu´aln´ım svˇetˇe. Vyuˇzit´ı takto vymodelovan´ ych model˚ u ˇclovˇeka je dnes prakticky samozˇrejmost´ı. • Nejˇcastˇejˇs´ım odvˇetv´ım kde se tˇechto model˚ u vyuˇz´ıv´a, je z´abava. To znamen´a oblasti Filmu a Poˇc´ıtaˇcov´ ych her. Obr´azek ze hry Crysis 1.1 Obr´azek z animovan´eho filmu Final Fantasy 1.2 • D´ ale pak jako soci´ aln´ı agenti ve virtu´aln´ı realitˇe. • Upotˇreben´ı nach´ az´ı v l´ekaˇrstv´ı. • Dalˇs´ı vyuˇzit´ı se m˚ uˇze t´ ykat jak´ekoliv lidsk´e oblasti, jde totiˇz o aplikaci Modelu lidsk´e hlavy jako prostˇredn´ıka mezi opravdov´ ym ˇclovˇekem (uˇzivatelem) a poˇc´ıtaˇcem (strojem). Neboli st´ av´ a se zde uˇzivatelsk´ ym rozhran´ım.
Obr´ azek 1.1: Model tv´aˇre z poˇc´ıtaˇcov´e hry Crysis
1
2
1.1
´ KAPITOLA 1. UVOD
Problematika modelu lidsk´ eho obliˇ ceje respektive lidsk´ e hlavy
Pˇredstavte si vaˇseho obl´ıben´eho kniˇzn´ıho hrdinu. Pokud byste jej mˇeli nakreslit napˇr´ıklad na pap´ır, je jasn´e, ˇze vˇetˇsina dalˇs´ıch lid´ı, kteˇr´ı budou kreslit stejn´eho hrdinu, dojdou k u ´plnˇe jin´ ym v´ ysledk˚ um. Tud´ıˇz je zˇrejm´e, ˇze vytvoˇrit lidskou tv´aˇr bez pˇredlohy nelze. T´ımto zp˚ usobem postupuji i j´ a. Jako pˇredlohu poˇz´ıv´am fotografie osoby, kterou zn´am. Dalˇs´ı nepˇr´ıjemnosti pˇrin´ aˇs´ı vˇsednost lidsk´eho obliˇceje. Proto je velmi tˇeˇzk´e vytvoˇrit takov´ y model, kter´ y by byl pˇrijat bez jak´ ychkoliv v´ yhrad nebo pˇripom´ınek. Je to hlavnˇe t´ım, ˇze lid´e a jejich tvary prostˇe a jednoduˇse zn´ame dokonale. Potk´av´ame dalˇs´ı lidsk´e bytosti, kter´e jsou v z´akladˇe stejn´e. Kaˇzd´ a nesrovnalost ihned pˇritahuje pozornost. Pˇresnˇe takto je tomu i u poˇc´ıtaˇcov´eho modelu.
Obr´ azek 1.2: Model tv´aˇre z poˇc´ıtaˇcov´e hry Crysis Jin´ ym probl´emem je detailnost modelu. Lidsk´a tv´aˇr se skl´ad´a z dvaceti ˇctyˇr sval˚ u mimick´ ych a ˇctyˇr sval˚ u ˇzv´ ykac´ıch (tento poˇcet se neust´ale mˇen´ı, nebot’ vˇedci ˇcas od ˇcasu zmˇen´ı kategorizaci sval˚ u). Svaly jsou potaˇzeny k˚ uˇz´ı, kter´a se skl´ad´a z dalˇs´ıch tˇr´ı vrstev, pokoˇzky, ˇsk´ary a podkoˇzn´ıho vaziva [2]. Samotn´ a k˚ uˇze m´a tak´e dalˇs´ı vlastnosti, ke kter´ ym mus´ıme jako model´aˇri pˇrihl´ednout. Pˇredt´ım neˇz zaˇcne model vznikat, je potˇreba rozhodnout, k ˇcemu bude model pouˇzit a jak s n´ım bude nakl´ ad´ ano. Jedn´ım z d˚ uleˇzit´ ych aspekt˚ u je zjistit, jestli bude animovan´ y (pohybliv´ y) nebo pouze statick´ y (nepohybliv´ y). V m´em pˇr´ıpadˇe p˚ ujde o animovateln´ y model.
´ 1.2. OBSAH JEDNOTLIVYCH KAPITOL
3
D´ele pak jestli p˚ ujde pouze o jeden render (obr´azek) jako fotografii? Nebo bude model zapracov´ an v nˇejak´e sc´enˇe? A bude se tento model muset vykreslovat v re´aln´em ˇcase? Dalˇs´ı ot´ azka zn´ı, jak´ ym zp˚ usobem a jak´ ymi n´astroji budeme model vytv´aˇret. V souˇcasn´e dobˇe jsou nejobl´ıbenˇejˇs´ı modelovac´ı techniky pro vytv´aˇren´ı lidsk´ ych model˚ u patch modelov´an´ı, subdivision modelov´ an´ı a sculpting modelov´an´ı. V m´e pr´ aci se budu zab´ yvat modelov´an´ım lidsk´e hlavy. Model budu vytv´aˇret v modelovac´ım prostˇred´ı 3ds Max od firmy Autodesk. Za pomoc´ı pˇredlohy fotografi´ı d´ıvky. D´ıvka je nafocena ze strany a zepˇredu. Protoˇze tato hlava bude animovateln´a a bude se renderovat (vykreslovat) v re´ aln´em ˇcase, zvolil jsem moˇznost modelovat zp˚ usobem Patch modelov´ an´ı. Model je vytvoˇren jako hraniˇcn´ı, tzn., ˇze jeho 3D reprezentace je hraniˇcn´ı. Tˇeleso je pops´ano jako mnohostˇen zcela urˇcen´ y sv´ ymi hranicemi (stˇenami, hranami a vrcholy) [15]. T´emˇeˇr vˇsechny poˇc´ıtaˇcov´e modely, kter´e se pouˇz´ıvaj´ı ve hr´ach a filmech, jsou hraniˇcn´ı modely, z d˚ uvodu m´enˇe n´ aroˇcn´eho zobrazov´an´ı. Je ot´azkou, jak´ y pomˇer zvolit mezi detaily modelu a rychlost´ı vykreslov´ an´ı. V dalˇs´ı ˇc´ asti jsem vytvoˇren´ y model otexturoval. Pro texturov´an´ı lidsk´ ych postav a tedy i lidsk´e tv´ aˇre se pouˇz´ıv´ a UV mapov´an´ı textury. Klasick´ y zp˚ usob, kdy se textura (obr´azek s fotografi´ı) upravuje v nˇekter´em extern´ım foto editoru, aby pˇr´ımo sedˇela na vytvoˇren´ y model, jsem nepouˇzil. M´ısto nˇej jsem si vyzkouˇsel metodu Projection painting. Tuto metodu jsem aplikoval v programu Blender 2.49b. Pˇredchoz´ı odstavec nab´ ad´ a k myˇslence, jak´ ym zp˚ usobem pˇrev´est objekt z aplikace 3ds Maxu do prostˇred´ı Blenderu. Bohuˇzel 3ds Max nem´a pˇr´ımou moˇznost exportovat model do souboru pro Blender (∗.blend), a stejnˇe tak Blender nem´a moˇznost importovat z 3ds Maxu. Ale existuj´ı skripty vytvoˇren´e uˇzivateli, kter´e si m˚ uˇzete st´ahnout a naimportovat do vaˇsich model´ aˇr˚ u [6]. Vˇetˇsinou vˇsak m˚ uˇzete pouze exportovat z 3ds Maxu do Blenderu. Proto jsem volil konverzi pˇres form´at ∗.obj. OBJ form´at je jednoduch´ y datov´ y form´at, kter´ y reprezentuje 3D geometrii. Je to textov´ y form´at, kter´ y obsahuje pozice kaˇzd´eho vrcholu, polohy UV souˇradnic textury kaˇzd´eho vrcholu a norm´aly ploch, tzn., ˇze kaˇzd´ y polygon je definovan´ y jako seznam vrchol˚ u a jeho textur [17]. Dalˇs´ı ˇc´ ast m´e pr´ ace zakl´ ad´ a na pˇredloze jiˇz vytvoˇren´e kostry v programu 3ds Max. Pomoc´ı n´astroj˚ u se hlava nav´ aˇze na kostru. Pomoc´ı skriptu na export do M SH form´atu se model vyexportuje. Tento export naˇctu pomoc´ı EACF Toolkitu TalkingHead a d´ıky rozhran´ı pak mohu nastavit oblasti sval˚ u. Nastaven´ı prob´ıh´a tak, ˇze vybereme vrcholy (body) modelu, kter´e maj´ı pˇredstavovat n´ ami definovan´ y sval. Pak uˇz se jen nastˇr´adan´a data uloˇz´ı.
1.2
Obsah jednotliv´ ych kapitol
Postupy, kter´e jsou pops´ any v t´eto pr´aci, se pˇrev´aˇznˇe t´ ykaj´ı programu 3ds Max, ale obecnˇe lze pouˇz´ıt tyto postupy i v ostatn´ıch 3D programech za pomoci podobn´ ych n´astroj˚ u. Text je logicky rozdˇelen do kapitol podle rozeb´ır´an´ı oblasti. • Druh´ a kapitola obsahuje informace o z´akladech modelov´an´ı, lehk´ yu ´vod do lidsk´e anatomie, d´ ale pak informace mapov´an´ı textur na modely, moˇznosti animac´ı a z´akladn´ı informace o vyuˇz´ıvan´em prostˇred´ı ECAF TalkingHead.
´ KAPITOLA 1. UVOD
4
• Ve tˇret´ı kapitole popisuji zp˚ usob pr´ace na modelu, od samotn´eho vytvoˇren´ı modelu aˇz po jeho testov´ an´ı v aplikaci ECAF TalkingHead. ˇ • Ctvrt´ a kapitola, obsahuje z´ avˇer pr´ ace. • Obsah pˇr´ıloh je rozdˇelen na ˇc´ ast obrazov´e pˇr´ılohy a popisu DVD.
1.3
Zp˚ usob psan´ı textu a vzhled obr´ azk˚ u
Text je koncipov´ an jako budouc´ı e-learningov´ y studijn´ı materi´al. Kapitoly jsou ˇc´ıslovan´e a v nich je kaˇzd´ y d˚ uleˇzit´ y krok uveden´ y ve vlastn´ı ˇc´asti. Text je doprov´azen mnoˇzstv´ım ilustraˇcn´ıch obr´ azk˚ u. Na nˇekter´ ych je vidˇet uˇzivatelsk´e rozhran´ı 3ds Maxu nebo Blenderu. Vaˇse uˇzivatelsk´e rozhran´ı se nemus´ı shodovat s t´ım na obr´azc´ıch z d˚ uvodu odliˇsnosti jednotliv´ ych verz´ı. Funkˇcnost z˚ ust´ av´ a stejn´ a. Program 3ds Max nen´ı lokalizov´an do ˇceˇstiny. Je to proto, ˇze pˇreklad nˇekter´ ych n´ astroj˚ u, funkc´ı a vlastnost´ı by byl znaˇcnˇe matouc´ı, popˇr´ıpadˇe by se neshodoval s v´ yznamem anglick´eho origin´alu. Proto se nˇekter´a anglick´a pojmenov´an´ı pˇretransformovala do naˇseho jazyka. T´ım mysl´ım anglick´ y z´aklad slova a naˇse skloˇ nov´an´ı. Pˇri popisov´an´ı tak n´ aroˇcn´e tematiky nen´ı dost dobˇre moˇzn´e si vystaˇcit jen s ˇcesk´ ym jazykem bez pouˇzit´ı speci´ aln´ıch poˇceˇstˇen´ ych slov. Nav´ıc v grafick´ ych kruz´ıch se tento slang v praxi pouˇz´ıv´a a pro toho, kdo se chce pohybovat v tˇechto kruz´ıch, je dobr´e se v nˇem orientovat. Program Blender je sice lokalizov´ an do ˇcesk´eho jazyka, ale pro zachov´an´ı konzistence budu pracovat v lokalizaci anglick´e.
Kapitola 2
Reˇ serˇ se 2.1
Problematika renderingu v re´ aln´ em ˇ case
ˇ a v´ Cas ykon poˇc´ıtaˇc˚ u jsou kl´ıˇcov´ a omezen´ı, na kter´a mus´ıme v poˇc´ıtaˇcov´e grafice br´at ohledy. V pˇr´ıpadˇe animovan´eho filmu se modely nebo cel´e sc´eny mohou renderovat i nˇekolik mˇes´ıc˚ u, to ovˇsem v programech, kter´e vykresluj´ı modely v re´aln´em ˇcase, nen´ı moˇzn´e. Jelikoˇz mnou tvoˇren´ y model mus´ı interagovat s uˇzivatelem, veˇsker´e vykreslov´an´ı mus´ı prob´ıhat interaktivnˇe. Souˇcasn´ ym filmov´ ym standardem je tvoˇrit filmy minim´alnˇe ve form´atu full HD. To znamen´ a v rozliˇsen´ı 1920x1080. Nejmenˇs´ı poˇzadavek na sn´ımkovou frekvenci je 30 fps1. Jeden n´aroˇcn´ y sn´ımek ve form´ atu full HD se na v´ ykonn´ ych render farm´ach vykresluje i nˇekolik hodin. Je tedy jasn´e, ˇze s kvalitou 3D grafiky, kterou v´ıd´ame ve filmech, nem˚ uˇzeme v realtimeov´ ych aplikac´ıch poˇc´ıtat. Tak v´ ykonn´e poˇc´ıtaˇce zat´ım neexistuj´ı. Vzhledem ke snaze o dosaˇzen´ı nejvyˇsˇs´ı moˇzn´e kvality a z´aroveˇ n plynul´emu zobrazov´an´ı se mus´ı v real-timeov´e grafice br´ at na vˇedom´ı ˇrada omezen´ı oproti grafice pouˇz´ıvan´e ve filmu. Jsou to napˇr´ıklad pomˇernˇe n´ızk´e limity poˇctu polygon˚ u, ze kter´ ych je model vytvoˇren, menˇs´ı velikosti textur a tak´e nemoˇznost pouˇz´ıv´ an´ı Glob´aln´ı Iluminace (GI) [20].
2.2
N´ avrh modelov´ an´ı
Vytv´aˇren´ı model˚ u, znamen´ a pˇrev´est re´aln´ y objekt z re´aln´eho svˇeta do svˇeta virtu´aln´ıho. Modelov´ an´ı je souhrn postup˚ u a metod popisuj´ıc´ıch virtu´aln´ı objekt a jeho vlastnosti (tvar, velikost, transformaci,. . . ) Existuj´ı tˇri z´akladn´ı zdroje 3D model˚ u: • Jsou vytvoˇreny na poˇc´ıtaˇci nˇejak´ ym umˇelcem nebo inˇzen´ yrem za pomoc´ı zvolen´eho modelovac´ıho n´ astroje (neboli rukou ˇclovˇeka), Modelovac´ı n´astroje nejˇcastˇeji pouˇz´ıvan´e ke tvorbˇe 3D model˚ u jsou placen´e komerˇcn´ı programy. Napˇr´ıklad od Autodesku jsou to 3ds Max a Maya [3]. D´ ale pak Rhino od Roberta McNeela and Associates. Lightwave. MultiGen by MultiGen-Paradigm. Simply 3D 3.0 by Micrografx. trueSpace 4.2 by Caligari [8]. Cinema 4D [29]. Z rodiny digit´aln´ıho sculptingu Zbrush od Pixologic [26]. A nejzn´ amˇejˇs´ı freeware Blender [32]. • Jsou generov´ any pomoc´ı algoritm˚ u (procedur´aln´ı modelov´an´ı). Sem patˇr´ı pˇredevˇs´ım frakt´ aln´ı geometrie a ˇc´ asticov´e syst´emy.
5
ˇ SE ˇ KAPITOLA 2. RESER
6
ˇ e a • Jsou z´ısk´ av´ any ze skuteˇcn´eho svˇeta pomoc´ı r˚ uzn´ ych pˇr´ıstroj˚ u a skenov´an´ı. Cast´ v dneˇsn´ı dobˇe i typick´e je pouˇzit´ı objemov´ ych dat popsan´ ych pomoc´ı voxel˚ u v medic´ınsk´ ych aplikac´ıch, zejm´ena pro reprezentaci dat z´ıskan´ ych z prostorov´ ych sn´ımk˚ u a diagnostick´ ych zaˇr´ızen´ı napˇr´ıklad CT (poˇc´ıtaˇcov´a tomografie) a MR (magnetick´a rezonance) [30]. V m´e pr´aci pouˇz´ıv´ am prvn´ı uveden´ y zdroj, a to tak, ˇze si 3D model vytv´aˇr´ım s´am, pomoc´ı modelovac´ıho n´ astroje 3ds Max. Model je tedy nˇejak´ y konkr´etn´ı objekt re´aln´eho svˇeta, umˇele vytvoˇren´ y. Tento objekt je sloˇzen z bod˚ u, hran a ploˇsek. Tyto entity, z nichˇz je sloˇzen, jsou matematicky pops´any. Dneˇsn´ı poˇc´ıtaˇcov´a grafika zobrazuje modely jako s´ıt’ polygon˚ u [4]. Polygony jsou rovn´e ploˇsky, kter´e dohromady tvoˇr´ı 3D objekt [7]. Tˇreba takov´a krychle m´a polygon˚ u ˇsest (m´a ˇsest stran). Pokud vytv´aˇr´ıme sloˇzitˇejˇs´ı model, je tˇreba polygon˚ u mnohem a mnohem v´ıc - a tady plat´ı, ˇze ˇc´ım v´ıc polygon˚ u, t´ım re´ alnˇeji bude model vypadat, ale t´ım v´ıc ˇcasu zabere jeho tvorba a tak´e sloˇzitost jeho zobrazov´ an´ı bude n´ aroˇcnˇejˇs´ı. D˚ uleˇzit´ yu ´kol tedy zn´ı jak vyrobit objekty tak, aby vypadaly co nejl´epe a souˇcasnˇe aby byly co nejjednoduˇsˇs´ı. I kdyˇz i tady se ˇcasy mˇen´ı - ˇc´ım pokroˇcilejˇs´ı jsou v poˇc´ıtaˇc´ıch grafick´e karty, t´ım v´ıce sloˇzit´ ych matematick´ ych v´ ypoˇct˚ u, kter´e jsou k zobrazov´ an´ı mnoha polygon˚ u potˇreba, dˇelaj´ı m´ısto procesoru pr´avˇe ony. Mimo jin´e i proto vypadaj´ı dneˇsn´ı modely o tolik l´epe neˇz modely jenom nˇekolik let star´e.
2.2.1
Metody reprezentace 3d tˇ eles
Mnoho objekt˚ u zpracov´ avan´ ych a zobrazovan´ ych v poˇc´ıtaˇcov´e grafice m´a charakter tˇelesa, tedy u ´tvaru, kter´ y zauj´ım´ a urˇcit´ y objem v prostoru. V tomto smyslu m˚ uˇzeme na tˇelesa pouˇz´ıvan´a v poˇc´ıtaˇcov´e grafice nahl´ıˇzet tak´e jako na mnoˇzinu bod˚ u v trojrozmˇern´em prostoru, kter´e splˇ nuj´ı urˇcit´ a krit´eria. R˚ uzn´ ymi zp˚ usoby reprezentace tˇelesa se snaˇz´ıme efektivnˇe ’ popsat bud mnoˇzinu hraniˇcn´ıch bod˚ u (hraniˇcn´ı reprezentace), nebo mnoˇzinu vnitˇrn´ıch bod˚ u (objemov´a reprezentace). 2.2.1.1
Dr´ atov´ a (wire-frame)
Tˇeleso je pops´ano sv´ ymi vrcholy a hranami. Je to velmi u ´sporn´a reprezentace. To ˇze, obsahuje pouze vrcholy a hrany, vede tak´e k tomu, ˇze nejde jednoznaˇcnˇe urˇcit viditelnost objektu [10]. 2.2.1.2
Procedur´ aln´ı reprezentace (procedural)
Tˇeleso nen´ı pˇr´ımo pops´ ano geometrick´ ymi daty jako v jin´ ych reprezentac´ıch, ale algoritmem, kter´ y umoˇzn ˇuje vyj´ adˇrit povrch tˇelesa, objem tˇelesa nebo i dalˇs´ı informace o tˇelese. Mezi dva nejpouˇz´ıvanˇejˇs´ı zp˚ usoby procedur´ aln´ı reprezentace patˇr´ı vyuˇzit´ı frakt´al˚ u a ˇc´asticov´ ych syst´em˚ u [31]. 2.2.1.3
Hraniˇ cn´ı (boundary)
Tˇeleso je pops´ ano sv´ ym povrchem. Neboli model je vyj´adˇren pomoc´ı s´ıtˇe polygon˚ u. Topologie ’ obsahuje informace o ploˇsk´ ach, kter´e jsou ve formˇe s´ıtˇe obecn´ ych n-´ uheln´ık˚ u. Tyto polygony jsou tvoˇreny vrcholy, hranami a stˇenami. Patˇr´ı sem taky Spline-reprezentace tvoˇren´a nˇekolika
´ ´ ´I 2.2. NAVRH MODELOVAN
7
typy (linear, cardinal, bezier, B-spline, NURBS). Maj´ı spoleˇcn´e to, ˇze se skl´adaj´ı z matematicky vyj´ adˇren´ ych ploch definovan´ ych tzv. kontroln´ımi body (viz obr´azek 2.1). Povrch m˚ uˇze m´ıt kromˇe geometrick´ ych vlastnost´ı zad´any napˇr´ıklad i optick´e vlastnosti povrchu (barvu, pr˚ uhlednost, odrazivost, index lomu, texturu apod.) [31]. V moj´ı pr´ aci pouˇz´ıv´ am tuto reprezentaci modelu.
Obr´ azek 2.1: Uk´azka hraniˇcn´ı reprezentace
2.2.1.4
Objemov´ a (voxel)
Tˇeleso je pops´ ano sv´ ym objemem, tj. v´ yˇctem tˇech ˇc´ast´ı prostoru, kter´e tvoˇr´ı hmotu (vnitˇrek) tˇelesa. Podobnˇe jako u hraniˇcn´ı reprezentace, i u t´eto reprezentace je moˇzn´e kromˇe vlastn´ı informace o obsazen´em prostoru zad´avat i dalˇs´ı data, kter´a se vztahuj´ı k vnitˇrn´ı oblasti tˇelesa, napˇr´ıklad pr˚ uhlednost nebo barvu jednotliv´ ych obsazen´ ych ˇc´ast´ı prostoru (viz obr´azek 2.2). V´ yhodou jsou pˇr´ım´e informace o objemu tˇelesa a snadn´ y test na body, zda se nach´ az´ı uvnitˇr nebo vnˇe objektu. Nev´ yhodou je, ˇze se objemov´a data obt´ıˇznˇeji zobrazuj´ı. Pouˇz´ıvaj´ı se napˇr´ıklad pˇri zobrazov´ an´ı model˚ u z´ıskan´ ych pˇri Magnetick´e rezonanci nebo poˇc´ıtaˇcov´e tomografii [31]. Patˇr´ı sem taky Konstruktivn´ı geometrie (CSG). CSG vyuˇz´ıv´a element´arn´ı geometrick´e tˇelesa kv´ adr, koule, v´ alec, kuˇzel, hranol. Nad tˇemito tˇelesy prov´ad´ı mnoˇzinov´e operace jako sjednocen´ı, pr˚ unik, rozd´ıl (viz obr´azek 2.3). CSG se ˇcasto pouˇz´ıv´a zase pro r˚ uzn´e konstrukt´ersk´e programy pr´ avˇe z d˚ uvodu snadn´eho skl´ad´an´ı [10].
8
ˇ SE ˇ KAPITOLA 2. RESER
Obr´ azek 2.2: Uk´ azka objemov´e reprezentace
Obr´ azek 2.3: Uk´azka csg reprezentace
2.3. MODELOVAC´I TECHNIKY
2.3 2.3.1
9
Modelovac´ı techniky Patch Modeling (modelov´ an´ı pl´ at˚ u)
Patch modeling m˚ uˇzeme prov´ adˇet pomoc´ı bod˚ u (points), polygon˚ u (polygons), splines nebo NURBS (non uniform rational B-spline). 2.3.1.1
Polygon´ aln´ı modelov´ an´ı
Modelov´ an´ı pomoc´ı polygon˚ u je zaloˇzeno na vytv´aˇren´ı na sebe navazuj´ıc´ıch polygon˚ u a pomoc´ı nich tvoˇren´ı povrchu modelu. Polygony jsou tvoˇreny z ploch (faces). Jednoduch´ a polygon´ aln´ı plocha je ploch´ ym povrchem tvoˇren´ ym tˇremi nebo v´ıce body, naz´ yvan´ ymi vrˇ ara, kter´a spojuje jeden vrchol s druh´ choly (vertices), kter´e jsou vz´ ajemnˇe propojeny. C´ ym, se naz´ yv´ a hrana (edge). Pozice jednotliv´ ych vrchol˚ u definuj´ı tvar a velikost plochy. Plocha polygonu je rozdˇelena na nˇekolik menˇs´ıch ploˇsek, pˇriˇcemˇz kaˇzd´a z nich je definov´ana pr´ avˇe tˇremi vrcholy – tzv. triangulace. Polygon´aln´ı plochy jsou propojeny pod´el sv´ ych hran a vytv´aˇrej´ı tak sloˇzitˇejˇs´ı povrch modelu. Polygonov´e modely jsou nejjednoduˇseji poˇc´ıtaˇcovˇe vykresliteln´e, to je d˚ uvod proˇc se jich vyuˇz´ıv´a tam, kde je potˇreba vykreslovat modely v re´aln´em ˇcase [4]. 2.3.1.2
NURBS modelov´ an´ı
NURBS (non uniform rational B-spline). Modelov´an´ı pomoc´ı kˇrivek NURBS je zaloˇzeno na matematick´em popise, kter´ y je sloˇzitˇejˇs´ı neˇz v pˇr´ıpadˇe polygon˚ u. To vyˇzaduje delˇs´ı zpracov´av´an´ı, a proto se pouˇz´ıv´ a sp´ıˇse tam, kde jsou modely vykresleny jiˇz pˇredem. Pˇri modelov´an´ı NURBS vytv´ aˇr´ıme tvary pomoc´ı kˇrivek a ˇcar, takˇze se ˇcastˇeji vyuˇz´ıv´a pro hladk´e tvary [4]. 2.3.1.3
Dalˇ s´ı techniky modelov´ an´ı
Dalˇs´ı moˇznosti, vyuˇz´ıvaj´ıc´ı pˇredchoz´ı techniky kombinovanˇe nebo ˇc´asteˇcnˇe. Boxov´e modelov´an´ı, Modelov´ an´ı pomoc´ı bod˚ u, Extruding, Tapping, Twisting, Lofting, Meta balls, Splines a Patches modeling [15].
2.3.2
Subdivision Modeling (modelov´ an´ı pomoc´ı dˇ elen´ ych povrch˚ u)
Dˇelen´ı modelovac´ı techniky se pouˇz´ıvaj´ı ke tvorbˇe model˚ u s n´ızk´ ym polygon´aln´ım rozliˇsen´ım. A zv´ yˇsen´ı rozliˇsen´ı se dˇel´ a pomoc´ı vyhlazovac´ıch algoritm˚ u. I subdivision modely mohou vyuˇz´ıvat NURBS kˇrivky [27].
2.3.3
Primitivn´ı modelov´ an´ı
Toto je nejjednoduˇsˇs´ı zp˚ usob modelov´an´ı trojrozmˇern´ ych objekt˚ u. Pomoc´ı geometrick´ ych primitiv, jako jsou v´ alce, kuˇzele, koule a krychle jsou vytvoˇreny komplexn´ı modely. Tento pˇr´ıstup zajiˇst’uje snadnou konstrukci. Primitivn´ı modelov´an´ı se pouˇz´ıv´a hlavnˇe u rozvojov´ ych 3D model˚ u technick´ ych aplikac´ı. Primitivn´ı modelov´an´ı vyuˇz´ıv´a CSG (Constructive solid geometry) [10].
ˇ SE ˇ KAPITOLA 2. RESER
10
2.3.4
Digit´ aln´ı sculpting
Je zp˚ usob vytv´ aˇren´ı model˚ u za pouˇzit´ı softwaru, kter´ y nab´ız´ı n´astroje push, pull, smooth, grab, pinch a dalˇs´ı n´ astroje k manipulaci s digit´aln´ım objektem. Podobnˇe jako sochaˇri vytv´aˇrej´ı sv´e d´ılo z kusu kamene pˇr´ımo a ruˇcnˇe, tak t´ımto zp˚ usobem m˚ uˇzeme odeb´ırat nebo pˇrid´avat masu polygon˚ u na nebo z modelu [22]. N´astroje pro tvorbu digit´aln´ıho sculptingu jsou napˇr´ıklad ZBrush nebo Mudbox. Program Zbrush postupnˇe zahuˇst’uje s´ıt’ovinu. Na n´ızk´ ych hustot´ ach umoˇzn ˇuje glob´ aln´ı u ´pravy model˚ u a na vysok´ ych hustot´ach naopak u ´pravy lok´aln´ı. Spr´ avn´ a tvorba modelu v programu Zbrush prob´ıh´a stupˇ nov´an´ım u ´rovnˇe detail˚ u.
2.3.5
Pouˇ zit´ı modelovac´ıch technik
Nejlepˇs´ı v´ ysledek pˇri vytv´ aˇren´ı organick´ ych model˚ u, a to i lidsk´ ych high-poly model˚ u, dosahuje dnes Sculpt modelov´ an´ı, protoˇze dok´aˇze zachytit sebemenˇs´ı detail objektu [22]. Tento zp˚ usob je vhodn´ y ve chv´ıli kdy m´ a model b´ yt vyrenderov´an pouze jednou. Nelze jej vˇsak z v´ ypoˇcetn´ıch d˚ uvod˚ u pouˇz´ıt v pˇr´ıpadˇe vykreslov´an´ı (renderov´an´ı) modelu v re´aln´em ˇcase. Je to proto, ˇze v´ ysledn´ y model je pˇr´ıliˇs podrobn´ y a tedy pˇr´ıliˇs sloˇzit´ y na vykreslov´an´ı. To znamen´a, ˇze obsahuje velik´e mnoˇzstv´ı polygon˚ u. Tento zp˚ usob se tedy pro tuto pr´aci nehod´ı. Velice ˇcasto se vˇsak sculpt modelov´ an´ı vyuˇz´ıv´a k vytvoˇren´ı high-poly modelu, ze kter´eho se z´ısk´avaj´ı data pro norm´ alovou mapu [12]. Tato mapa se pak m˚ uˇze aplikovat na low-poly model. Dalˇs´ı obrovskou v´ yhodou je rychlost, d´ıky n´ıˇz z´ısk´ame v´ ychoz´ı model. Klasick´e modelov´ an´ı tvorby lidsk´ ych, ale tak´e ostatn´ıch organick´ ych model˚ u pomoc´ı modelovac´ıch program˚ u, jednoznaˇcnˇe vyˇzaduje zruˇcnost model´aˇre a potˇrebnou znalost tvorby spr´avn´e topologie. Tento postup je velmi pˇresn´ y a umoˇzn ˇuje udrˇzovat maxim´aln´ı moˇznou kontrolu nad tvoˇren´ ym modelem. Je ovˇsem velmi ˇcasovˇe n´aroˇcn´ y, coˇz je kl´ıˇcov´ ym d˚ uvodem, proˇc se od tohoto zp˚ usobu ustupuje. Je ale samozˇrejmˇe do urˇcit´e m´ıry st´ale vyuˇz´ıv´an a to pˇredevˇs´ım k tvorbˇe low-poly model˚ u. Nejvhodnˇejˇs´ı by ovˇsem bylo spojit tyto pˇr´ıstupy a vyuˇz´ıt tak pˇrednost´ı obou metod. Pro tuto pr´ aci jsem zvolil zp˚ usob klasick´ ym modelov´an´ım a to tedy formou Patch modelov´an´ı. Konkr´etnˇe metoda Polygon´ aln´ıho modelov´an´ı. S touto metodou se d´a dos´ahnout pomˇernˇe vysok´e kvality modelu bez velik´eho poˇctu polygon˚ u [27].
´ ´ TVA ´ RE ˇ 2.4. ZAKLADY ANATOMIE LIDSKE
2.4 2.4.1
11
Z´ aklady anatomie lidsk´ e tv´ aˇ re Svaly
Lidsk´a tv´ aˇr se skl´ ad´ a z dvaceti ˇctyˇr sval˚ u mimick´ ych a ˇctyˇr sval˚ u ˇzv´ ykac´ıch (tento poˇcet se ’ m˚ uˇze mˇenit, nebot vˇedci ˇcas od ˇcasu zmˇen´ı kategorizaci sval˚ u). [2] Pro model lidsk´e hlavy, kter´ y m´ a b´ yt nˇejak´ ym zp˚ usobem animov´an, je nejlepˇs´ı pˇr´ıpravou pro animaci uˇz to, jak model vymodelujeme. Zp˚ usob, kter´ y pˇrin´aˇs´ı dobr´e v´ ysledky, je vych´azet alespoˇ n ˇc´asteˇcnˇe ze skuteˇcn´ ych anatomick´ ych pomˇer˚ u v obliˇceji (viz obr´azek 2.4).
Obr´ azek 2.4: Anatomie sval˚ u v lidsk´e tv´aˇri
2.4.2
K˚ uˇ ze
K˚ uˇze tvoˇr´ı ochran´ y kryt tˇela. Skl´ad´a se ze tˇr´ı vrstev: pokoˇzky (epidermis), ˇsk´ary (dermiscorium) a podkoˇzn´ıho vaziva (hypoderm-tela subcutanea). [21] K˚ uˇze samotn´a je velice podrobn´ y prvek (viz obr´ azek 2.5). Zobrazov´an´ı k˚ uˇze realisticky je probl´emov´e, pˇredevˇs´ım kv˚ uli vlastnostem k˚ uˇze v˚ uˇci svˇetlu. Jen asi ˇsest procent odrazivosti svˇetla od k˚ uˇze je pˇr´ım´e, devades´ at ˇctyˇri procent je z podpovrchov´eho rozptylu. Dnes se k re´aln´emu zobrazov´ an´ı k˚ uˇze pouˇz´ıvaj´ı speci´ aln´ı algoritmy. Nejˇcastˇeji Subsurface scattering. SSS (Subsurface scattering) je podpovrchov´ y rozptyl svˇetla. Svˇetlo pronikne povrchem pr˚ usvitn´eho objektu, kde je rozpt´ yleno materi´ alem objektu pod r˚ uzn´ ymi u ´hly a opust´ı objekt na jin´em m´ıstˇe [24]. K doc´ılen´ı tohoto efektu je zapotˇreb´ı jiˇz vˇetˇs´ı energie svˇetla, proto se tyto materi´aly jev´ı za bˇeˇzn´ ych podm´ınek jako nepr˚ uhledn´e, avˇsak pˇri nasv´ıcen´ı prudk´ ym svˇetlem se st´ avaj´ı ˇc´asteˇcnˇe pr˚ uhledn´ ymi. Tento efekt je moˇzn´e ovˇeˇrit, posv´ıcen´ım baterkou proti ruce.
ˇ SE ˇ KAPITOLA 2. RESER
12
Obr´ azek 2.5: Anatomie k˚ uˇze
2.4.3
Oko
Lidsk´e oko se skl´ ad´ a z mnoha ˇc´ ast´ı. Pro model oka jsou pro n´as d˚ uleˇzit´e ˇc´asti - bˇelima, rohovka, duhovka a zornice (viz obr´ azek 2.6). Jak re´alnˇe bude model oka vypadat, z´avis´ı na 3 faktorech: na aktu´ aln´ı geometrii, shaderech, a osvˇetlen´ı. Re´aln´e oko m´a duhovku konk´avn´ıho tvaru. To znamen´ a, ˇze tomu mus´ıme pˇrizp˚ usobit i n´aˇs model, protoˇze jedinˇe tak bude oko spr´avnˇe simulovat zv´ yraznˇen´ı a rozpt´ ylen´ı svˇetla. Tento u ´hel umoˇzn ˇuje vymodelovan´e duhovce doslova zachytit svˇetlo. Stejnˇe tak je d˚ uleˇzit´ y tvar re´aln´e rohovky, kter´a je naopak v´ıce konvexn´ı. Re´ aln´ a rohovka se pod´ıl´ı na lomu svˇetla vnikaj´ıc´ımu do oka [1]. Tvar vymodelovan´e rohovky n´ am umoˇzn´ı zachytit ostr´e svˇetlo a d´at oku hloubku. Protoˇze je skuteˇcn´a rohovka t´emˇeˇr pr˚ uhledn´ a, je nutn´e takto nastavit i n´aˇs model. Bˇelima i rohovka odr´aˇzej´ı odlesky, mus´ıme tomu pˇrizp˚ usobit i shadery modelu. Shader je poˇc´ıtaˇcov´ y program pouˇz´ıvan´ y ve 3D poˇc´ıtaˇcov´e grafice k urˇcen´ı fin´ aln´ıch povrchov´ ych vlastnost´ı objektu. To zahrnuje libovoln´e komplexn´ı druhy svˇeteln´ ych efekt˚ u. Absorpce, rozpt´ ylen´ı, mapov´an´ı textur, odraz, lom, st´ınov´an´ı. Pro aplikaci v re´ aln´em ˇcase se pouˇz´ıvaj´ı speci´aln´ı shadery [23].
´ ´ TVA ´ RE ˇ 2.4. ZAKLADY ANATOMIE LIDSKE
13
Obr´azek 2.6: Anatomie oka
2.4.4
Modely vlas˚ u
Na lidsk´e hlavˇe je asi 50 000 aˇz 100 000 vlasu. Pokud bychom tvoˇrili model vlas˚ u, tak takov´e mnoˇzstv´ı je velice v´ ypoˇcetnˇe n´ aroˇcn´e. Druh´e u ´skal´ı je z d˚ uvodu velmi mal´eho pr˚ umˇeru vlasu (cca 0.1 mm), coˇz m˚ uˇze pˇri vykreslov´an´ı zp˚ usobovat neˇz´adouc´ı aliasing. Kaˇzd´ y model vlasu se skl´ad´ a z jednotliv´ ych vlasov´ ych vl´aken, kde kaˇzd´e vl´akno je tvoˇreno segmenty. Pˇri modelov´ an´ı se ˇcasto pracuje jen s velmi omezen´ ym mnoˇzstv´ım vlas˚ u, tzv. ˇr´ıd´ıc´ımi vlasy, kter´e jsou ˇcasto reprezentov´any hladk´ ymi kˇrivkami s ˇr´ıd´ıc´ımi body. Pouze tyto vlasy jsou ”uˇces´ any”do poˇzadovan´eho tvaru a animace (dynamika) se prov´ad´ı tak´e pouze s tˇemito vlasy. Tento pˇr´ıstup je v´ yhodn´ y, protoˇze je m´enˇe v´ ypoˇcetnˇe n´aroˇcn´ y. Ostatn´ı vlasy, kter´e jsou nutn´e pro vytvoˇren´ı realistick´eho modelu, se z´ıskaj´ı interpolac´ı tˇechto ˇr´ıd´ıc´ıch vlas˚ u aˇz tˇesnˇe pˇred zobrazov´ an´ım [5]. Tento typ vlas˚ u je implementov´an i v klasick´ ych modelovac´ıch prostˇred´ıch. Napˇr´ıklad v 3ds Max k tomu slouˇz´ı Hair and fur. Tyto metody jsou vˇsak i pˇres zm´ınˇen´e zjednoduˇsov´an´ı pro real-timov´e zobrazov´an´ı sloˇzit´e. Vytvoˇrit vlasy s jednoduˇsˇs´ım zobrazov´an´ım, m˚ uˇzeme pomoc´ı jednoduch´ ych polygon´aln´ıch model˚ u (pl´ aty, v´ alce). Realistiˇcnosti pak dosahujeme pomoc´ı nastaven´ı osvˇetlen´ı a textur.
ˇ SE ˇ KAPITOLA 2. RESER
14
2.5
Texturovac´ı ˇ c´ ast
Texturov´an´ı neboli mapov´ an´ı textury, je proces, kdy se objektu v urˇcit´em bodˇe pˇriˇrazuje detail. Detailem se rozum´ı ploˇsn´ a textura (nˇejak´ y rastrov´ y obr´azek nebo bitmapa) nebo barva. Textura je vlastnˇe takov´ y obal na n´aˇs 3d model. Tˇechto obal˚ u m˚ uˇze b´ yt v´ıce a m˚ uˇzou se vz´ajemnˇe pˇrekr´ yvat [25]. Pokud chceme na nˇejak´ y model namapovat obr´azek, nebo fotografii, mus´ıme urˇcit, jak se bude textura na dan´ y model prom´ıtat.
2.5.1 2.5.1.1
Moˇ znosti prom´ıt´ an´ı textur Sf´ erick´ a (kulov´ a) projekce
Sf´erick´a projekce se nejl´epe hod´ı na objekty tvaru koule. Pˇri sf´erick´e projekci je totiˇz textura prom´ıt´ana na dan´ y objekt formou koule. U ploˇsn´ ych objekt˚ u m˚ uˇze doch´azet ke zkreslen´ı na +Y a -Y p´olech, proto je vyuˇzit´ı t´eto projekce na rovinn´e plochy nevhodn´e [9]. 2.5.1.2
Cylindrick´ a (v´ alcov´ a) projekce
Tato metoda prom´ıt´ a texturu na v´ alec. Prom´ıt´an´ı se prov´ad´ı kolem objektu smˇerem k centr´aln´ı ose. Vhodn´ a je tedy pˇredevˇs´ım na objekty tvaru v´alce. [9]. 2.5.1.3
Ploˇ sn´ a projekce
Rovinn´a projekce textury pod´el osy na uvedenou rovinu. Vhodn´e mapov´an´ı pˇri vˇetˇs´ıch rovn´ ych ploch´ ach [9]. 2.5.1.4
Kubick´ a projekce
Prom´ıt´an´ı textury ve tvaru krychle. Vhodn´e pro rovinn´e objekty. Kubick´a projekce pˇredpokl´ad´a ˇze krychle m´a ˇsest ploch. M˚ uˇzeme prom´ıtat na kaˇzdou plochu stejnˇe tak jako bychom pouˇzili ploˇsnou projekci. Nebo krychli rozprostˇr´ıt a mapovat na tuto plochu. [9]. Ani jedna z tˇechto metod nen´ı u lidsk´e hlavy pouˇziteln´a, proto existuje speci´aln´ı typ mapov´an´ı: 2.5.1.5
UV mapov´ an´ı (2D textury)
Podstatou tvorby textury trojrozmˇern´eho objektu je definov´an´ı polohy kaˇzd´eho vrcholu objektu (vertex) v prostoru souˇradnic UV. Tento prostor tvoˇr´ı obdobu standardn´ıho prostoru XY, avˇsak je orientovan´ y v˚ uˇci povrchu dan´eho objektu. Tvorba UV koordin´at je tedy proces, ve kter´em se snaˇz´ıme z´ıskat 2D reprezentaci 3D modelu. Tˇret´ı dimenze UV mapov´an´ı oznaˇcov´ ana jako W slouˇz´ı k definov´an´ı trojrozmˇern´ ych textur. Abychom mohli zaˇc´ıt pˇriˇrazovat body (ve skuteˇcnosti se nepˇriˇrazuj´ı jen body, ale manipulujeme s cel´ ymi polygony), je nutn´e prov´est tak zvan´ y unwrap. Pomoc´ı metody unwrapingu model rozbal´ıme tak, aby se z nˇej stala jen 2D plocha. Unwraping se prov´ad´ı pod´el definovan´ ych ˇsv˚ u na tˇelese (viz obr´azek 2.7).
ˇ AST ´ 2.5. TEXTUROVAC´I C
15
Obr´ azek 2.7: Pˇr´ıklad unwrappingu Pak uˇz jen tento n´ aˇs rozbalen´ y model nastav´ıme pomoc´ı UV souˇradnic tak aby se textura zobrazovala spr´ avnˇe. UV souˇradnice urˇcuj´ı rozloˇzen´ı textury na povrchu objektu (tedy jak je ”obalena”okolo objektu). UV souˇradnice jsou nˇeco jako v kartografii s´ıt’ rovnobˇeˇzek a poledn´ık˚ u. UV mapov´ an´ı je tedy vlastnˇe popis toho jak se bude n´aˇs obr´azek (textura) prom´ıtat na n´aˇs objekt. Pokud pouˇz´ıv´ ame fotografii je nutn´e obr´azek nejprve upravit. Podobnˇe jako jsme rozbalili n´ aˇs model, mus´ıme rozbalit i fotografii. (Viz obr´azek 2.8) [25]. Dalˇs´ı moˇznost´ı jak si ulehˇcit texturov´an´ı objektu je vyuˇzit´ı technologie Projection Painting. Tato metoda umoˇzn ˇuje rychlou pˇr´ıpravu ColorMapy a to pˇresnˇe tak, ˇze je tvoˇrena pˇr´ımo na model. Projection Painting jsem vyzkouˇsel i u sv´eho modelu, proto budu tuto metodu popisovat pozdˇeji [9].
Obr´ azek 2.8: Pˇr´ıklad texturovac´ı mapy
ˇ SE ˇ KAPITOLA 2. RESER
16
2.6
Animaˇ cn´ı ˇ c´ ast
Animace je sekvence obr´ azk˚ u prom´ıtan´ a pozorovateli tak rychle, ˇze vyvol´av´a iluzi pohybu. Je to proto, ˇze kaˇzd´ y obr´ azek prom´ıtnut´ y na s´ıtnici z˚ ust´av´a viditeln´ y jeˇstˇe pˇribliˇznˇe 1/25s [14].
2.6.1
Zp˚ usoby animace lidsk´ e tv´ aˇ re
Animovat lidskou tv´ aˇr lze v z´ asadˇe tˇremi zp˚ usoby. 2.6.1.1
Pomoc´ı interpolace vrchol˚ u
Morphing – model je tvoˇren´ y vrcholy. Pokud budeme vrcholy manipulovat, bude se mˇenit i model (alespoˇ n z hlediska geometrie, nikoliv topologie). Morphing je tedy zaloˇzen na pˇresouv´an´ı vrchol˚ u. Abychom mohli morphing pouˇz´ıvat, mus´ıme si nejprve pˇripravit v´ıce model˚ u, mezi kter´ ymi se bude morfovat“. Tzn., ˇze pokud budeme animovat lidskou tv´aˇr, ” museli bychom si pro kaˇzd´ y v´ yraz (at’ uˇz by ˇslo emoce, ˇreˇc ˇci dalˇs´ı pohyby) vytvoˇrit model nov´ y. Morfov´an´ı vlastnˇe znamen´ a plynul´ y pˇrechod z jednoho modelu (ze zdrojov´eho) na druh´ y model (c´ılov´ y). Tento pˇrechod se ˇr´ıd´ı pˇredem dan´ ymi pravidly a naz´ yv´a se interpolace. Tato metoda m´ a omezen´ı, objekt zdrojov´ y a c´ılov´ y mus´ı m´ıt stejnou topologii, mus´ı m´ıt stejn´ y poˇcet vrchol˚ u. Dalˇs´ı nev´ yhodou je pr´avˇe nutnost vytvoˇrit spousty model˚ u, mezi kter´ ymi se bude morfovat“ [14]. ” Key-animation – neboli animace pomoc´ı kl´ıˇcov´an´ı, zaznamen´an´ı urˇcit´e hodnoty (polohy, velikosti, ...) ˇc´ asti modelu v urˇcit´em ˇcase. Po zakl´ıˇcov´an´ı nˇekolika hodnot se mezi nimi v ˇcase interpoluje [14].
Obr´ azek 2.9: Sch´ematick´ y n´akres Watersova modelu svalu
ˇ ´I C ˇ AST ´ 2.6. ANIMACN
17
Interpolace parametr˚ u – Jednotliv´e v´ yrazy obliˇceje jsou definov´any vektory parametr˚ u, kontroln´ı parametry pak deformuj´ı m´ıstn´ı regiony (oblasti), neboli parametry ovlivˇ nuj´ı nˇejakou oblast modelu. Pˇri animaci se vlastnˇe prov´ad´ı interpolace parametr˚ u. Na t´eto metodˇe stav´ı tak´e Waters˚ uv parametrick´ y model [34]. Zjednoduˇsen´ y model K. Waterse a F. Parka vych´az´ı z toho, ˇze kaˇzd´ y sval je ke kosti pˇrichycen ve dvou m´ıstech (hlava a pata). Hlava svalu je pevnˇe um´ıstˇena na jednom konci svalu smrˇst’ov´ an´ı, neboli kontrakce jsou smˇeˇrovan´e k hlavˇe svalu, nebo jen m´alo od n´ı. Pata je pak pˇresunuta tak, aby spojnice hlava-pata odpov´ıdala smˇeru, kter´ ym se tk´an ˇ ub´ır´ a pˇri kontrakci svalu. Kaˇzd´ y sval p˚ usob´ı na model hlavy tak jak m´a definovan´e parametry. Vrcholy ovlivnˇen´e svalem, leˇz´ı v takzvan´e z´onˇe p˚ usoben´ı. Tyto z´ony jsou omezeny jednak vzd´alenost´ı od hlavy svalu a d´ ale pak u ´hlovou odchylkou od spojnice hlava-pata (viz obr´azek 2.9). Pˇri kontrakci svalu je nutn´e pro kaˇzd´ y vrchol urˇcit u ´hlovou odchylku od spojnice hlavapata, porovnat ji s u ´hlov´ ym omezen´ım svalu, urˇcit vzd´alenost od hlavy svalu a rozhodnout do jak´e z´ ony vrchol patˇr´ı [16]. Konkr´etn´ı vrchol se vˇzdy pohybuje po spojnici s hlavou svalu. V z´onˇe 2 se vrchol pohybuje line´ arnˇe, pˇriˇcemˇz velikost pˇr´ır˚ ustku z´avis´ı na odklonu spojnice vrchol-hlava od spojnice pata-hlava. Nejvˇetˇs´ı vliv m´a sval na vektor leˇz´ıc´ı pˇr´ımo na spojnici pata-hlava tento vektor se pohybuje nejrychleji, nejmenˇs´ı vliv m´a naopak na u ´hlov´e hranici svalu a tento vektor se nepohybuje v˚ ubec [16]. Z´ona 1 m´a na vrcholy podobn´ y vliv, ale jeˇstˇe z´ avisl´ y na vzd´ alenosti vrcholu od hranice z´ony. Pohyb vrchol˚ u je podobn´ y jako v z´ onˇe ˇ ım je vrchol bl´ıˇze u 2. C´ ´pln´emu konci aktivity svalu, t´ım rychleji se pohybuje [16]. Tento zp˚ usob je vyuˇzit i v ECAF TalkingHead Toolkit, tedy i animace m´eho modelu je ˇr´ızena pˇres pseudo-svaly (viz obr´ azek 2.10).
Obr´ azek 2.10: Waters˚ uv model v praxi (TalkingHead)
ˇ SE ˇ KAPITOLA 2. RESER
18
Parametr delta jednotliv´ ych sval˚ u, symbolicky popisuje napjatost tˇechto sval˚ u. Pro plynul´ y pˇrechod mezi dvˇema v´ yrazy tv´ aˇre je nutn´e prov´est pˇrinejmenˇs´ım postupnou line´arn´ı interpolaci mezi dvˇema parametry pro kaˇzd´ y sval a tedy pro vˇsechny svaly pod´ılej´ıc´ı se na pˇredchoz´ım a n´ asleduj´ıc´ım v´ yrazu. Tento neuvaˇzuje nelinearitu zmˇen v pohybu jednotliv´ ych sval˚ u [16]. Bylo by tedy vhodnˇejˇs´ı uvaˇzovat jistou formu neline´arn´ı interpolace, kter´a by v´ yˇse uveden´e vzala v potaz. 2.6.1.2
Pomoc´ı syst´ emu kost´ı
Tato metoda m´ a v´ yhodu ve velik´e variabilitˇe v´ yraz˚ u, kter´ ych m˚ uˇzeme dos´ahnout. Kaˇzd´a kost um´ıstˇen´a do modelu hlavy pˇredstavuje v´ yznamn´ y sval v obliˇceji. Propojen´ım kost´ı dosahujeme moˇznosti, ˇze pˇri zmˇenˇe jednoho svaluje pohneme i dalˇs´ımi, tak jak by to bylo ve skuteˇcnosti. Pokud jsou kosti takto propojen´e, pro spr´avnou deformaci modelu, maj´ı mezi sebou urˇcen´e hierarchick´e vztahy a nastaveny omezen´ı pohybu v os´ach. Pohybem tˇechto kost´ı tvarujeme model tak, abychom dos´ahli c´ılen´eho v´ yrazu tv´aˇre. Aby kosti ovlivˇ novali mesh, potˇrebujeme pouˇz´ıt skinning. Skinning slouˇz´ı pr´avˇe k deformaci modelu na Z´akladˇe pohybu kost´ı. Skinning pˇriˇrazuje kaˇzd´e kosti skupinu vrchol˚ u modelu, kter´e m´a ovlivˇ novat. Nev´ yhodou je n´ aroˇcnost tohoto v´ ybˇeru vrchol˚ u tak, aby byla deformace co nejpˇresnˇejˇs´ı. ˇ ım vyˇsˇs´ı Pokud je potˇreba detailnˇejˇs´ı a rozs´ ahlejˇs´ı mimiky zvyˇsuje se t´ım i poˇcet kost´ı. C´ poˇcet kost´ı, t´ım podrobnˇejˇs´ı mimika, ale t´ım preciznˇejˇs´ı mus´ı b´ yt nastaven´ı skinningu. Pokud nen´ı deformace kostmi pˇresn´ a a na modelu vznikaj´ı pˇrehyby, je moˇzn´e, pouˇz´ıt nav´ıc tzv., deformaˇcn´ıch 3D s´ıt´ı. Pomoc´ı tˇechto s´ıt´ı m˚ uˇzeme omezovat vliv r˚ uzn´ ych kost´ı na ˇc´asti tˇela [14]. 2.6.1.3
Motion Capture
Motion capture neboli syst´em pro sn´ım´ an´ı pohybu. Existuje spousta technologi´ı jak sn´ımat pohyb ˇclovˇeka, pro sn´ım´ an´ı obliˇceje se vˇsak nejv´ıce hod´ı optick´e syst´emy. Funguj´ı tak, ˇze sn´ıman´e osobˇe se na obliˇcej nalep´ı“ optick´e znaˇcky (viz obr´azek 2.11). ”
Obr´azek 2.11: Pˇr´ıklad aplikace pro z´ısk´av´an´ı dat z optick´eho zaˇr´ızen´ı mocapu
ˇ ´I C ˇ AST ´ 2.6. ANIMACN
19
Obliˇcej je pak sn´ım´ an kamerami a tento obraz je pak zpracov´av´an pomoc´ı softwaru pro mocap [19], kter´ y rozezn´ av´ a, kde se jak´a znaˇcka nach´az´ı. Kaˇzd´a znaˇcka na obliˇceji osoby je pak pˇriˇrazena k bodu/oblasti na modelu. Tzn., ˇze pˇri pohybu znaˇcek se pohybuje i model. Mation capture se dnes tak´e kombinuje s 3D Scanem. Geometrie obliˇceje je zachycena pomoc´ı strukturovan´eho svˇetla z 3d skener. Pomoc´ı nejmodernˇejˇs´ıch 3d skenovac´ıch syst´em˚ u, m˚ uˇzeme z´ıskat neuvˇeˇriteln´e mnoˇzstv´ı dat vedouc´ı k vysok´emu rozliˇsen´ı (detailnosti) modelu. Mocap syst´emy na druh´e stranˇe maj´ı pomˇernˇe vysok´e ˇcasov´e rozliˇsen´ı pro mal´ y poˇcet sledovan´ ych bod˚ u. T´ım p´ adem vznik´a syst´em s vysok´ ym rozliˇsen´ım skenuj´ıc´ı geometrii pro zachycen´ı povrchov´ ych deformac´ı a mocap data pro amplitudy, naˇcasov´an´ı a koordinace pohybu prvk˚ u [18]. Velice hezky je tento zp˚ usob vyuˇzit napˇr´ıklad ve hˇre LA Noire [28].
ˇ SE ˇ KAPITOLA 2. RESER
20
2.7
N´ astroje pro 3D modelov´ an´ı
Tato pr´ace je vytv´ aˇrena v programu Autodesk 3ds Max 2010. Pop´ıˇsu zde, jak´e n´astroje jsem pˇri sv´em modelov´ an´ı pouˇzil a jak´e dalˇs´ı moˇznosti 3ds Max m´a pˇri tvorbˇe modelu ˇclovˇeka, tedy i hlavy samotn´e.
2.7.1
Interface Autodesk 3ds Max 2010
V horn´ı ˇc´asti grafick´eho rozhran´ı je um´ıstˇeno klasick´e nab´ıdkov´e menu (1). Liˇsta pod menu obsahuje rychl´ a tlaˇc´ıtka pro nejpouˇz´ıvanˇejˇs´ı pˇr´ıkazy, napˇr´ıklad manipulaci s objekty, jejich selekci a podobnˇe (2). Hlavn´ı ˇc´ ast obrazovky je tvoˇrena pracovn´ı plochou a je rozdˇelena na 4 ˇc´asti, kaˇzd´ a ˇc´ ast je pohled na stejnou sc´enu, kde v kaˇzd´e ˇc´asti m˚ uˇzeme zvolit zp˚ usob zobrazen´ı sc´eny (3). Na prav´e stranˇe obrazovky je menu pro vytv´aˇren´ı a u ´pravu objekt˚ u. Dalˇs´ı ˇc´ast´ı se ovl´ adaj´ı animace a je tvoˇrena spodn´ı ˇcasovou osou a jej´ım ovl´ad´an´ım (5). Posledn´ım d˚ uleˇzit´ ym prvkem je zobrazen´ı a u ´prava souˇradnic (6) (viz obr´azek 2.12). D´ale je tu samozˇrejmˇe tak´e pˇr´ıkazov´ a ˇr´ adka a v neposledn´ı ˇradˇe ikony pro ovl´ad´an´ı funkce zoom [11].
Obr´ azek 2.12: Popis grafick´eho rozhran´ı programu 3ds Max
2.7.2
Pouˇ zit´ e n´ astroje
Pˇri v´ yrobˇe modelu ve 3ds Maxu nejˇcastˇeji projdeme nˇekolika nejd˚ uleˇzitˇejˇs´ımi kroky. Zaprv´e vytvoˇr´ıme si nˇejak´ y prvek (grafick´ y primitiv, kˇrivka, kost pro animaci, nebo cel´a kostra,. . . ). Prvek m˚ uˇze b´ yt v z´ asadˇe troj´ıho typu (pokud nejde o zvl´aˇstn´ı objekt napˇr´ıklad animaˇcn´ı
´ ´ ´I 2.7. NASTROJE PRO 3D MODELOVAN
21
kost) Editable poly, Editable mesh a Editable patch. Kaˇzd´a z tˇechto reprezentac´ı m´a svoje v´ yhody i nev´ yhody a pouˇz´ıv´ ame je tedy podle toho, jak n´am vyhovuje. Tˇemto prvk˚ um pak do z´asobn´ıku modifik´ ator˚ u pˇrid´ av´ame modifik´atory, kter´e manipuluj´ı s objektem. Pomoc´ı material editoru pˇriˇrad´ıme modelu materi´al (texturu, barvu, vliv osvˇetlen´ı,. . . ). Model animujeme a nakonec provedeme rendering, neboli vykreslen´ı objektu. V t´eto ˇc´asti pop´ıˇsu kter´e modifik´ atory a dalˇs´ı n´ astroje jsem pozdˇeji pouˇzil pˇri vytv´aˇren´ı m´eho modelu. 2.7.2.1
Editable poly
V Editable Poly m˚ uˇze urˇcovat tvar v´ ysledn´eho objektu modifik´atory nebo pracovat s jednotliv´ ymi subobjekty. Subobjekt vyberete bud’ rozbalen´ım nab´ıdky s nazvy subobjekt˚ u, to provedete kliknut´ım na plus vedle n´apisu Editable Poly v Modifier stacku, nebo m˚ uˇzete v ˇc´asti Selection vybrat na potˇrebn´ y subobjekt pˇres ikony a tak´e m˚ uˇzete pouˇz´ıvat ˇc´ıseln´e zkratky 1-5: • 1: Vertex - ˇcesky ”vrchol”, subobject, pomoc´ı kter´eho m˚ uˇzete pohybovat jednotliv´ ymi body. • 2: Edge - ”hrana”, po vybr´ an´ı je moˇzn´e modifikovat jednotliv´e hrany. • 3: Border - ”okraj, hranice”, funguje hodnˇe podobnˇe jako subobjekt edge, ale m˚ uˇzete s n´ım oznaˇcit pˇr´ımo krajn´ı hrany. • 4: Face - ”plocha”, vybere spojuj´ıc´ı plochu mezi tˇremi a v´ıce vrcholy. • 5: Element - ”z´ akladn´ı souˇc´ast”- pracuje na u ´rovni face, ale vybere vˇsechny fyzicky spojen´e plochy - napˇr. u objektu koule vybere vˇsechny polygony, ale pokud je do jednoho objektu spojeno v´ıce ˇc´ast´ı, m˚ uˇze b´ yt tento subobjekt uˇziteˇcn´ y. Cut – N´ astroj slouˇz´ı k dˇelen´ı ploch, hran nebo cel´eho objekt. Staˇc´ı jen myˇs´ı nastavit, ˇ vytvoˇr´ı nov´e hrany a vrcholy na objektu. odkud kam se m´ a ˇrez prov´est. Rez View Align - zarovn´ a vˇsechny vrcholy na rovinu kolmou k aktu´aln´ımu pohledu. Grid Align - zarovn´ a objekt s centr´aln´ı rovinou. Relax - pracuje stejnˇe jako modifik´ator Relax. Posouv´a vrcholy tak, ˇze jsou co moˇzn´ a nejd´ale od um´ıstˇen´ı sousedn´ıch vrchol˚ u (tato vzd´alenost z´avis´ı na hodnotˇe Amount uveden´e v Settings, kde m˚ uˇzete nastavit tak´e hodnotu Interations, kter´a ud´av´a, kolikr´at se tento algoritmus provede). Push/Pull – pomoc´ı ˇstˇetce ve tvaru kruhu, kter´ y se zarovn´av´a s norm´alami v jednotliv´ ych ˇc´ astech objektu m˚ uˇzeme deformovat povrch. Push slouˇz´ı k zatlaˇcen´ı vrchol˚ u proti ˇ etec v reˇzimu Relax odsmˇeru norm´ al, Pull vrcholy naopak vytlaˇcuje ve smˇeru norm´al. Stˇ daluje bl´ızko um´ıstˇen´e vrcholy, zaobluje ostr´e hrany a celkovˇe pˇrizp˚ usobuje vrcholy tak aby tvoˇrili plochu bez artefakt˚ u. Revert vrac´ı povrch objektu k p˚ uvodn´ımu tvaru. V Push/Pull Directions m˚ uˇzete nastavit, jestli budou plochy deformov´any ve smˇeru aktu´aln´ıch norm´ al, nebo ve smˇeru vybran´e osy. Push/Pull Value, Brush Size, Brush Strenght a Brush Options nastavuj´ı vlastnosti deformaˇcn´ıho ˇstˇetce. Tlaˇc´ıtka Commit a Cancel jsou dostupn´ a po nˇejak´ ych zmˇen´ ach. Commit potvrd´ı zmˇeny na povrchu tˇelesa, takˇze funkce Revert jiˇz tyto zmˇeny nevrac´ı. Cancel proveden´e zmˇeny vymaˇze.
ˇ SE ˇ KAPITOLA 2. RESER
22
Extrude – N´ astroj slouˇz´ı k takzvan´emu vytlaˇcen´ı“ nˇejak´e ˇc´asti objektu. Tento n´astroj ” je moˇzno ovl´adat bud’ pˇr´ımou aplikac´ı myˇs´ı (taˇzen´ım), nebo pˇres okno nastaven´ı zvolit pˇresn´e hodnoty. Nastaven´ı extrude m´ a tyto parametry - Extrusion Height (ud´av´a, jak vysoko bude vrchol nad p˚ uvodn´ım um´ıstˇen´ım) a Extrusion Base Width (podle nˇej se vytvoˇr´ı nov´e vrcholy v zadan´e vzd´alenosti od p˚ uvodn´ıho m´ısta). Weld – Spoj´ı mnoˇzinu vrchol˚ u v nastaven´e vzd´alenosti. Vzd´alenost, ve kter´e se body maj´ı jeˇstˇe spojovat, zad´ av´ ame pˇres okno nastaven´ı parametrem Weld Treshold. Chamfer – Vybran´ y vrchol se rozpadne na dalˇs´ı vrcholy tvoˇr´ıc´ı nov´ y polygon, tyto vrcholy se um´ıst´ı ve vzd´ alenosti urˇcen´e parametrem Chamfer Amount. Pokud bude zvolena moˇznost open vznikne v objekty d´ıra. Target Weld - spojuje subojekty, kter´e jsou postupnˇe vyb´ır´any myˇs´ı. Connect - vytvoˇr´ı hranu mezi dvˇema vybran´ ymi vrcholy, kter´e jsou souˇc´ast´ı jednoho polygonu – nen´ı mezi nimi jin´ a hrana. Bridge – spoj´ı dvˇe hrany nov´ ym polygonem.
2.7.2.2
Smooth
Dalˇs´ım velice d˚ uleˇzit´ ym modifik´ atorem je Smooth (vyhlazen´ı). Smooth modifik´atory pˇrid´avaj´ı do vaˇsich objekt˚ u dalˇs´ı vrcholy a polygonov´e s´ıtˇe a t´ım dˇelaj´ı objekt hladˇs´ım. Existuje v´ıce r˚ uzn´ ych smooth modifik´ ator˚ u ve 3ds Maxu. Turbosmooth je rychlejˇs´ı, a u ´ˇcinnˇejˇs´ı pˇri pr´aci na sloˇzit´ ych subdivision modelech. Meshsmooth vyhlazov´an´ı je pomalejˇs´ı, ale nab´ız´ı dalˇs´ı ovl´adac´ı prvky (r´ yhov´ an´ı, v´ ahy, atd.). V´ yhoda turbosmoothu je pˇredevˇs´ım v jeho rychlosti, m˚ uˇzeme pracovat v reˇzimu edit poly a pˇritom m´ıt objekt vyhlazen´ y. Pokud n´am vˇsak staˇc´ı objekt modelovat bez vyhlazov´an´ı, m˚ uˇzeme m´ıt vliv modifik´ atoru prozat´ım vypnut´ y. Na to, jak objekt bude vypadat v koneˇcn´e verzi se smoothem, slouˇz´ı tlaˇc´ıtko ˇz´ arovky. Stiskem tlaˇc´ıtka ˇz´arovky tedy m˚ uˇzeme vypnout nebo zapnout vliv modifik´ atoru smooth na model.
2.7.2.3
Symmetry
Modifik´ator symmetry slouˇz´ı k vytvoˇren´ı zrcadlov´eho obrazu naˇseho modelu. V parametrech si urˇc´ıme, podle jak´e osy se m´ a model zrcadlit a v jak´e vzd´alenosti od objektu. Vˇsechny zmˇeny, kter´e provedeme na naˇs´ı ˇc´ asti modelu, se provedou tak´e na obrazu. V´ yhoda tohoto modifik´atoru je moˇznost sl´evat okraje naˇs´ı ˇc´asti s ˇc´ast´ı zrcadlenou, tak ˇze tvoˇr´ı pouze jeden objekt.
2.7.2.4
UVW Map
Modifik´ator slouˇz´ı k nastaven´ı UVW mapov´an´ı objektu. Je moˇznost zde volit klasick´e prom´ıt´an´ı na primitivy a nastaven´ı zobrazov´an´ı textury. Dalˇs´ı pouˇzit´e n´ astroje jsou vˇzdy jen zm´ınˇeny v popisu modelov´an´ı.
2.8. POPIS PROGRAMU TALKINGHEAD
2.8
23
Popis programu TalkingHead
Program TalkingHead je jeden z Embodied Conversational Agent (ECA) toolkit˚ u. ECA Toolkit pˇredstavuje program, kter´ y m´a definovan´ y zp˚ usob ovl´ad´an´ı, a kter´ y je moˇzn´e vyuˇz´ıt v nˇejak´e dalˇs´ı aplikaci, tak aby vyuˇz´ıvala moˇznosti ovl´ad´an´ı pomoc´ı ECA. Tedy pˇredevˇs´ım vˇerohodn´e grafick´e ztv´ arnˇen´ı hlavy, hlasov´ y projev a pˇr´ıpadnˇe i rozpozn´av´an´ı ˇreˇci [33]. TalkingHead je postaven na toolkitu Expression a vyuˇz´ıv´a technologii IBM ViaVoice pro synt´ezu hlasu. Ovl´ ad´ an´ı je pˇres form´ at XML jazyku pojmenovan´ y ECAF (ECA Fa¸cade) [13]. Pomoc´ı ECAF m˚ uˇzeme u agenta kontrolovat mimiku, pozici a velikost hlavy. Jednoduˇse tak´e m˚ uˇzeme pˇr´ımo zad´ avat text,kter´ y m´a agent pˇreˇr´ıkat. Tento toolkit tak´e umoˇzn ˇuje mˇenit a ovl´adat okol´ı hlavy. M´ a moˇznost mˇenit pozad´ı, na obrazovce zobrazovat text,obr´azky a dokonce i video.Talking Head pak poskytuje zpˇetnou vazbu ve formˇe programov´ ych ud´alost´ı (konec promluvy ˇci kliknut´ı myˇs´ı). Talking Head zat´ım bˇeˇz´ı jako serverov´a aplikace, takˇze ji lze ovl´ adat z klienta napsan´eho v libovoln´em jazyce [33]. Program je naps´an v jazyce c++ a vyuˇz´ıv´ a grafick´e knihovny standartu OpenGL. Obr´azek popisuj´ıc´ı architekturu aplikace 2.13.
Obr´ azek 2.13: Architektura aplikace ECAF toolkit Talking Head
2.8.1
Datov´ e soubory TalkingHeadu pro konfiguraci sval˚ u
Model hlavy je do programu TalkingHead naˇcten z binary mesh (∗.M SH) souboru. Informace o v´ yrazech program naˇc´ıt´ a z datov´eho souboru v´ yraz˚ u. V tomto souboru jsou uvedeny vˇsechny dostupn´e v´ yrazy obliˇceje. Kaˇzd´ y v´ yraz je pops´an a ovlivnˇen definovan´ ymi svaly.
24
ˇ SE ˇ KAPITOLA 2. RESER
Kaˇzd´ y v´ yraz v souboru m´ a tedy uvedeny svaly kter´e pouˇz´ıv´a, a u kaˇzd´eho uvedenou v´ahu vyuˇzit´ı tohoto svalu. V dalˇs´ım datov´em souboru, kter´ y aplikace pouˇz´ıv´a, je obsaˇzen popis vˇsech nadefinovan´ ych sval˚ u. Podle Watersova modelu je v souboru u kaˇzd´eho svalu uvedeno kde m´a hlavu (zaˇc´atek), patu (konec) a velikost pole p˚ usoben´ı. Aplikace potˇrebuje jeˇstˇe informace o tom, kde se vlastnˇe na hlavˇe nach´az´ı oˇci a kde brada. Pˇredevˇs´ım pro nˇekter´e specifick´e v´ yrazy a spr´avnou funkci sval˚ u. Tento datov´ y soubor obsahuje vˇzdy ˇc´ ast hlavy (napˇr´ıklad prav´e oko) a n´asleduj´ı identifikaˇcn´ı ˇc´ısla vrchol˚ u modelu a v´ahu vrcholu vzhledem k tomu, jak´ ym vlivem na nˇej budou p˚ usobit svaly. Posledn´ı datov´ y soubor, kter´ y je nutn´e do aplikace naˇc´ıst, obsahuje seskupen´ı pˇredchoz´ıch v´ yraz˚ u do jednoduˇsˇs´ıch celk˚ u. Soubor slouˇz´ı k m´ıch´an´ı r˚ uzn´ ych v´ yraz˚ u. Pro moji pr´ aci je kl´ıˇcov´ a aplikace pro TalkingHead, kter´a usnadnuje nastaven´ı modelu pro samotnou aplikaci toolkit ECAF Talking Head a obsahuje jednoduch´ y editor pro pr´aci s modelem hlavy. Interface TalkingHeadu pro konfiguraci sval˚ u (viz obr´azek 2.14).
Obr´ azek 2.14: Editor pro pr´aci se svaly
Kapitola 3
Postup pr´ ace 3.1
Pˇ r´ıprava
Jeˇstˇe neˇz jsem se pustil do modelov´an´ı lidsk´eho obliˇceje, musel jsem se poˇr´adnˇe sezn´amit s prostˇred´ım 3ds Maxu, pˇredt´ım jsem modeloval pˇredevˇs´ım v programu Blender a Maya. Na zaˇc´ atku pr´ ace jsem se rozhodl vytvoˇrit model za podpory fotografi´ı skuteˇcn´e osoby, nejen pro lepˇs´ı kontrolu geometrie, ale tak´e pro pozdˇejˇs´ı otexturov´an´ı. Pokud bude model vytvoˇren podle fotografie, nemˇel by b´ yt probl´em tuto fotografii pak na model aplikovat. Rozhodl jsem se modelovat ˇclovˇeka, kter´eho zn´am a nikoliv pouˇz´ıt fotografie nalezen´e na internetu nebo poskytnut´e zad´ avaj´ıc´ım BP. Takˇze prvn´ım u ´kolem bylo poˇr´ıdit dostateˇcnˇe kvalitn´ı dobˇre nasvˇetlen´e a samozˇrejmˇe tak´e dobˇre nafocen´e fotografie. Pomoc´ı fotoapar´ atu jsem poˇr´ıdil dvˇe fotografie vybran´e osoby. Jedna fotografie pˇredn´ı (focen´a zepˇredu) druh´ az profilu (focen´ a ze strany) (viz obr´azek 3.1).
Obr´ azek 3.1: Poˇr´ızen´e fotografie, pˇredn´ı a profil Pˇri focen´ı jsem pˇredpokl´ adal, ˇze jsem vˇse vyfotil spr´avn´ ym zp˚ usobem. Po prohl´ednut´ı fotografi´ı na poˇc´ıtaˇci, jsem vˇsak doznal znaˇcn´ ych nepˇresnost´ı. Fotografie se neshodovaly ani velikost´ı, ani natoˇcen´ım a dokonce ani osvˇetlen´ım. Obˇe fotografie jsem nakonec upravil pomoc´ı programu GIMP 2. Pˇri poˇrizov´an´ı vlastn´ıch fotografi´ı bych doporuˇcoval poˇr´ adn´e
25
´ KAPITOLA 3. POSTUP PRACE
26
nasv´ıcen´ı sc´eny, nejl´epe ve studiu. Ve studiu tak´e nebude probl´em s odrazy ostatn´ıch objekt˚ u od subjektu (napˇr´ıklad zabarven´ı do okoln´ıho prostˇred´ı). Dalˇs´ı probl´em m˚ uˇze nastat pˇri ot´aˇcen´ı subjektu hlavou, doporuˇcoval bych subjekt fotit ze dvou fotoapar´at˚ u (nejl´epe stejn´e znaˇcky nebo alespoˇ n se shodn´ ym nastaven´ım, samozˇrejmost´ı je nastavit stejn´e vyv´aˇzen´ı svˇetla a stejn´eho rozliˇsen´ı fotografie). Fotografovan´ y subjekt by mˇel m´ıt neutr´aln´ı v´ yraz, ze kter´eho se bude pozdˇeji vych´ azet. Poˇr´ızen´e fotografie jsem pouˇzil jako referenˇcn´ı obr´azky pro model. Referenˇcn´ı obr´azky dostaneme do 3ds Maxu jednoduch´ ym um´ıstˇen´ım dvou na sebe kolm´ ych ploch (plane). Nejprve se pˇrepneme do zobrazen´ı front (pˇredn´ı zobrazen´ı) a vytvoˇr´ıme prvn´ı plochu a um´ıst´ıme si ji na stˇred. Pak se pˇrepneme do zobrazen´ı left (popˇr´ıpadˇe right, z´aleˇz´ı, jakou strany profilu jsme fotili) a vytvoˇr´ıme dalˇs´ı plochu a um´ıst´ıme na stˇred. Tyto plochy mus´ı m´ıt stejn´ y pomˇer stran, jako maj´ı fotografie. V m´em pˇr´ıpadˇe prvn´ı (pˇredn´ı) fotografe s pomˇerem 2048x1536. Druh´a (profilov´a) fotografie s pomˇerem 2000x1500. Plochy jsem nastavil na velikost 20,48x15,36 a 20x15. Pomoc´ı material editoru pˇriˇrad´ıme ploch´am fotografie jako textury. Aby byly fotografie l´epe viditeln´e, v nastaven´ı zmˇen´ıme self-iluminatton na 100. T´ım zv´ yˇs´ıme jasovou sloˇzku obr´azk˚ u. M´ame tedy pˇripravenou pˇredlohu. Pˇred t´ım neˇz zaˇcneme pracovat, doporuˇcuji nastavit si pracoviˇstˇe podle sebe. J´ a jsem pouˇzil klasick´e zobrazen´ı 4 pohled˚ u na obrazovce. Z vrchu (top), perspektivn´ı, z boku (left/right) a posledn´ı zepˇredu (front). Modelov´an´ı pomoc´ı polygon˚ u je prakticky opakov´an´ım st´ale stejn´ ych krok˚ u. Proto uv´ad´ım pouze zaˇc´ atek modelov´ an´ı, zbytek je obdobn´ y.
3.2 3.2.1 3.2.1.1
Modelov´ an´ı Modelov´ an´ı rt˚ u Pr´ ace s Editable poly
Jako prvn´ı si vymodelujeme rty. V pohledu front, z menu Create (vytvoˇr), ze standart primitives (standardn´ıch primitiv) vybereme plane (plocha) a vytvoˇr´ıme ploˇsku na spodn´ım rtu referenˇcn´ıho obr´ azku. Ploˇsce nastav´ıme Lenght segments a Height segments (poˇcet segment˚ u v d´elce a v ˇs´ıˇrce) na jeden. Klikneme na ploˇsku prav´ ym tlaˇc´ıtkem a moˇznost´ı Convert To zkonvertujeme do Editable Poly (z ploˇsky udˇel´ame upraviteln´ y polygon). Polygon um´ıst´ıme prav´ ym krajem tak aby se dot´ ykal pomysln´e osy obliˇceje. Jelikoˇz jiˇz m´ame ploˇsku ve formˇe polygonu, m˚ uˇzeme to udˇelat n´ asledovnˇe. Oznaˇcit cel´ y polygon a pomoc´ı manipul´atoru Move (posun) ploˇsku posunout na poˇzadovan´e m´ısto, nebo se v menu Selection (v´ ybˇer) pˇrepneme do sub-objekt reˇzimu, kter´ y n´ am nejv´ıce vyhovuje. Pro zaˇc´atek pouˇzijme Vertex reˇzim, to znamen´a, ˇze ted’ m˚ uˇzeme ovl´ adat jednotliv´e vrcholy naˇseho polygonu. A vrcholy nastav´ıme tak aby tvoˇrily ˇc´ ast spodn´ıho rtu. Stejnˇe tak v pohledu ze strany (left), uprav´ıme vrcholy, aby sedˇely na spodn´ım rtu (viz obr´ azek 3.2). Pokaˇzd´e, kdyˇz budete pohybovat vrcholy, segmenty nebo polygony, nebo budete vytv´aˇret nov´e polygony, ujistˇete se, ˇze jste jejich polohu upravili jak v pohledu top, tak v pohledu left.
´ ´I 3.2. MODELOVAN
27
Obr´ azek 3.2: Polygon um´ıstˇen´ y na rty a upraven´ y v subobjekt m´odu Dalˇs´ı polygony si uˇz vytvoˇr´ıme pomoc´ı kop´ırov´an´ı hran. V menu Selection zvol´ıme reˇzim edge (hrana). Klikneme na hranu, kterou potˇrebujeme zkop´ırovat a stiskneme Shift, n´asledn´ ym posunut´ım hrany vznikne hrana nov´a spojen´a s pˇredchoz´ı hranou dalˇs´ım polygonem (viz obr´ azek 3.3). Tento polygon nastavte tak, aby sedˇel na rtu. Moˇznosti jak upravovat polygon typu edit poly jsou tedy z´avisl´e na pouˇzit´em reˇzimu. Vertex sub-object reˇzim, kter´ y umoˇzn ˇuje manipulovat samotn´ ymi vrcholy. Edge sub-object reˇzim manipuluje s hranami polygonu a nakonec v Polygon sub-object reˇzimu pohybujete s cel´ ym polygonem (v nˇekter´ ych jin´ ych model´aˇr´ıch se tomuto reˇzimu ˇr´ık´a face, protoˇze manipulujeme s ploˇskou).
Obr´ azek 3.3: Kop´ırov´an´ım polygon˚ u vytv´aˇr´ıme povrch modelu Postupn´ ym kop´ırov´ an´ım hran vytvoˇr´ıme poˇzadovan´ y tvar rt˚ u. Nemus´ıme kop´ırovat vˇzdy pouze jednu hranu. V´ıce hran oznaˇc´ıme bud’ v´ ybˇerem pomoc´ı t´ahnut´ım myˇsi (border) nebo postupn´ ym klik´ an´ım na hrany se stisknutou kl´avesou ctrl. Pokud omylem vybereme ˇspatnou hranu, staˇc´ı se bud’ vr´ atit zpˇet, nebo kliknout na hranu se stisknutou kl´avesou alt. Ke kop´ırov´ an´ı jsem tak´e pouˇz´ıval funkci Scale (ˇsk´alov´an´ı). Velk´ y probl´em byl d´avat si pozor a upravovat polygony v pohledu front a left z´aroveˇ n.
3.2.2
Usnadnˇ en´ı s pomoc´ı funkce Symetrie
Protoˇze lidsk´ a hlava je z velk´e vˇetˇsiny soumˇern´a, nebo alespoˇ n ˇc´asteˇcnˇe soumˇern´a, nemus´ıme modelovat hlavu u ´plnˇe celou. T´ım mysl´ım, ˇze se nemus´ı modelovat jak prav´a tak lev´a ˇc´ ast hlavy. Staˇc´ı vytvoˇrit jednu polovinu hlavy a druh´a se vytvoˇr´ı jako pˇresn´ y obraz t´e naˇs´ı ruˇcnˇe vymodelovan´e. V 3ds Maxu to provedeme pomoc´ı modifik´atoru Symmetry. Modifik´ ator jednoduˇse pˇrid´ ame za n´ aˇs editable poly. V modifik´atoru symmetry, si nastav´ıme osu, ve kter´e
´ KAPITOLA 3. POSTUP PRACE
28
chceme vytv´aˇret obraz. V m´em pˇr´ıpadˇe je to v rovinˇe X a protoˇze se mi neuk´azal ˇz´adn´ y model, je nutn´e zatrhnout moˇznost flip, kter´a ot´aˇc´ı smˇer zrcadlen´ı. Symmetry m´a dalˇs´ı nastaven´ı Slice along mirror“ slouˇz´ıc´ı ke spojen´ı obrazu s pˇredlohou do jedin´eho slit´eho“ ” ” celku. Pokud povol´ıme sl´ev´ an´ı vrchol˚ u na vˇetˇs´ı vzd´alenost Weld seem“ pomoc´ı Treshold“ ” ” m˚ uˇzeme nastavit, do jak´e vzd´ alenosti se maj´ı vrcholy jeˇstˇe sl´evat“ (viz obr´azek 3.4). ”
Obr´ azek 3.4: Model rt˚ u po aplikaci modifik´atoru symmerty Pokud budete cht´ıt zase pracovat v edit poly, mus´ıte se tam v z´asobn´ıku modifik´ator˚ u pˇrepnout. To vˇsak zp˚ usob´ı, ˇze jiˇz neuvid´ıte, co prov´ad´ı modifik´atory nad v´ami pr´avˇe ovl´adan´ ym modifik´ atorem. Tady v tomto pˇr´ıpadˇe nevid´ıme symetrii modelu. Pro zobrazen´ı tˇechto modifikac´ı slouˇz´ı moˇznost ”Show end result on / off toggle”Nyn´ı symetrii vid´ıme, a pokud udˇel´ame zmˇenu na naˇs´ı (tady lev´e) stranˇe modelu, dojde automaticky ke zmˇenˇe i na zrcadlen´e ˇc´ asti. Pokud nebudeme cht´ıt plnˇe symetrick´ y obliˇcej, je nutn´e model pˇrev´est znovu na editable poly, tentokr´ at se vˇsak pˇrevede i ˇc´ast zrcadlen´a a stane se bˇeˇznou souˇc´ast´ı modelu. Tzn., ˇze m˚ uˇzete editovat obˇe ˇc´ asti bez efektu na ˇc´ast druhou.
3.2.3
Vyhlazov´ an´ı pomoc´ı funkc´ı Smooth
U sv´eho modelu jsem pouˇzil turbosmooth, hlavnˇe proto, abych mohl vidˇet, jak v´ ysledn´ y model bude vypadat (viz obr´ azek 3.5). Turbosmooth si vybereme z nab´ıdky modifik´ator˚ u a pˇrid´ame ho do naˇseho z´ asobn´ıku. Nastaven´ım poˇctu iterac´ı v modifik´atoru na 2. Dejte si pozor, pˇri zvolen´ı vysok´eho poˇctu iterac´ı m˚ uˇze doj´ıt k zamrznut´ı programu v d˚ usledku dlouh´ ych a velk´ ych v´ ypoˇct˚ u.
Obr´ azek 3.5: Na model aplikov´an modifik´ator turbosmooth
´ ´I 3.2. MODELOVAN
3.2.4
29
Modelov´ an´ı oˇ cnicov´ ych oblouk˚ u
Pokud jsme u ´spˇeˇsnˇe zvl´ adli rty, m˚ uˇzeme pˇrej´ıt k oˇc´ım. Aby pusa i oˇci z˚ ustaly st´ale jedn´ım objektem, nevytv´ aˇrel jsem nov´ y objekt Plane, ale v reˇzimu Polygon jsem si zkop´ıroval jeden z polygon˚ u rt˚ u nˇekam pobl´ıˇz oka. Kopii jsem provedl jako Clone to Element. T´ım mi vznikl samostatn´ y polygon, kter´ y jsem podobnˇe jako v pˇr´ıpadˇe rt˚ u upravil tak, aby sedˇel na fotografii. Pot´e co jsem udˇelal z´ akladn´ı kruh kolem oka, bylo potˇreba propojit dva k sobˇe hranami vedouc´ı polygony (viz obr´ azek 3.6).
Obr´ azek 3.6: Model oˇcnicov´ ych oblouk˚ u Tyto hrany jsem spojil pomoc´ı funkce Target Weld, pˇr´ıpadnˇe pokud jsem potˇreboval mezi hrany proloˇzit jeˇstˇe dalˇs´ı polygon, tak pomoc´ı Bridge. Pak znovu kop´ırov´an´ım hran, at’ uˇz pomoc´ı pˇresouv´ an´ı nebo ˇsk´ alov´an´ım, jsem vytvoˇril oˇcn´ı d˚ ulek.
3.2.5
Model nosu
Podobnˇe jsem postupoval u nosu. Snaˇzil jsem se, aby model byl tvoˇren jen a v´ yhradnˇe polygony tvoˇren´e ˇctyˇrmi hranami a ˇctyˇrmi vrcholy. To vˇsak nebylo vˇzdy tak jednoduch´e. Pokud mi nˇekdy pˇri spojov´ an´ı vznikaly troj´ uheln´ıky m´ısto polygon˚ u, pouˇz´ıval jsem funkci Cut (sekat/rozdˇelit) na rozdˇelen´ı a pot´e jsem hrany spojoval tak aby vyhovovaly m´ ym pˇredstav´ am. Nosn´ı d´ırky jsem vytvoˇril v´ ybˇerem border edges a funkce Extrude s hodnotami Extrudion weight: -2 a Extrusion base width: 0. V tvorbˇe ˇc´ast´ı ˇcela brady a zbytku hlavy postupujeme obdobnˇe (viz obr´ azek 3.7).
3.2.6
Tvorba ucha
Pr´ace na realistick´em uchu byla dosti zdlouhav´a. Zaˇcal jsem tak, ˇze jsem mˇel ucho rovnou pˇripojeno k hlavˇe, coˇz se pozdˇeji neuk´azalo jako nejlepˇs´ı n´apad. Probl´em byl hlavnˇe v poˇctu polygon˚ u, kter´e jsem nechal v otvoru pro ucho. Jelikoˇz mi pˇri vytv´aˇren´ı ucha vzniklo mnohem v´ıce polygon˚ u, neˇz jsem byl schopen napojit. Tento probl´em jsem musel ˇreˇsit zdlouhavou prac´ı s topologi´ı. Pouˇz´ıval jsem hlavnˇe dˇelen´ı polygonu, sluˇcov´an´ı a rozdˇelov´an´ı prvk˚ u, propojov´ an´ı pomoc´ı polygon˚ u, vkl´ad´an´ı nov´ ych vrchol˚ u ˇci hran. Protoˇze jsem model chtˇel vytvoˇrit bez pouˇzit´ı troj´ uheln´ıkov´ ych polygon˚ u, musel jsem ˇcasto dˇelit polygony na hlavˇe, tak aby vznikly nov´e pro pˇripojen´ı ucha. Rozdˇelit vˇsak jeden polynom nestaˇc´ı. Vznikaj´ı t´ım
30
´ KAPITOLA 3. POSTUP PRACE
Obr´ azek 3.7: Model nosu, a cel´e hlavy polynomy s v´ıce neˇz ˇctyˇrmi vrcholy a z toho d˚ uvodu doch´az´ı k ˇretˇezen´ı ˇspatn´eho poˇctu vrchol˚ u aˇz k nˇekter´emu z okraj˚ u modelu. T´ım se mi z prozat´ım ne pˇr´ıliˇs sloˇzit´eho (low-poly) modelu zaˇcal st´ avat model sloˇzit´ ym. Tento probl´em jsem neˇreˇsil pouze u uˇs´ı, ale i u dalˇs´ıch detailnˇejˇs´ıch prvk˚ u modelu (viz obr´ azek 3.8). Hlavn´ı probl´em, kter´ y vznikal pˇri zesloˇzitˇen´ı modelu, byl, analogicky, pˇrib´ yv´an´ı polygon˚ u. V tom pˇr´ıpadˇe pokud jsem potˇreboval upravit jen nepatrnou ˇc´ast modelu, musel jsem manipulovat ne´ umˇern´ ym mnoˇzstv´ım vrchol˚ u.
Obr´ azek 3.8: Postup modelov´an´ı ucha
´ ´I 3.2. MODELOVAN
3.2.7
31
Tvorba oˇ c´ı
Pro vytvoˇren´ı oˇc´ı jsem pouˇzil grafick´eho primitivu Sphere (koule). Velikostnˇe jsem kouli pˇribliˇznˇe pˇrizp˚ usobil oˇcn´ım d˚ ulk˚ um m´eho modelu. V parametru poˇcet segment˚ u jsem zvolil 20, bude pˇredstavovat bˇelmo oka. Kouli zkop´ırujeme jako Copy, u t´eto koule jsem nastavil poˇcet segment˚ u na 40, ta bude pˇredstavovat duhovku, tuto kouli si prozat´ım schov´ ame (pomoc´ı funkce hide selected). Do z´asobn´ık˚ u modifik´ator˚ u u prvn´ı koule (bˇelmo) jsem vloˇzil edit mesh, abych mohl manipulovat vrcholy. Odstranil jsem pˇredn´ı vrchol, tak, aby se v kouli udˇelala kruhov´ a d´ıra (viz obr´ azek 3.9).
Obr´azek 3.9: Pˇr´ıprava koule oka Bˇelmo skryji a zobraz´ım si druhou kouli. Na tu tak´e aplikuji modifik´ator edit mesh. Zde smaˇzu vˇsechny vrcholy kromˇe 3 u ´rovn´ı segment˚ u od pˇredn´ıho vrcholu. Vznikne mi tak mal´ y tal´ıˇrek. D´ ale jsem posunul prostˇredn´ı kruh vrchol˚ u smˇerem do stˇredu oka, tak aby vznikl ˇ cku jsem vytvoˇril kopi´ı duhovky jako Copy a konk´avn´ı tvar duhovky (viz obr´ azek 3.10). Coˇ nastavil j´ı ˇcernou barvu. Pak jsem odstranil okrajov´e vrcholy.
Obr´ azek 3.10: Vytvoˇren´ı duhovky protaˇzen´ım vrchol˚ u dovnitˇr oka
´ KAPITOLA 3. POSTUP PRACE
32
U duhovky smaˇzeme stejnou ˇc´ ast vrchol˚ u, jak´a tvoˇr´ı ˇcoˇcku. Posledn´ı ˇc´ast´ı oka je rohovka, kterou vytvoˇr´ıme z dalˇs´ı menˇs´ı koule a um´ıst´ıme ji tak, aby odpov´ıdala realitˇe. Pro realistic´e zobrazen´ı oka mus´ıme nastavit jeho materi´aly a textury. Pˇredevˇs´ım u rohovky, kter´a je t´emˇeˇr pr˚ uhledn´a.
Obr´ azek 3.11: V´ ysledn´ y model oka
3.2.8
Tvorba zub˚ u a d´ asn´ı
K vymodelov´an´ı zub˚ u a d´ asn´ı jsem pouˇzil primitivn´ı objekt tube (roura) s nastaven´ımi parametr˚ u na High Segment: 1 (poˇcet segment˚ u na v´ yˇsku) Cap segment: 1 (poˇcet obvodov´ ych segment˚ u) Sides: 16 (poˇcet segment˚ u na ˇs´ıˇrku). 16 stran je proto, ˇze ˇclovˇek m´a v u ´stech 32 zub˚ u, protoˇze nejprve vytvoˇr´ım horn´ı polovinu u ´st. Tzn., ˇze kaˇzd´ y segment mi ted’ tvoˇr´ı zub. Pomoc´ı nastaven´ı Parametry slice to a slice from slouˇz´ı oˇr´ıznut´ı objektu trubky na polovinu tak, ˇze zadn´ı ˇc´ ast ˇcelisti je shodn´ a s osou x. Samotnou velikost jsem si pˇrizp˚ usobil potˇreb´am. Primitivn´ı objekt jsem zkonvertoval do Editable poly a odstranil jsem pravou polovinu z d˚ uvodu pouˇzit´ı modifik´ atoru symmetry. Model je tedy zkonvertov´ an do editace poly, tzn., ˇze jsem mohl v reˇzimu vrchol˚ u upravit jednotliv´e segmenty tak, aby odpov´ıdaly skuteˇcn´ ym proporc´ım lidsk´ ych zub˚ u, samozˇrejmˇe nejprve jen pˇribliˇznˇe. Dalˇs´ıch detail˚ u jsem doc´ılil funkcemi extruze (vytaˇzen´ı) a n´asledn´ ym bevel (zkosen´ı). Pot´e jsem rozdˇelil kaˇzd´ y ze zub˚ u na polovinu (oznaˇcen´ı horn´ıch a doln´ıch hran spolu s funkc´ı Conner). N´ asledn´ ymi pˇresuny vrchol˚ u a pˇrid´av´an´ı dalˇs´ıch polygon˚ u dˇelen´ım tˇech st´avaj´ıc´ıch jsem tvary pˇribliˇzoval v´ıce a v´ıce skuteˇcn´ ym lidsk´ ym zub˚ um. Jakmile jsem byl spokojen´ y se z´ akladn´ım tvarem, aplikoval jsem nejprve modifik´ator symmetry a pak meshsmooth modifik´ ator. Abych vytvoˇril i spodn´ı ˇradu zub˚ u, pouze jsem zkop´ıroval jiˇz vytvoˇren´ y chrup jako Copy a transformac´ı rotace otoˇcil o 180 stupˇ n˚ u.
´ ´I 3.2. MODELOVAN
3.2.9
33
Tvorba vlas˚ u
Ke tvorbˇe vlas˚ u jsem nepouˇzil ˇz´ adn´ y speci´aln´ı plugin. Vlasy jsem modeloval jen s pomoc´ı geometrie a texturov´ an´ı. Vytvoˇril jsem si Quad Patch tvoˇren´ y plochou 1x4. Na tuto plochu jsem aplikoval modifik´ ator Edit Patch. V nastaven´ı parametr˚ u Surface si nastav´ıme hodnotu View Steps a Render Steps na 10 a kv˚ uli lepˇs´ı pˇrehlednosti vypneme Show Interior Edges. Vybereme si sub-object Patch (v´ ybˇer ploch), vyznaˇc´ıme vˇsechny 4 d´ıly (polygony) a funkc´ı Extrude vyt´ ahneme polygony ˇctyˇrikr´at nahoru. Vytvoˇrili jsme si tak kv´adr, kter´ y pˇredstavuje prameny vlas˚ u. V´ yhodou quad patche je, ˇze kaˇzd´ y bod na jeho mˇr´ıˇzce m´a deformaˇcn´ı p´ aky, kter´e se vyuˇzij´ı pˇri modelovan´ı u ´ˇcesu. 3.2.9.1
Texturov´ an´ı vlas˚ u
Nejjednoduˇsˇs´ı zp˚ usob, jak takto vytvoˇren´e vlasy texturovat, je definovat texturu jiˇz na tomto jednoduch´em kv´ adru. Pozdˇeji by bylo mnohem tˇeˇzˇs´ı mapovat texturu na nepravideln´ y tvar vlas˚ u. Vytvoˇr´ıme si tedy materi´ al, kter´ ym budeme na vlasy mapovat. Otevˇreme si Material Editor, vybereme si pole s materi´ alem a zmˇen´ıme jeho typ ze Standard na Blend (viz obr´ azek 3.12).
Obr´ azek 3.12: Nastaven´ı materi´alu pro vlasy Prvn´ı materi´ al (invisible) vytvoˇr´ıme jako pr˚ uhledn´ y, nastav´ıme mu tedy hodnotu Opacity (nepr˚ uhlednost) na 0. Druh´ y materi´al (hair) v oddˇelen´ı Maps pˇrid´ame do kolonky Diffuse Color textury vlas˚ u. Tuto texturu potom zkop´ırujeme (jako Instance) tak´e do kolonek pro Specular Level a Bump. Nastav´ıme oboustrann´e prom´ıt´an´ı textury, v ˇc´asti Basic Shader Parameters zatrhneme moˇznost 2-Sided. Pro materi´al Mask vloˇz´ıme texturu pro pr˚ uhlednost a nastav´ıme jej´ı hodnotu Map Channel: 2, hodnota U Tile: 2. Naˇsemu objektu pˇrid´ ame modifik´ ator UVW Map s Box mapov´an´ım (kubick´a projekce) a hodnotou Map Channel: 1, a hodnotou U Tile: 2. Pˇrid´ ame dalˇs´ı modifik´ator UVW Map s Cylindrical (v´alcov´ ym) mapov´ an´ım, hodnotou Map Channel: 2, a hodnotou U Tile: 2. 3.2.9.2
Modelov´ an´ı vlas˚ u
Ted’ se pokus´ıme z tohoto ”pramenu vlas˚ u”(viz obr´azek 3.13) vymodelovat cel´ y zbytek vlas˚ u. Pˇrid´ame jeˇstˇe jeden modifik´ ator Edit Patch. Je d˚ uleˇzit´e, aby byl v hierarchii modifik´ator˚ u
34
´ KAPITOLA 3. POSTUP PRACE
Obr´ azek 3.13: Poˇc´ateˇcn´ı pramen vlas˚ u u ´plnˇe nahoˇre (nad modifik´ atory UVW Mappingu), ˇc´ımˇz dos´ahneme, ˇze deformac´ı povrchu se bude deformovat i textura. Toto n´ am zabezpeˇc´ı, ˇze po vytvarov´an´ı u ´ˇcesu budou vlasy spr´avnˇe namapovan´e. Vybereme si sub-object vertex (v´ ybˇer vrchol˚ u), oznaˇc´ıme si vˇsechny vrcholy, kliknut´ım na prav´e tlaˇc´ıtko zobraz´ıme menu a pˇriˇrad´ıme jim vlastnost Corner, coˇz n´am umoˇzn´ı pohybovat kaˇzdou deformaˇcn´ı p´ akou samostatnˇe a t´ım si ulehˇc´ıme modelovan´ı. V pohledu front si nastav´ıme a vytvarujeme vlasy tak, aby lemovaly obrys hlavy. V pohledu top si nastav´ıme a vytvarujeme vlasy podobnˇe jako v pohledu front (viz obr´azek 3.14). Pomoc´ı deformaˇcn´ıch p´ ak vytvarujeme pˇredn´ı stranu vlas˚ u do oblouku. D´ale jsem pomoc´ı deformaˇcn´ıch p´ ak a korekc´ı polohy jednotliv´ ych bod˚ u dotv´aˇrel model tak, abych dos´ahl poˇzadovan´eho u ´ˇcesu (viz obr´ azek 3.15). Objekt si zkonvertujeme na Editable Patch, ˇc´ımˇz se n´am vymaˇzou vˇsechny modifik´atory, kter´e jsme na objekt pouˇzili, ale jejich u ´ˇcinek na objekt z˚ ustane nezmˇenˇen´ y. Abych dos´ahl vlas˚ u zvlnˇen´ ych, pˇridal jsem jeˇstˇe modifik´ator Noise (ˇsum) s hodnotami Scale: 20.0, Strenght X: 5.0, Y: 5.0, Z: 0.0). Je d˚ uleˇzit´e modifik´ator noise aplikovat na cel´ y model, tzn., ˇze mus´ıme m´ıt objekt cel´ y oznaˇcen´ y a pak teprve m˚ uˇzeme aplikovat noise. Pˇrid´ame modifik´ator symmetry s moˇznost´ı sl´ev´ an´ı. Nastav´ıme si polohu zrcadla tak, aby doˇslo ke spr´avn´emu spojen´ı vlas˚ u. Modifik´ ator symmetry mus´ı b´ yt v z´asobn´ıku aˇz za modifik´atorem noise.
´ ´I 3.2. MODELOVAN
35
Obr´ azek 3.14: Poˇc´ateˇcn´ı um´ıstˇen´ı vlas˚ u
Obr´ azek 3.15: Posun vrchol˚ u a deformaˇcn´ıch p´ak do poˇzadovan´eho tvaru u ´ˇcesu
3.2.10
Celkov´ eu ´ pravy modelu
T´ım ale nen´ı model zcela hotov. Z˚ ust´av´a na nˇem mnoˇzstv´ı artefakt˚ u, kter´e ruˇs´ı celkov´ y dojem. Model jsem upravoval funkcemi Relax, jak celkovˇe, tak segmentovˇe. Z´ uˇzeni nosu a kulatost tv´ aˇr´ı jsem dotv´ aˇrel funkcemi push a pop. Oˇcn´ı d˚ ulky jsem upravoval tak, aby vyhovovaly oˇc´ım, tedy tak, aby oˇci do d˚ ulk˚ u zapadaly.
´ KAPITOLA 3. POSTUP PRACE
36
3.3
Export z 3ds Maxu do Blenderu
Jakmile jsem byl s modelem spokojen´ y, bylo potˇreba nan´est na nˇej texturu. Musel jsem pˇrev´est model z programu 3ds Maxu do Blenderu. Poprv´e jsem hotov´ y model, zat´ım jeˇstˇe se vˇsemi modifik´ atory (pˇredevˇs´ım symmetry a turbosmooth), zkonvertoval cel´ y do editable mesh. Vznikl mi tak jeden komplexn´ı model. Po rozmluvˇe se zad´avaj´ıc´ım jsem se rozhodl, ˇze funkce turbosmooth sice generuje velice hezky zaoblen´ y objekt, avˇsak pro aplikaci TalkingHead bˇeˇz´ıc´ı v re´ aln´em ˇcase je poˇcet polygon˚ u ne´ unosn´ y. Samotn´ y model bez pouˇzit´eho smoothov´an´ı vytvoˇren´ y jako editable poly m´a poˇcet vrchol˚ u: 2169, jako editable mesh: 2169. Napodruh´e jsem tedy nejprve z modelu odstranil turbosmooth a zkonvertoval model do formy editable mesh a pouˇzil modifik´ ator meshsmooth, kter´ y d´aval dobr´e v´ ysledky jak na sloˇzitost, tak na preciznost. Parametr meshsmooth jsem nastavil na iteraci 1. Model byl ted’ tvoˇren 8558 vrcholy. Tento model jsem z programu 3ds Max vyexportoval do form´atu souboru *.OBJ (wavefront), pomoc´ı jiˇz naimplementovan´eho export´eru. V´ ysledn´ y *.OBJ soubor jsem zase opaˇcnˇe na stranˇe Blenderu importoval. Po importu jsem vˇsak zjistil, ˇze sloˇzitost modelu (poˇcet polygon˚ u) je pro manipulaci nevhodn´ y. Model byl sloˇzit´ y, z d˚ uvodu ponechan´eho modifik´ atoru meshsmooth. Na potˇret´ı jsem tedy z modelu odebral meshsmooth a zkonvertoval do editable mesh a pot´e vyexportoval do form´atu *.OBJ.
3.3.1
Nastaven´ı exportu z 3ds Maxu
Potˇrebuji exportovat do Quads (chci, aby v´ ysledn´ y objekt byl reprezentov´an polygony). Zaznamenat Normals (norm´ aly slouˇz´ı k urˇcen´ı odrazivosti svˇetla). Nastavit Scale: 1.0 (protoˇze nechci mˇenit velikost). Materi´ al nenastavuji, protoˇze exportuji samotn´ y objekt, zat´ım bez jak´ehokoliv materi´ alu, barvy ˇci textur, tak nenastavuji (nechci exportovat materi´aly). Protoˇze pracuji na platformˇe Windows 7. Target zvol´ım PC/Win.
3.3.2
Nastaven´ı importu do Blenderu
Ponechal jsem nastaven´ı Lines as Edges, nastaven´ı Keep Vert Order a Clamp scale defaultn´ı hodnota (10.0).
3.4
Texturov´ an´ı Blender
Samotn´e texturov´ an´ı jsem prov´ adˇel v programu Blender 2.49c.
3.4.1
Unwrap
Pomoc´ı Blender import´eru na *.obj form´ at jsem si soubor exportovan´ y z 3ds Maxu naimportoval do model´ aˇre. Pr´ ace v Blenderu je ponˇekud odliˇsn´a neˇz v 3ds Maxu, hlavnˇe v pˇr´ıpadˇe ovl´ad´an´ı. Importovan´ y model jsem v editaˇcn´ım m´odu pˇripravil pro unwraping. Na modelu jsem vybral vrcholy, kter´e maj´ı pˇredstavovat ˇsev modelu pro unwrap. Pak jsem provedl samotn´ y unwrap (v edit m´ odu mus´ım m´ıt oznaˇcen´e vˇsechny vrcholy a to pokaˇzd´e i kdyˇz prov´ad´ım projekci z pohledu), ˇc´ımˇz mi vznikla s´ıt’ UV souˇradnic. Souˇradnice jsem pˇrizp˚ usobil velikostnˇe tak, aby zab´ırala co nejvˇetˇs´ı mnoˇzstv´ı z moˇzn´e plochy. Tuto UV texturu jsem si nazval colormap.
´ ´I BLENDER 3.4. TEXTUROVAN
3.4.2
37
Projekce zepˇ redu
Vytvoˇril jsem si novou UV texturu a nazval ji front. K tˇemto souˇradnic´ım jsem si otevˇrel obr´azek (mnou poˇr´ızenou fotografii zepˇredu). D´ale jsem si nastavil pohled na model jako front (pˇredn´ı) a provedl jsem Projection from view, vytvoˇril jsem si t´ım souˇradnicovou s´ıt UV takovou, jako bych se na model d´ıval zepˇredu. Pro lepˇs´ı orientaci v s´ıti jsem na modelu zruˇsil v´ ybˇer vˇsech vrchol˚ u, kter´e jsou zakryt´e. Pak jsem manipuloval s´ıt´ı tak, aby sedˇela na fotografii. Pomoc´ı klasick´ ych transformac´ı translate,scale,rotate. Ostatn´ı nepˇresnosti jsem doladil pˇresunem samostatn´ ych vrchol˚ u s´ıtˇe nebo pomoc´ı n´astroje Proportional editting (proporcion´ alni editace).
3.4.3
Projekce ze strany
D´ale jsem vytvoˇril dalˇs´ı UV Texturu a nazval ji side. K tˇemto souˇradnic´ım jsem si otevˇrel obr´azek (mnou poˇr´ızenou fotografii ze strany). D´ale jsem si nastavil pohled na model jako side (ze strany) a znovu provedl Projection from view. Tentokr´at jsem vytvoˇril souˇradnicovou s´ıt UV takovou, jako bych se na model d´ıval ze strany. Podobnˇe jako v pˇredchoz´ım pˇr´ıpadˇe jsem manipuloval s´ıt´ı tak, aby sedˇela i na druh´e fotografii.
3.4.4
Texture Paint
Kdyˇz jsem vˇsechny souˇradnice preciznˇe namanipuloval na fotografie, pˇrepnul jsem se do m´odu Texture Paint. Jako aktivn´ı texturu (pomoc´ı tlaˇc´ıtka Set aktive UV texture) jsem zvolil texturu pojmenovanou colormap. Pro tuto texturu jsem si vytvoˇril nov´ y obraz o velikosti 2048x2048 s n´ azvem ColorMap. Do tohoto obrazu se bude kreslit skuteˇcn´a textura pro model. Nyn´ı zvol´ım, z jak´e textury chci na model klonovat obraz (tedy do pr´avˇe vytvoˇren´eho obrazu ColorMap). Pomoc´ı tlaˇc´ıtka Set the layer used for texturepaint clonning“ nejprve vyberu ” texturu pojmenovanou front. V nastaven´ı Paint zvol´ım moˇznost Clone a Clone Layer, taky zde m˚ uˇzu upravovat nastaven´ı kresl´ıtka/klonovac´ı tuˇzky. Pak jsem jednoduˇse zaˇcal kreslit na model jako tuˇzkou. Na model se klonovala textura (fotografie) front pˇresnˇe tak jak jsem ji nastavil v UV souˇradnic´ıch. A samozˇrejmˇe se tak´e klonovan´a textura nan´aˇs´ı na n´aˇs obraz ColorMap tak jak byly nastaveny UV souˇradnice v UV texture colormap. Po vykreslen´ı cel´e pˇredn´ı ˇc´ asti obliˇceje, nastav´ıme jako dalˇs´ı texturu, ze kter´e budeme klonovat, texturu nazvanou side. A zase zaˇcnu malovat na model hlavy. Tentokr´at nemaluji jiˇz na pouze ˇcernou hlavu (pr´ azdnou bez textury), uˇz zde m´am nanesenou (naklonovanou) texturu z pˇredchoz´ıho pohledu front, takˇze pouze dokresl´ım ˇc´asti, kter´e v pohledu front nebyly viditeln´e. Jelikoˇz se mi plnˇe neseˇsla barva k˚ uˇze (pravdˇepodobnˇe vlivem osvˇetlen´ı), pouˇz´ıval jsem na tyto pas´ aˇze moˇznost m´ıchat obˇe textury nastaven´ım opacity (pr˚ uhlednost´ı). T´ımto jsem si otexturoval cel´ y model hlavy a vytvoˇril jsem si taky obraz (vlastn´ı texturu) ColorMap, kterou budu moci pouˇz´ıt jako texturu pro model. Tuto texturu jsem uloˇzil ColorMap.tga.
3.4.5
Celkov´ eu ´ pravy
Jelikoˇz se mnˇe i pˇri opravdu peˇcliv´em nastavov´an´ı UV souˇradnic objevovaly na textuˇre artefakty (pˇredevˇs´ım pak kolem uˇs´ı) pouˇzil jsem jeˇstˇe jednu Projekci angle (z u ´hlu).
´ KAPITOLA 3. POSTUP PRACE
38
3.4.6
Nastaven´ı exportu z Blenderu
Potˇreboval jsem znovu dostat model do 3ds Maxu a znovu jsem tedy pouˇzil form´at *.obj. Pˇri tomto exportu bylo d˚ uleˇzit´e vyexportovat tak´e UV souˇradnice proto, aby po pˇriˇrazen´ı textury se tato textura (ColorMap) spr´ avnˇe namapovala na model. Pokud m´am ve sc´enˇe v´ıce objekt˚ u a chci exportovat pouze hlavu, staˇc´ı ji m´ıt oznaˇcenou pouˇz´ıt nastaven´ı Selection only. V Output Options jsem zatrhnul moˇznost Copy Images. Exportoval jsem Edges, Material a UVs. Ponechal jsem nastaven´ı Keep Vert Order.
3.4.7
Nastaven´ı importu do 3ds Maxu
D˚ uleˇzit´e zase importovat Texturovac´ı koordin´aty.
3.5
Animace
Mˇel jsem tedy hlavu otexturovanou a pˇripraveny vˇsechny ostatn´ı ˇc´asti hlavy (vlasy, zuby, oˇci). Jeˇstˇe bylo potˇreba na hlavu aplikovat modifik´ator meshsmooth s iterac´ı 1, pˇresnˇe tak jak jsem si stanovil na zaˇc´ atku. T´ım byl pˇripraven i model hlavy. Od zad´avaj´ıc´ıho mi byla poskytnuta exportovac´ı knihovna programu 3ds Maxu do mesh binary format (*.MSH). A tak´e pˇredchoz´ı model hlavy. S pomoc´ı pˇredchoz´ıho modelu jsem si vlastn´ı modely pˇripravil do exportovateln´e formy.
3.5.1
Pˇ r´ıprava pro TalkingHead v 3ds Maxu
Program TalkingHead naˇc´ıt´ a modely ve form´atu mesh binary format (*.MSH). V programu 3ds Max se export pˇriprav´ı pomoc´ı Biped kostry. Objekt˚ u se mus´ı nastavit hierarchie, kter´a je vyˇzadov´ana programem TalkingHead. Do hierarchie kostry se dosad´ı objekty tak, aby odpov´ıdaly potˇrebˇe. Spr´ avnou hierarchii objekt˚ u jsem nastavoval pˇres Grafph Editors, kde jsem si vytvoˇril nov´ y Schematic view. Pouˇzit´ım n´astroje connect jsem vytvoˇril poˇzadovanou hierarchii (viz obr´ azek 3.16). Pak jsem namanipuloval objekty tak aby sedˇely na biped kostˇre (move, scale, rotate). Aby se hlava sv´ azala s kostrou, musel jsem na model hlavy pouˇz´ıt modifik´ator Physique (fyziologie). Tento modifik´ ator jsem sv´ azal s kostrou. Po aplikaci fyziologie pak kaˇzd´a manipulace s hlavou deformuje model. Pak jsem vybral vˇsechny modely, kter´e tvoˇr´ı hlavu a pomoc´ı jiˇz zm´ınˇen´eho export´eru, vyexportoval model jako mesh binary format.
3.5.2
Testov´ an´ı modelu v toolkitu ECAF Talking Head
Nejprve jsem na modelu urˇcil, kter´e ˇc´ asti tvoˇr´ı oˇci a bradu. V´ ybˇer jsem prov´adˇel oznaˇcov´an´ım vrchol˚ u modelu. Po pˇredbˇeˇzn´em vybr´ an´ı vrchol˚ u, jsem si zadan´e body uloˇzil a znovu do programu naˇcetl. Pak jsem jiˇz mohl vyzkouˇset, jak se hlava chov´a pˇri r˚ uzn´ ych animac´ıch. Body jsem nezvolil pr´ avˇe nejl´epe, proto jsem smazal ze souboru nastaven´e body a pustil se do pr´ace znovu. Jakmile jsem byl s nastaven´ım spokojen, dalˇs´ı vˇec´ı bylo nastavit pseudo svaly na modelu tak, aby se chovaly pˇrirozenˇe. Svaly jsem nastavoval pomoc´ı zjednoduˇsen´ ych pseudo sval˚ u. Urˇcil jsem pro kaˇzd´ y sval oblast vrchol˚ u a smˇer jejich zmˇen.
3.5. ANIMACE
39
Po nastaven´ı vˇsech sval˚ u a oblast´ı pro modifikaci hlavy jsem vˇse uloˇzil a ovˇeˇril jsem, ˇze kaˇzd´ y sval spr´ avnˇe ovlivˇ nuje ˇc´asti obliˇceje. Pak jsem jen doladil vˇsechny svaly tak, aby animace vypadaly realisticky.
Obr´ azek 3.16: Nastaven´ı hierarchie modelu v programu 3ds Max
40
´ KAPITOLA 3. POSTUP PRACE
Kapitola 4
Z´ avˇ er V reˇserˇsn´ı ˇc´ asti bakal´ aˇrsk´e pr´ ace jsem popsal nejz´akladnˇejˇs´ı a nejpouˇz´ıvanˇejˇs´ı metody pˇri vytv´aˇren´ı 3D model˚ u. V kaˇzd´e ˇc´asti reˇserˇse jsem se soustˇredil na jednu konkr´etn´ı oblast modelov´ an´ı. Od oblast´ı, jak vlastnˇe m´ame model ch´apat aˇz po zp˚ usoby, jak´ ymi m˚ uˇzeme takov´ yto model z´ıskat. Popsal jsem moˇznosti vytv´aˇren´ı model˚ u i zp˚ usoby jejich vyuˇzit´ı. Uvedl jsem se varianty texturov´ an´ı objekt˚ u a vˇenoval jsem se tak´e popisu z´akladn´ıch n´astroj˚ u animace. V kaˇzd´e t´eto oblasti jsem uvedl, jak´e jsou nejlepˇs´ı moˇznosti pro konkr´etn´ı pouˇzit´ı pro modelov´ an´ı lidsk´e postavy, respektive lidsk´e hlavy. Jednoduch´ ym u ´vodem do anatomie jsem pouk´ azal na to, jak se lidsk´a tv´aˇr chov´a doopravdy a na to, jak na z´akladˇe tˇechto informac´ı vlastnˇe takov´ y model vytvoˇrit. Definoval jsem tak´e pojem ECA toolkit a pˇredevˇs´ım jsem se soustˇredil na popis ˇc´ asti syst´emu ECAF toolkit TalkingHead, kter´a byla pro moji pr´aci d˚ uleˇzit´ a. V posledn´ı ˇc´ asti reˇserˇse jsem popsal z´akladn´ı n´astroje programu 3ds Max, pˇredevˇs´ım ty, kter´e jsem s´ am vyuˇz´ıval. V praktick´e ˇc´ asti pr´ ace, popisuji postup vytv´aˇren´ı modelu od prvn´ıho polygonu aˇz po mapov´ an´ı textur a rozpohybov´ an´ı cel´e hlavy. Vˇetˇsinu z uveden´ ych aspekt˚ u modelov´an´ı popsan´ ych v reˇserˇsi, jsem pouˇzil pˇri vlastn´ım modelov´an´ı. Protoˇze byl model tvoˇren pro aplikaci bˇeˇz´ıc´ı v re´ aln´em ˇcase, bylo potˇreba tomu pˇrizp˚ usobit topologii modelu a jeho sloˇzitost. Pro vytvoˇren´ı a mapov´ an´ı textury obliˇceje jsem vyuˇzil techniku Projection painting aplikovanou v prostˇred´ı Blender. Pro animaci ˇreˇci jsem pouˇzil rozˇsiˇruj´ıc´ı program pro TalkingHead slouˇz´ıc´ı k usnadnˇen´ı exportu. Definoval jsem si vlastn´ı oblasti pro svaly a dalˇs´ı d˚ uleˇzit´e ˇc´asti pro spr´avnou animaci ˇreˇci. Popsan´ y postup vytv´ aˇren´ı organick´eho modelu nen´ı jedin´ y a vˇzdy pouˇz´ıvan´ y. V dneˇsn´ı dobˇe nach´ az´ı 3D grafika obrovsk´e uplatnˇen´ı v nejr˚ uznˇejˇs´ıch oblastech lidsk´e ˇcinnosti a s t´ım pˇrich´azej´ı dalˇs´ı nov´e moˇznosti zpracov´an´ı. Zm´ınil jsem se o digit´aln´ım sculptingu a pr´ aci v programu Zbrush, moˇznostech motion capturignu spolu s 3d skenery nebo pokroˇcil´ ych metod´ ach osvˇetlov´ an´ı. Podle popsan´eho postupu jsem vytvoˇril model hlavy a otestoval jeho pouˇzitelnost v aplikaci TalkingHead. Pˇri pr´ aci na 3D modelu jsem vytvoˇril i nˇekolik kr´atk´ ych videotutorial˚ u, kter´e jsou na DVD pˇriloˇzen´em k bakal´aˇrsk´e pr´aci. Spolu s t´ımto textem a s pˇriloˇzen´ ym modelem hlavy by tato pr´ ace mohla slouˇzit jako jednoduch´ y e-learningov´ y materi´al pro zaˇc´ateˇcn´ıky v modelov´ an´ı at’ uˇz lidsk´e hlavy, nebo model˚ u jako takov´ ych.
41
42
´ ER ˇ KAPITOLA 4. ZAV
Literatura [1] Stanislav Trojan a kolektiv. L´ekaˇrsk´ a fiziologie. Osveta, spol. s. r. o., Martin, 4. vyd´ an´ı edition, 2003. [2] Putz Reinhard a Pabst Reinhard. Sobot˚ uv atlas anatomie ˇclovˇeka. Grada Publishing a.s., U Pr˚ uhonu 22, Praha 7, pˇreklad 22. vyd´an´ı edition, 2006. [3] Inc. Autodesk. Autodesk, 2011. http://www.autodesk.cz/adsk/servlet/home?siteID=551663&id=874341, stav z 25. 5. 2011. [4] Derakhshani Darius. Maya pr˚ uvodce 3D grafikou. Grada Publishing a.s., U Pr˚ uhonu 22, Praha 7, 1. ˇcesk´e edition, 2006. [5] Bc. Martin Duˇsek. Efektivn´ı zobrazov´an´ı vlas˚ u a chlup˚ u. Master’s thesis, 2008. https://dip.felk.cvut.cz/browse/pdfcache/dusekm1_2008dipl.pdf, stav 25. 5. 2011.
z
[6] Silvio Falcinel. My experiment full scene interchange 3ds max, 2010. http://blenderartists.org/forum/showthread.php? 184863-My-experiment-full-Scene-Interchange-3ds-max, stav z 25. 5. 2011. [7] Jeˇzek Frantiˇsek. Geometrick´e a poˇc´ıtaˇcov´e modelov´an´ı. Technical report, Z´apadoˇcesk´ a univerzita v Plzni, Fakulta aplikovan´ ych vˇed, Katedra matematiky, 2006. http://www.fd.cvut.cz/personal/voracsar/GM/PGR021/GM_Jezek.pdf, stav z 25. 5. 2011. [8] Stephen Travis Pope Howard Durand, Andreas Engberg. A comparison of 3d modeling programs. Technical report, ATON Project / CREATE, Department of Music, University of California, Santa Barbara, USA, 2000. http://www.create.ucsb.edu/ATON/00.10/3d-tools-report.pdf, stav z 25. 5. 2011. [9] Autodesk Inc. Types of texture projection, 2011. http://softimage.wiki.softimage.com/xsidocs/ tex_basicproc_TypesofTextureProjection.htm, stav z 25. 5. 2011. ˇ ara Josef Pelik´an, Jiˇr´ı Sochor. Geometrick´e modelov´an´ı. Technical [10] Petr Felkel Jiˇr´ı Z´ ˇ report, CVUT FEL, 2011. https://service.felk.cvut.cz/courses/X39ZPG/2011/lectures/12/ 12-renderViz.pdf, stav z 25. 5. 2011.
43
44
LITERATURA
[11] Jan Kˇr´ıˇz. Mistrovstv´ı v 3ds Max. COMPUTER PRESS, Holandsk´a 3, Brno, mistrovstv´ y edition, 2011. [12] Zdenˇek Kab´ at. Modern´ı grafick´e technologie: Unreal engine 3. svethardware.cz, 2004. http://www.svethardware.cz/art_doc-E014A5BE5373B198C1256E97006E1F5D.html, stav z 25. 5. 2011. [13] KLEINDIENST Ladislav KUNC Ladislav. Language for Embodied Conversational Agents. Lecture Notes in Computer Science, Springer Berlin / Heidelberg, 21 edition, 2007. http://www.springerlink.com/content/a4m94g2671857621, stav z 25. 5. 2011. ˇ ´IK. Poˇc´ıtaˇcov´a animace. Technical report, Ka[14] LADISLAV KUNC LADISLAV CMOL ˇ tedra poˇc´ıtaˇcov´e grafiky a interakce CVUT FEL, 2011. http://service.felk.cvut.cz/courses/Y36MGA, stav z 25. 5. 2011. [15] Baˇrinka Luk´ aˇs. 3d grafika. Technical report, Katedra poˇc´ıtaˇcov´e grafiky a interakce ˇ CVUT FEL, 2009. http://service.felk.cvut.cz/courses/Y36MGA, stav z 25. 5. 2011. [16] Martin Man. Poˇc´ıtaˇcov´ a animace. Technical report, University of West Bohemia, 2004. http://herakles.zcu.cz/research/face/face.php, stav z 25. 5. 2011. [17] Reddy Martin. Object files, 1994. http://www.martinreddy.net/gfx/3d/OBJ.spec, stav z 25. 5. 2011. [18] Douglas W. Cunningham Heinrich H. Buelthoff Martin Breidt, Christian Wallraven. Facial animation based on 3d scans and motion capture. Technical report, Max Planck Institute for Biological Cybernetics, Tuebingen, Germany, 2009. [19] OptiTrack. Face motion capture, 2011. http://www.naturalpoint.com/optitrack/products/motion-capture/ face-mocap.htm, stav z 25. 5. 2011. [20] Felkel Petr. Zobrazov´ an´ı a osvˇetlen´ı, vizualizace. Technical report, Katedra poˇc´ıtaˇcov´e ˇ grafiky a interakce CVUT FEL, 2011. https://service.felk.cvut.cz/courses/X39ZPG/2011/lectures/ 12/12-renderViz.pdf, stav z 25. 5. 2011. [21] Prof. MUDr. Pavel Petrovick´ y. Anatomie s topografi´ı a klinick´ymi aplikacemi III. Svazek. Osveta, spol. s. r. o., Martin, 2002. [22] Pˇrispˇevatel´e Wikipedie. Digital sculpting, 2011. http://en.wikipedia.org/wiki/Digital_sculpting, stav z 25. 5. 2011. [23] Pˇrispˇevatel´e Wikipedie. Shader (realtime, logical), 2011. http://en.wikipedia.org/wiki/Shader_(realtime,_logical), stav z 25. 5. 2011. [24] Pˇrispˇevatel´e Wikipedie. Subsurface scattering, 2011. http://en.wikipedia.org/wiki/Subsurface_scattering, stav z 25. 5. 2011.
LITERATURA
45
[25] Pˇrispˇevatel´e Wikipedie. Uv mapping, 2011. http://en.wikipedia.org/wiki/UV_mapping, stav z 25. 5. 2011. [26] Inc. Pixologic. Pixologic, 2011. http://www.pixologic.com/home.php, stav z 25. 5. 2011. [27] Peter Ratner. 3d human modeling and animation. John Wiley and Sons, inc., Hoboken, New Jersey, second edition edition, 2003. [28] Ondˇrej Selen. La noire motion capture, 2010. http://pc.gzin.info/index.php?sekce=novinka&id=901&tag= la-noire-motion-capture-technologie-na-videu, stav z 25. 5. 2011. [29] Digital Media s.r.o. Cinema4d, 2011. http://www.cinema4d.cz, stav z 25. 5. 2011. [30] Pavel Tiˇsnovsk´ y. Zobrazen´ı objemov´ ych dat v pov-rayi. Root.cz, 2001. http://www.root.cz/clanky/zobrazeni-objemovych-dat-v-pov-rayi, 25. 5. 2011.
stav
z
[31] Pavel Tiˇsnovsk´ y. Opengl evalu´atory. Root.cz, 2004. http://www.root.cz/clanky/opengl-evaluatory-i/, stav z 25. 5. 2011. [32] Bart Veldhuizen. Blender, 2011. http://www.blender.org, stav z 25. 5. 2011. ˇ [33] Bc. Petr Svestka. Vyuˇzit´ı interface agent˚ u. Master’s thesis, 2010. [34] K. Waters. A muscle model for animating three dimensional facial expressions. Computer Graphics (SIGGRAPH’87), 21 edition, 1987.
46
LITERATURA
Pˇ r´ıloha A
Seznam pouˇ zit´ ych zkratek OBJ Object File MSH Mesh binary format EAC Embodied Conversational Agent EACF Embodied Conversational Agent Facade HD High Definition FPS Frame Per Second GL Global Lighting CT Computed Tomography MR Magnetic Resonation NURBS Non-Uniform Rational Basis Spline CSG Constructive Solid Geometry SSS Subsurface Scattering XML Extensible Markup Language
47
48
ˇ ´ILOHA A. SEZNAM POUZIT ˇ YCH ´ PR ZKRATEK
Pˇ r´ıloha B
Obrazov´ a pˇ r´ıloha V´ ysledn´ y render lowpolygonov´ e hlavy.
Obr´azek B.1: Lowpoly hlava
49
50
ˇ ´ILOHA B. OBRAZOVA ´ PR ˇ ´ILOHA PR
Pˇ r´ıloha C
Obsah pˇ riloˇ zen´ eho DVD K bakal´ aˇrsk´e pr´ aci je pˇriloˇzen DVD disk se zdrojov´ ymi soubory z aplikac´ı 3ds Max 2010, Blender 2.49c, TalkingHead. Na DVD je tak´a spustiteln´a aplikace TalkingHead. Souˇc´ ast´ı jsou obr´ azky z bakal´ aˇrsk´e pr´ ace v origin´aln´ım rozliˇsen´ı. D´ale tak´e veˇsker´e textury. Soubory pro fin´ aln´ı verzi modelu maj´ı n´azev hlava.max, hlava.MSH. Z d˚ uvodu nepˇrirozen´eho odrazu svˇetla od vlas˚ u modelu, pˇrikl´ad´am dalˇs´ı model s vlasy spr´avnˇe osvˇetlen´ ymi hlava2.max, hlava2.MSH, tyto vlasy jsem si zap˚ ujˇcil od Ing. Ladislava Kunce. DVD obsahuje n´ asleduj´ıc´ı soubory: • Tuto pr´ aci ve form´ atu pdf a docx. Spolu s obrazovou pˇr´ılohou bakal´aˇrsk´e pr´ace. • Vyrenderov´ an´e obr´ azky modelu hlavy • Vˇsechny textury pouˇzit´e na modelu • Zdrojov´e soubory modelu aplikace 3ds Max 2010 ve form´atu max • Zdrojov´e soubory modelu aplikace Blender 2.49c ve form´atu blend • Spoleˇcn´e soubory modelu ve form´atu obj slouˇz´ıc´ı k pˇrenosu mezi aplikacemi • Zdrojov´e soubory pro program TalkingHead – Soubor modelu ve form´atu msh – Soubory sval˚ u a tag˚ u ve form´atu dat – Soubory s nastaven´ım v´ yraz˚ u ve form´atu dat – Soubor odkazuj´ıc´ı na datov´e soubory ve form´atu dsc • Jednoduch´e videotutori´ aly
51
52
ˇ ´ILOHA C. OBSAH PRILO ˇ ˇ EHO ´ PR ZEN DVD
Obr´ azek C.1: Seznam pˇriloˇzen´eho DVD