Pavel Pokorný
BLENDER nauète se 3D grafiku 2. aktualizované a rozíøené vydání
Praha 2009
PODÌKOVÁNÍ Chtìl bych podìkovat pøedevím Pavlovi Èernohousovi, který mi pomohl se s Blenderem seznámit a poznat, o jak výborný program ve své oblasti jde. Pøedevím jeho èlánky, které jsem nalezl na internetu a rady mi velice pomohly proniknout hluboko do nitra Blenderu. Podìkování patøí i Veronice Bártové za pomoc pøi aktualizaci této knihy. Ale podìkování patøí i mnoha dalím lidem, kteøí se v nejrùznìjích návodech a diskusních fórech rádi podìlili o svoje poznatky i zkuenosti. V neposlední øadì bych chtìl podìkovat vem lidem v mém blízkém okolí, jejich vìtí èi mení pomoc, trpìlivost a tolerance mi umonily tuto knihu napsat. Autor Tato publikace vznikla za podpory výzkumného zámìru MSM 7088352102.
Ing. Pavel Pokorný, Ph.D.
Blender nauète se 3D grafiku Bez pøedchozího písemného svolení nakladatelství nesmí být kterákoli èást kopírována nebo rozmnoována jakoukoli formou (tisk, fotokopie, mikrofilm nebo jiný postup), zadána do informaèního systému nebo pøenáena v jiné formì èi jinými prostøedky. Autor a nakladatelství nepøejímají záruku za správnost titìných materiálù. Pøedkládané informace jsou zveøejnìny bez ohledu na pøípadné patenty tøetích osob. Nároky na odkodnìní na základì zmìn, chyb nebo vynechání jsou zásadnì vylouèeny. Vechny registrované nebo jiné obchodní známky pouité v této knize jsou majetkem jejich vlastníkù. Uvedením nejsou zpochybnìna z toho vyplývající vlastnická práva. Vekerá práva vyhrazena © Ing. Pavel Pokorný Ph.D., Praha 2009 © Nakladatelství BEN technická literatura, Vìínova 5, Praha 10 Pavel Pokorný: Blender nauète se 3D grafiku BEN technická literatura, Praha 2009 2. vydání
ISBN 978-80-7300-244-2
Obsah 1
HISTORICKÝ VÝVOJ BLENDERU .......................................... 11
Verze 2.30 (øíjen 2003) .............................................................................. 12 Verze 2.35 (listopad 2004) ......................................................................... 12 Verze 2.40 (prosinec 2005) ........................................................................ 13 Verze 2.41 (leden 2006) ............................................................................. 13 Verze 2.42 (kvìten 2006) ........................................................................... 13 Verze 2.43 (únor 2007) .............................................................................. 14 Verze 2.44 (kvìten 2007) ........................................................................... 14 Verze 2.45 (listopad 2007) ......................................................................... 15 Verze 2.46 (kvìten 2008) ........................................................................... 15 Verze 2.47 (srpen 2008) ............................................................................. 15
2
CO LZE V BLENDERU PROVÁDÌT ........................................ 17
Rozhraní..................................................................................................... 18 Modelování ................................................................................................ 18 Animace ..................................................................................................... 19 Stínování a Rendering ............................................................................... 19 Fyzika, èásticové systémy a efekty ............................................................ 20 Realtime 3D/tvorba her ............................................................................. 20 Soubory ...................................................................................................... 21
3
INSTALACE BLENDERU ....................................................... 23
Windows .................................................................................................... 24 Linux ......................................................................................................... 25
4
POPIS PROSTØEDÍ A ZÁKLADNÍ OVLÁDÁNÍ BLENDERU ........... 27
4.1 4.2 4.3 4.4 4.5
Typy oken ........................................................................................ 29 Uivatelské nastavení ...................................................................... 30 Práce se soubory .............................................................................. 32 Nastavení vlastního prostøedí .......................................................... 33 Základní práce s oknem 3D View ................................................... 35
A
Obsah a úvod
3
4.6 4.7 4.8
Obrazovky a scény .......................................................................... 38 Hladiny ............................................................................................ 39 Okno Buttons Window .................................................................... 40
5
VYRENDEROVÁNÍ SCÉNY A VÝSTUPNÍ NASTAVENÍ .................. 41
5.1 5.2
Nastavení renderingu a renderování ................................................ 42 Tipy pro renderování ....................................................................... 47
6
OBJEKTY VE SCÉNÌ A ZÁKLADNÍ PRÁCE S NIMI ..................... 49
6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9 6.10
Objektový a editaèní mód ............................................................... 52 Základní editaèní pøíkazy ................................................................ 53 Pøíkazy transformací ....................................................................... 57 Manipulátory ................................................................................... 60 Práce se støedovým bodem a zarovnávání....................................... 61 Uchycení objektù ............................................................................ 64 Skupiny objektù .............................................................................. 65 Rodièovská vazba seskupení objektù ........................................... 66 Modifikátory ................................................................................... 68 Zpùsoby zobrazení .......................................................................... 70
7
PRÁCE S MESH OBJEKTY ..................................................... 71
7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 7.10 7.11 7.12
Mesh objekty a editaèní mód .......................................................... 75 Práce s mesh objekty v editaèním módu ......................................... 78 Taení (Extrude) .............................................................................. 86 Rozdìlení (Subdivide) ..................................................................... 88 Magnetické pole (Proportional editing tool) ................................... 89 Zaoblování (Bevel) .......................................................................... 91 Modelovací zpùsob sculpt ............................................................... 92 Zakøivení (Warp tool) ...................................................................... 95 Hák (Hooks) .................................................................................... 96 Subsurf ............................................................................................ 97 Multires ........................................................................................... 99 Decimátor (Decimate) ................................................................... 101
4
Pavel Pokorný: Blender nauète se 3D grafiku
A
7.13 7.14 7.15 7.16 7.17 7.18 7.19 7.20 7.21 7.22 7.23 7.24
Rozøezávání (Knife) ...................................................................... 102 Vyuití umu pøi modelování ........................................................ 103 Modifikátor Cast ........................................................................... 104 Modelování podle obrázku na pozadí ........................................... 105 Rotace profilu kolem osy (Spin, Spin Dup) .................................. 106 roubovice (Screw) ....................................................................... 107 Modifikátor Array ......................................................................... 108 Lattice ............................................................................................ 110 Modifikátor Mesh Deform ............................................................ 111 Rip tool .......................................................................................... 113 Váha vertexù ................................................................................. 113 Booleovské operace ...................................................................... 115
8
PRÁCE S KØIVKAMI, PLOCHAMI A TEXTY ........................... 117
8.1 8.2 8.3 8.4 8.5
Køivky (Curves) ............................................................................ 118 Plochy (Surfaces) .......................................................................... 124 Práce s texty .................................................................................. 125 Taení a tvarování u køivek ........................................................... 129 Deformace objektu podle køivky ................................................... 130
9
META OBJEKTY ................................................................ 133
10
MATERIÁLOVÉ NASTAVENÍ ................................................ 137
10.1 10.2 10.3 10.4
Materiály ....................................................................................... 138 Ramp shadery ................................................................................ 146 Halo efekty .................................................................................... 148 Node editor a materiály ................................................................. 149
11
TEXTURY ......................................................................... 153
11.1 11.2 11.3 11.4 11.5
Textury a materiál .......................................................................... 154 Tvorba textur ................................................................................. 158 Environment mapping ................................................................... 163 Displacement mapping .................................................................. 165 Vkládání 2D obrázku do 3D scény ............................................... 167
A
Obsah a úvod
5
11.6 UV mapování ................................................................................ 169 11.7 Modifikátor UVProject ................................................................. 174
12
SVÌTLA ........................................................................... 177
12.1 Typy svìtel .................................................................................... 178 12.2 Volumetrické svìtlo ....................................................................... 183 12.3 Umisování svìtel do scény .......................................................... 184
13
PRÁCE S KAMEROU ........................................................... 187
14
OKOLÍ SCÉNY .................................................................. 191
14.1 Mlha .............................................................................................. 194 14.2 Hvìzdy .......................................................................................... 195 14.3 Ambient occlusion ........................................................................ 196
15
ROZÍØENÉ MONOSTI RENDERINGU .................................. 199
15.1 15.2 15.3 15.4 15.5 15.6 15.7
Renderovací hladiny ...................................................................... 200 Kompozitní Node editor ................................................................ 203 Zapékání textur .............................................................................. 205 Panoramatický rendering............................................................... 208 Rendering se zvýraznìnými hranami ............................................ 209 Ray tracing .................................................................................... 210 Radiosita ........................................................................................ 213
16
OUTLINER ....................................................................... 215
17
ANIMACE ......................................................................... 219
17.1 17.2 17.3 17.4 17.5 17.6
Vytvoøení jednoduché animace ..................................................... 220 Animace v IPO editoru .................................................................. 222 Sledování objektu a pohyb objektu po køivce ............................... 227 Animace deformací objektù .......................................................... 229 Animace pohybù (character animation) ........................................ 233 Video sequence editor ................................................................... 240
6
Pavel Pokorný: Blender nauète se 3D grafiku
A
18
ÈÁSTICOVÉ SYSTÉMY A EFEKTY ........................................ 243
18.1 18.2 18.3 18.4 18.5 18.6 18.7
Objekty jako èástice ...................................................................... 251 Modifikátor Explode ..................................................................... 254 Statické èástice .............................................................................. 256 Simulace látek ............................................................................... 257 Simulace pruných objektù ........................................................... 260 Fluidní dynamika .......................................................................... 263 Efekty Build a Wave ...................................................................... 266
PYTHON SKRIPTY ...................................................................... 269 19.1 L-system skript .............................................................................. 271 19.2 Skript Gen3 ................................................................................... 276
REJSTØÍK ................................................................................. 281 Kontakty na prodejny technické literatury .............................................. 287
A
Obsah a úvod
7
ÚVOD Historie poèítaèové grafiky sahá do padesátých let minulého století. Stejnì jako jiné obory lidské èinnosti, i poèítaèová grafika prodìlala bouølivý vývoj, který byl ovlivnìn zejména monostmi jejího uplatnìní. V dnení dobì se s ní mùeme setkat v mnoha oblastech napø. v reklamní a umìlecké tvorbì, pøípravì publikací (DTP), u konstrukèních návrhù (CAD), grafické komunikaci (ikony), pøi znázornìní údajù (grafy, diagramy) nebo zpracování obrazu (úprava fotografií apod.). S nárùstem výkonù poèítaèù se v dnení dobì stále více vyuívá a uplatòuje 3D poèítaèová grafika. A to nejen v oblasti ji zmínìných konstrukèních návrhù, ale i v oblastech poèítaèových her nebo filmové tvorby. Pro konkrétní úkony na poèítaèi se pouívají specializované softwarové nástroje. To stejné platí i v 3D poèítaèové grafice. Práce s takovými nástroji bývá pro zaèáteèníka velice obtíná. Zvládnutí pokroèilých grafických technik je otázkou intenzivního vìnování se danému programu mìsíce, ba i léta. A to nemluvíme o grafickém cítìní. Kadý software je jen prostøedek, kterým nìco vytváøíme. Pokud se pouze nauèíme ovládat nìkterý z grafických programù (by na velmi vysoké úrovni), nemùeme oèekávat, e budeme umìt vytváøet dokonalé filmové scény, které je moné vidìt na plátnech kin èi televizních obrazovkách. K tomu je tøeba znát i spoustu jiných vìcí, vìdìt nìco o kompozici a koncepci obrazu, atd. Ale to ji odboèujeme. Kniha, kterou právì dríte v ruce, se tìmto tématùm nevìnuje. Celá je vìnována popisu jednoho 3D grafického programu. Tímto programem je Blender. Kniha je urèena pøedevím zaèáteèníkùm a zájemcùm o 3D grafiku, kteøí by do dané oblasti chtìli proniknout hloubìji. Zkuenìjí uivatelé zde moná nenajdou ve, co by potøebovali. Ono napsat takovou knihu, která by obsahovala vechno o takovém programu ani nejde. Publikace o Blenderu by mohla mít nìkolikanásobnì více stránek, a pøesto by neobsahovala ve. Kromì toho vznikají v pravidelných èasových intervalech nové verze s novými nástroji a pozmìnìnými nìkterými starími. Taková publikace by pak ztrácela na aktuálnosti. Jak je uvedeno v pøedchozím odstavci, kniha je urèena pøedevím zaèáteèníkùm. Tìmi zaèáteèníky jsou mínìni uivatelé, kteøí se chtìjí nauèit pracovat s 3D grafikou v Blenderu. Nejsou jimi mínìni zaèínající poèítaèoví uivatelé. Pøi studiu této knihy pøedpokládáme, e uivatel ví, co je soubor, adresáø a zná základní práce s nimi. Takté pøedpokládáme, e má alespoò základní zkuenosti s grafickým prostøedím tøeba i jiného programu (ví co jsou to ikony, tlaèítka, jak fungují rozbalovací nabídky pøíkazù) a má základní vìdomosti o poèítaèové grafice (ví jaký je rozdíl mezi rastrovou a vektorovou grafikou, co je to a jak funguje 3D souøadnicový systém, atd.). Jednoduí studium budou mít také uivatelé, kteøí znají alespoò základy anglického jazyka.
CO JE TO BLENDER? Blender je software pro 3D modelování, animaci, tvorbu her, rendering a pøehrávání. Je to program, který je zaloeny na grafické knihovnì OpenGL. Díky tomu je dostupný
8
Pavel Pokorný: Blender nauète se 3D grafiku
A
pro velké mnoství operaèních systémù jako je Windows, Linux, Irix, Sun Solaris, FreeBSD nebo Mac OS X. Dalí výhodou Blenderu je, e je k dispozici zcela zdarma, a to vèetnì zdrojových kódù. Ti uivatelé, kteøí jsou zbìhlí v programování, si proto mohou program zkompilovat i sami. Samozøejmì, e existuje spousta jiných programù, které mají stejné èi podobné zamìøení jako Blender a disponují i silnìjími nástroji. Jmenujme napøíklad 3D Studio Max, Maya, Lightwave, Cinema 4D, Rhinoceros. Tyto programy se øadí mezi profesionální a lze v nich provádìt pro laika a neskuteèné vìci, které lze vidìt v mnohých multimediálních prezentacích, poèítaèových hrách èi filmových scénách. Ji nìkolik let se produkují filmy, které byly kompletnì vytvoøeny na poèítaèi s pouitím nìkterého z tìchto jmenovaných programù. Takto vytvoøených filmù stále více narùstá a i v bìnì vytváøených filmech se scény a efekty, vytvoøené tìmito programy, pouívají èím dál tím èastìji. Dùvodem nejsou jen monosti souèasných poèítaèù, ale i ekonomické hledisko. Dá se tak uetøit nemálo finanèních prostøedkù. Není moné pøesnì øíci, který z jmenovaných programù je nejlepí. Kadý z nich má nìjaké charakteristické vlastnosti (tím pádem pøednosti a nedostatky). Obecnì lze øíci, e je celkem jedno, který program zaène zájemce o 3D grafiku pouívat, dùleité je nauèit se zvolený nástroj dokonale ovládat. Postupem èasu je moné pøejít na program, který se zdá lepí.
PROÈ PRÁVÌ BLENDER Dùvodù, proè jsem se rozhodl napsat knihu Blenderu, bylo nìkolik. O prvním z nich jsem se ji zmínil. Je zcela zdarma (jedna licence jiných, výe zmiòovaných komerèních programù, obvykle stojí desetitisíce a statisíce). Tím pádem otevírá oblast pro zaèínající zájemce o 3D grafiku, ani by museli do programu investovat finanèní prostøedky. Dalím dùvodem je jeho velikost a hardwarová nenároènost. Velikost instalaèního souboru aktuální verze 2.46 je pøiblinì 9 MB a po instalaci zabírá místo na disku okolo 30 MB. Vzhledem k monostem, kterými tento program disponuje, se to zdá a neuvìøitelné. Jeho rychlost a výkonnost pochopitelnì závisí na konfiguraci poèítaèe. Nejdùleitìjí komponentou pro takovýto program je samozøejmì grafická karta. Na domovských internetových stránkách Blenderu [1] se nachází velký test porovnání rychlosti pro rùzné operaèní systémy a grafické karty. Nicménì program funguje i na dnes ji historických 3Dfx kartách Banshee ve Windows 98. Stejnì jako u jiných programù, je i Blender neustále vyvíjen a pravidelnì vznikají nové verze, ve kterých jsou implementované nové funkce a rozíøené monosti. Díky tomuto, a více ne desetileté historii vývoje, jeho popularita neustále narùstá a pracuje s ním obrovské mnoství poèítaèových uivatelù. To dokládají i údaje od tvùrcù tohoto programu, kteøí na vývojáøských www stránkách Blenderu [1] uvedli, e za prvních osm mìsícù roku 2005 mìli více ne 2 milióny downloadù. Vrame se ale zpìt k dalí charakteristice programu. Doposud jsme hovoøili pouze o výhodách Blenderu. Pokud bychom mìli jmenovat nìjakou nevýhodu programu, tak
A
Obsah a úvod
9
to na první pohled bude zøejmì uivatelské prostøedí. Abychom ale byli pøesní, ono to uivatelské prostøedí je vytvoøeno dobøe a tlaèítka pøíkazù jsou umístìna pøehlednì a logicky. To vak oceníte, a se s programem blíe seznámíte. Pro úplného zaèáteèníka bude zorientovat se v prostøedí programu a nauèit se s ním pracovat moná trochu problém. To se týká pøedevím uivatelù Windows. Napøíklad funkèní klávesa F1 nevyvolá nápovìdu, tak, jak jsou uivatelé operaèního systému firmy Microsoft zvyklí, ale otevírá nový soubor (co je v programech vytvoøených pro Windows zpravidla kombinace kláves CTRL + O). Podobnì nelze napøíklad vyuít schránku na pøenáení objektù z jedné scény do druhé (vkládat objekty mezi scénami pochopitelnì jde, ale provádí se to jiným zpùsobem viz dále). Tento zpùsob ovládání je dán multiplatformností, o které bylo zmínìno na zaèátku této kapitoly. Proto, pokud se vám z tohoto dùvodu bude práce s tímto programem zdát zpoèátku obtíná, nenechte se odradit.
KONCEPCE KNIHY Po obsahové stránce jsem knihu psal jako referenèní pøíruèku s postupným popisem nejpodstatnìjích funkcí programu v oblasti modelování, renderingu a animací, které najdete pro verzi 2.46 (v dobì psaní této knihy jde o nejnovìjí oficiální verzi programu). Nenajdete zde ovem nic o tématu tvorby her v Blenderu, a také o Python skriptech je zde pojednáno jen velice struènì. Obì tato témata jsou pomìrnì rozsáhlá (zvlátì Python) a zaslouila by si samostatnou publikaci. Pøesto tedy, e je v této knize uveden zejména popis funkcí, snail jsem se co nejvíce témat doplnit ukázkovými pøíklady. Ty by mìly pomoci zvlátì zaèáteèníkùm. Zároveò vem uivatelùm, kteøí to s 3D grafikou myslí opravdu vánì, doporuèuji soubìnì s touto publikací navtívit internetové adresy, jejich seznam je uveden na konci této knihy. Na nich najdete nejen spoustu dalích pøíkladù a tutoriálù, ale i námìty, jakým smìrem se vydat dále v této oblasti, která je bezesporu velice zajímavá. Pøíklady, které jsou v této knize uvedeny, pochopitelnì mùete vytváøet zcela sami. Pokud byste s nimi mìli potíe, mùete pøísluné soubory získat zdarma z internetu staèí navtívit www stránky vydavatelství BEN technická literatura. Snahou bylo, aby na sebe jednotlivé kapitoly navazovaly od poèáteèního seznámení s Blenderem a po proniknutí do hloubky tohoto vynikajícího programu. Protoe jsou vak jednotlivé èásti na sobì hodnì závislé, èasto se v textu ètenáø setká s odkazy do jiných pasáí textu. V pøípadì, e na takový text ètenáø narazí a na první pohled se nebude zdát pøíli srozumitelný, mùe pøíslunou èást pøeskoèit a vrátit se k ní poté, co budou osvìtleny pøísluné navazující èásti. Protoe je prostøedí programu ryze anglické, v knize jsou èasto pouita anglická slova (soubory, pøíkazy, èi nabídky menu). Pro lepí èitelnost jsou tato slova oddìlena od okolního textu tak, e jsou psána kurzívou. Klávesové zkratky pøíkazù jsou v textu psány tuènì a velkými písmeny. Desetinná èísla jsou z programátorských dùvodù zapsána s desetinnou teèkou místo èárkou.
10
Pavel Pokorný: Blender nauète se 3D grafiku
A