12. 3d grafika - pedagogická fakulta mu · pdf file(částe čně p řevzato z )...

15
127 12. 3D grafika 12.1 TROJROZMĚRNÁ GRAFIKA Už i žáci na základní škole zvládnou práci s modelováním trojrozměrných objektů. Pro normální hodiny, kterých se účastní všechny typy žáků, je to poměrně obtížné téma. Nicméně v odpoledním kroužku máme s tímto tématem velmi dobré zkušenosti. Kroužek je určen jednak pro počítačové fanatiky, kteří jsou ochotni chopit se takové výzvy, a jednak pro děti, které se věnují výtvarným činnostem. V podstatě platí, že během tří měsíců vykrystalizují dvě skupiny. Jedni budou do trojrozměrné grafiky fandové, a druzí s tímto tématem skončí. Na základní škole se skutečně nejedná o téma „pro všechny“. Na druhou stranu – ti, kteří vytrvají, vám budou dostatečně velkou odměnou. Po půlroce vaší trpělivé práce se dostanete do fáze, kdy nebudete stačit zírat na to, co je schopen vytvořit žák sedmé třídy. Poznámka: I když jsme právě uvedli, že nepovažujeme za dobré zařadit tohle téma do normální výuky, jako několikahodinovou ukázku bychom to v hodinách doporučovali. Důvod je prostý. V ostatních hodinách výuky máme poměrně málo příležitostí rozvíjet prostorovou představivost. Pro děti je zpočátku velmi obtížné pracovat „v prostoru“, určit, co je před a co za, rozhodnout, jak bude objekt vypadat v pohledu shora, když takto vypadá v bočním pohledu… Pár cvičení typu „Sestavte robota z těchto dílů“ jim dá v tomto směru obrovskou zkušenost. Podmínkou pro náročnější práci je malý počet dětí ve skupině. Zvláště zpočátku je například 10 dětí maximum. Při větším počtu dětí se stává, že všichni čekají na jednoho, který musí něco spravit, udělat, vymodelovat, aby mohl pokračovat dále.

Upload: lykhuong

Post on 14-Mar-2018

217 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: 12. 3D grafika - Pedagogická fakulta MU · PDF file(částe čně p řevzato z ) Blender je multiplatformní open source aplikace zaměřená na vytvá ření 3D model ů, ... tutorial

127

12. 3D grafika

12.1 TROJROZMĚRNÁ GRAFIKA

Už i žáci na základní škole zvládnou práci s modelováním trojrozměrných objektů.

Pro normální hodiny, kterých se účastní všechny typy žáků, je to poměrně obtížné téma.

Nicméně v odpoledním kroužku máme s tímto tématem velmi dobré zkušenosti. Kroužek je

určen jednak pro počítačové fanatiky, kteří jsou ochotni chopit se takové výzvy, a jednak pro

děti, které se věnují výtvarným činnostem.

V podstatě platí, že během tří měsíců vykrystalizují dvě skupiny. Jedni budou do trojrozměrné

grafiky fandové, a druzí s tímto tématem skončí. Na základní škole se skutečně nejedná o

téma „pro všechny“. Na druhou stranu – ti, kteří vytrvají, vám budou dostatečně velkou

odměnou. Po půlroce vaší trpělivé práce se dostanete do fáze, kdy nebudete stačit zírat na to,

co je schopen vytvořit žák sedmé třídy.

Poznámka:

I když jsme právě uvedli, že nepovažujeme za dobré zařadit tohle téma do

normální výuky, jako několikahodinovou ukázku bychom to v hodinách

doporučovali. Důvod je prostý. V ostatních hodinách výuky máme

poměrně málo příležitostí rozvíjet prostorovou představivost. Pro děti je

zpočátku velmi obtížné pracovat „v prostoru“, určit, co je před a co za,

rozhodnout, jak bude objekt vypadat v pohledu shora, když takto vypadá v

bočním pohledu… Pár cvičení typu „Sestavte robota z těchto dílů“ jim dá v

tomto směru obrovskou zkušenost.

Podmínkou pro náročnější práci je malý počet dětí ve skupině. Zvláště zpočátku je například

10 dětí maximum. Při větším počtu dětí se stává, že všichni čekají na jednoho, který musí

něco spravit, udělat, vymodelovat, aby mohl pokračovat dále.

Page 2: 12. 3D grafika - Pedagogická fakulta MU · PDF file(částe čně p řevzato z ) Blender je multiplatformní open source aplikace zaměřená na vytvá ření 3D model ů, ... tutorial

128

12.2 Programy pro 3D grafiku

Aplikací pro tvorbu 3D tedy trojrozměrné grafiky na PC je poměrně hodně. Některé byly

zmíněny již výše. Mnoho profesionálních aplikací jako třeba 3D studio MAX mají ale také

velmi vysokou pořizovací cenu. Ale i v tomto sektoru lze nalézt vhodnější zástupce.

Při používání 3D grafiky postupujeme obecně tímto způsobem. Nejprve scénu vymodelujeme

na základě různých modelovacích technik ze základních tvarů. Objektům ve scéně nastavíme

materiál – tedy barvu a vlastnosti povrchu jako je odrazivost, hrubost, průhlednost apod.

Případně přiřadíme textury. Texturování je nanesení na povrch určitého vzoru aby objekt

vypadal reálně jako kdyby byl ze dřeva, mramoru, nebo jiného materiálu. V další fázi je pro

dosažení realističnosti scénu osvětlit vhodným množstvím světel s parametry a postavením

jaké nám vyhovuje. Ve scéně je pak většinou umístěna kamera ze které bude obraz snímán.

Finálním krokem je tzv. vyrenderování výsledného obrazu. Tedy teprve pak vidíme scénu

podle nastavení v co možná nejfotorealističtější grafice.

Grafické programy často umožňují vytvořit renderováním nejen obrázek, ale i film. Můžeme

objekty animovat a ukládat sekvenci snímků v podobě videosouboru a tak si vytvořit vlastní

3D animované video. Navíc některé aplikace umožňují práci i s některým ze skriptovacích či

programovacích jazyků a je tak možné vytvořit třeba v jedné aplikaci i celou počítačovou hru.

To jsou však již pokročilejší funkce a nejprve je nutné zvládnout základy modelování.

Důležitou poznámkou je že 3D aplikace a renderování je náročné na výkon počítače a HW

vybavení. Je tedy možné že složitější scény se budou vytvářet na slabších strojích poměrně

složitě.

12.3 BLENDER

(částečně převzato z www.blender3d.cz)

Blender je multiplatformní open source aplikace zaměřená na vytváření 3D modelů, animací,

rendering, postprodukční činnost a v neposlední řadě interaktivních aplikací.

Multiplatformní znamená, že Blender spustíte nejen v systému Windows, ale i pod Linuxem,

na Mac OS X a mnoha dalších. Open source znamená, že je program nejen zcela zdarma a to i

pro komerční využití, ale také že si můžete stáhnout kompletní zdrojové kódy, zkompilovat je

Page 3: 12. 3D grafika - Pedagogická fakulta MU · PDF file(částe čně p řevzato z ) Blender je multiplatformní open source aplikace zaměřená na vytvá ření 3D model ů, ... tutorial

129

na vlastní sestavě pro optimalizaci výkonu, libovolně je upravovat a případně se aktivně

podílet na dalším vývoji Blenderu.

Nové verze jsou veřejnosti přestavovány většinou v horizontu 3-4 měsíců a kromě řady

drobných vylepšení uvádí také nové nástroje a funkce sledující aktuální vývoj potřeb svých

uživatelů i uživatelů 3D software obecně.

Kromě nástrojů pro modelovaní, animaci a renderování obsahuje Blender také GameEngine,

ve kterém je možné vytvářet interaktivní prezentace, průchozí vizualizace např. interiérů

domů a počítačové hry, vše přímo v Blenderu pomocí interního grafického editoru s možností

doplnění kódem v objektově orientovaném programovacím jazyce Python (www.python.org).

Vedle interního hybridního scanline/raytrace rendereru nabízí Blender také přímý výstup v

externím rendereru Yafray, který je rovněž k dispozici zcela zdarma.

Blender lze doplnit celou řadou rozšíření ve formě Python skriptů, v nichž existují i velmi

složité pluginy např. pro generování stromů, trávy, zvířecí srsti apod., či importní a exportní

filtry pro komunikaci s jinými aplikacemi.

Další rozšíření jsou možná použitím materiálových či sekvenčních (postprodukčních) pluginů,

dodávaných ve formě knihovních souborů (např. .dll)

12.3.1 Interface Interface Blenderu je poměrně originálně řešené a zejména pro uživatele přecházející z jiných

3D aplikací může působit poněkud zmateně. Velmi rychle však proniknete do jeho filosofie a

zjistíte, že je neuvěřitelně efektivní, intuitivní a umožní vám tvořit vaše modely a animace

rychle, přirozeně a bez nutnosti intenzivně přemýšlet, kde najít jakou funkci skrytou v

několikátém submenu.

Hlavní atributy interface Blenderu jsou:

• plně přenastavitelná pracovní plocha

• rozdělení do oken pro modelování, animační křivky, outliner, nelineární

videostřih, editování UV map, animování postav (pose editor, NLA editor),

souborový manažer atd.

• databázový systém umožňující optimální management scény, instance a

dynamické propojování projektů v různých souborech

• lokalizace do několika jazyků, včetně možnosti zapnout co vše má být

lokalizováno a co ponecháno v angličtině (např. tlačítko anglicky, vysvětlující

popisek v jiném jazyce) a možnosti vytvářet si vlastní jazykové sady

• zabudovaný textový editor sloužící k poznámkám a programování Python skriptů

Page 4: 12. 3D grafika - Pedagogická fakulta MU · PDF file(částe čně p řevzato z ) Blender je multiplatformní open source aplikace zaměřená na vytvá ření 3D model ů, ... tutorial

130

• interface je stejný na všech platformách

12.3.2 Modelování • práce s polygony, Nurbs plochami, bezier a B-spline křivkami, metabally,

vektorové fonty (TrueType, PostScript, OpenType)

• Catmull-Clark povrchy (ekvivalent meshsmooth) s editovatelnou ostrostí/oblostí

hran

• editování polygonálního meshe s volitelnou selekcí vertexů, hran nebo faců

• boolens operace pro mesh

• editovací funkce jako extrude, bevel, cut, spin, screw, warp, subdivide, noise,

smooth…seznam pokračuje a s novými verzemi se rozšiřuje

• možnost doprogramovat si pomocí Pythonu modelační nástroje dle potřeby

12.3.3 Animace • deformační armatury (kosti- skeletony) s dopřednou i inverzní kinematikou (FK,

IK), autoskining a interaktivní nastavování vah deformačních skupin pomocí

nástroje WeightPaint

• několik typů constraints pro rigging

• pose editor

• editor nelineární animace (NLA) , automatizace posunu postavy ze zacyklenou

animací chůze (walkcycle) podél definované cesty (path)

• animace vertex keys a relative vertex keys (obdoba morph targets )s ovládacími

posuvníky

• particle efekty s deformátory podle větru, gravitace, mag. Přitažlivosti/odpuzování

a detekcí kolizí

• SoftBodies (např. simulace látek) s detekcí kolizí

• animovatelná deformace lattice

• podpora "motion curve" i tradičního key-frame editování

• podpora zvuku a nástrojů pro synchronizaci zvuku a obrazu

• možnost doprogramovat si pomocí Pythonu animační nástroje případně „řízené

animace“ dle potřeby

Page 5: 12. 3D grafika - Pedagogická fakulta MU · PDF file(částe čně p řevzato z ) Blender je multiplatformní open source aplikace zaměřená na vytvá ření 3D model ů, ... tutorial

131

12.3.4 Render • možnost výběru z 2 renderovacích enginů- interní Blender renderer (hybridní

scanline/raytrace) a přímý přístup k externímu raytraceru Yafray

• oversampling, motion blur, postprodukční efekty (glow, zblur…) fields,

nečtvercové pixely

• environment mapy, halo, lens flare, mlha…

• několik materiálových shaderů pro difusní a specularitní kanál- Lambert, Phong,

Orean-nayar, Blinn, Toon, Minnaert, Wardlso

• Edge rendering pro efekt vytažených okrajů (cartoon)

• Procedurální textury

• Ambient Occlusion

• Radiosita

• Množství exportních skriptů do dalších raytracerů, např. pro Povray,

Renderman(RIB) Virtualight

• UV editor s několika metodami pro unwrap (např velmi efektivní LSCM)

12.3.5 Interaktivní aplikace- realtime 3D/tvorba her • grafický editor pro naprogramování logiky aplikace/hry bez nutnosti programovat

• detekce kolizí a simulace dynamiky

• přístup do enginu přes Python skripty pro složitější logiku, umělou inteligenci

apod.

• podpora všech povrchových módu OpenGL, včetně průhlednosti, animovatelných

reflexních map apod.

• přehrávání her a interaktivních 3D aplikací bez kompilování a předpočítání

• audio využívající SDL toolkit

• multi-layering scén pro plovoucí interface

12.3.6 Soubory a podporované formáty • všechna data ve scéně se ukládají do jediného souboru s příponou „.blend“

• .blend formát podporuje kompresi, digitální podpisy, zakódování, dopřednou i

zpětnou kompatibilitu a může být použit jako knihovna, do níž přistupujete z

jiného souboru.

• čte/zapisuje TGA, JPG, PNG, Iris (+ Zbuffer), SGI Movie, IFF, AVI and

Quicktime GIF, TIFF, PSD, MOV

Page 6: 12. 3D grafika - Pedagogická fakulta MU · PDF file(částe čně p řevzato z ) Blender je multiplatformní open source aplikace zaměřená na vytvá ření 3D model ů, ... tutorial

132

• nativní podpora importu a exportu DXF formátu, Inventor a VRML souborů, přes

python skripty je umožněn import/export do množství dalších formátů (OBJ,

LWO, COB…), ty hlavní skripty jsou již součástí staženého Blenderu

• vytvoření samospustitelných souborů (.exe) s interaktivními 3D aplikacemi, hrami

apod., nebo je můžete přehrávat ve webovském prohlížeči s příšluným pluginem

12.3.7 Podporované platformy • Windows 98, ME, 2000, XP

• Mac OS X

• Linux (i386)

• Linux (PPC)

• FreeBSD 5.3 (i386)

• SGI Irix 6.5

• Sun Solaris 2.8 (sparc)

12.4 Některé základní příkazy BLENDERu

F5 - stínování

F6 - textury

F7 - objekt

F9 - editování (pod mesh tools je extudování/tažení a tlačítka Screw/Spin/Spin

Dup...)

F10 - scéna

Pohledy:

0 - kamera

1 - zepředu

3 - zprava

5 - perspektiva

7 - shora

+/- - přiblížení/oddálení

Enter - normalizace přiblížení

Page 7: 12. 3D grafika - Pedagogická fakulta MU · PDF file(částe čně p řevzato z ) Blender je multiplatformní open source aplikace zaměřená na vytvá ření 3D model ů, ... tutorial

133

shift+kolecko - posun pohledu

ctrl+kolecko - posun pohledu

mezernik - vložení objektu na pozici kurzoru

tab - přepínání object mode/edit mode

S - změna velikosti

R - rotace

G - přesun

B - vybírání bodů

A - označení

E - extrudování

P - separace tělesa (rozdělení)

W - boolovske operace

W - nastroj bevel pro zaobleni ! special in edit mode

F - spojeni vertexů (propojí dva označené body)

ctrl+LMB - vložení bodu na křivku

V - zalomení křívky v akt. bodě

Shift + S - zarovnání k mřížce

shift + F - uzavření tělesa

shift + D - duplikace

alt+H - historie

alt+C - konvertování do meshe apod....

Za pomoci klávesy F12 se obrázek vyrendruje.

Pokud si ho chcete uložit, tak skryjte obrázek klávesou F11 a klávesou F3 obrázek uložte.

Page 8: 12. 3D grafika - Pedagogická fakulta MU · PDF file(částe čně p řevzato z ) Blender je multiplatformní open source aplikace zaměřená na vytvá ření 3D model ů, ... tutorial

134

12.5 Blender – příklad modelování scény

Pro modelování a výuku práce s blenderem existuje na internetu celá řada zdarma dostupných

tutorialů (např. na http://www.3dscena.cz). Převzatý návod ukazuje modelování stolku s květináčem

(David Střelák – www.3dscena.cz):

Začít bychom asi měli vysvětlením techniky extrude. Touto technikou se dá velice jednoduše

vyrábět spousta zajímavých předmětů. Technika samotná spočívá v tom, že ty vertexy, které

máte označené, se nakopírují a následně rozšiřují původní objekt. Extrudování samo má

klávesovou zkratku E. Možná to bude lépe zřetelné z následujících obrázků:

Tak se pustíme do práce, ať to máme rychle za sebou. Nejprve vytvoříme podstavec stolku,

který se nachází v popředí obrázku. Vložte si do prázdné scény objekt Plane (mezerník, Add,

Mesh, Plane). Vkládejte ho v horním pohledu. Přepněte se do bočního pohledu a stiskem

klávesy E extrudujte region (Region). Uděláme si tedy takový kvádr, jehož horní vertexy

nástrojem Scale (S) poněkud zmenšete, aby vznikl podobný tvar:

Někteří mohou namítnout, že jde také vložit objekt Cube a pak zmenšit horní vertexy, ale pak

bychom neextrudovali…

Page 9: 12. 3D grafika - Pedagogická fakulta MU · PDF file(částe čně p řevzato z ) Blender je multiplatformní open source aplikace zaměřená na vytvá ření 3D model ů, ... tutorial

135

Nyní se přepněte do Object menu a přes F9 se dostanete do editování. Tam objekt nově

centrujte (Centre New) a pak pomocí příkazu Shift + S zarovnejte kursor na střed (viz minulý

článek).

Znovu se hoďte do horního pohledu a vložte objekt Circle. Ten v bočním pohledu extrudujte

směrem nahoru. Extrudovat musíte Vertex only.

Opět se vraťte do horního pohledu a horní vertexy vyplňte triangulárními facy. (posledně

jsem to v článku omylem napsal špatně, správně se vyplňuje Shift + F).

Přesuňte si kurzor do pozice jako na obrázku:

Kurzor zarovnejte ke mřížce

V horním pohledu vložte objekt Plane a zvětšete ho asi na dvojnásobek stojanu (nebo v jiném

rozumném poměru) a opět extrudujte nahoru. Tím nám vlastně vznikla deska stolu.

Page 10: 12. 3D grafika - Pedagogická fakulta MU · PDF file(částe čně p řevzato z ) Blender je multiplatformní open source aplikace zaměřená na vytvá ření 3D model ů, ... tutorial

136

Jelikož ale vypadá taková deska až moc uměle (má moc přesné hrany), musíme ji nějak

zaoblit. K tomu je v Blenderu určen nástroj Bevel, který se nachází pod klávesovou zkratkou

W. Příkaz Bevel vlastně vezme označené vertexy, nakopíruje je a přesune tak, aby byl objekt

zaoblený. Míru zaoblení můžete pochopitelně ovlivňovat.

Máme tedy stůl - přiřaďme mu materiál.

Hlavní deska bude mít texturu dřeva (použít můžete třeba tu z prvního článku nebo tu níže

uvedenou). Na tyčku, tvořící stojan nohy, použijte standardní šedou barvu nebo i jinou. To

nechám na vás. A konečně na podstavec použijte také texturu dřeva- stejnou jako na desku.

Nezapomeňte na nastavení textury (odkazuji na první článek)

Page 11: 12. 3D grafika - Pedagogická fakulta MU · PDF file(částe čně p řevzato z ) Blender je multiplatformní open source aplikace zaměřená na vytvá ření 3D model ů, ... tutorial

137

Nyní si vytvoříme květináč. Ten budeme tvořit metodou rotace z křivky.

Začneme tím, že si v bočním pohledu vložíte křivku, kterou otočíte o 90° a upravíte do

následujícího tvaru:

Page 12: 12. 3D grafika - Pedagogická fakulta MU · PDF file(částe čně p řevzato z ) Blender je multiplatformní open source aplikace zaměřená na vytvá ření 3D model ů, ... tutorial

138

Spodní (rovnou část) uděláte tak, že označíte vertex na křivce a stisknete V. Tím se křivka v

tomto bodě "zlomí". Křivku si převeďte do meshe a označte. Klávesovou zkratkou Shift + D

si zkopírujte všechny vertexy kromě posledního a takto zkopírovanou křivku posuňte

doprava.

Mělo by to vypadat následovně:

Ještě musíme spojit oba horní vertexy, aby se budoucí objekt uzavřel. To provedeme tak, že si

označíme oba vertexy a stiskneme F. Tímto zajistíme, že stěna bude taky trochu plastická.

Označte si VŠECHNY vertexy a přepněte se do horního pohledu a do Editing.

Povšimněte si těchto tlačítek:

Page 13: 12. 3D grafika - Pedagogická fakulta MU · PDF file(částe čně p řevzato z ) Blender je multiplatformní open source aplikace zaměřená na vytvá ření 3D model ů, ... tutorial

139

Tato tlačítka slouží k automatickému extrudování a jsou to velice šikovní pomocníci.

Jestli budete mít někdy čas, zkuste je použít do nějaké scény.

Pod těmito tlačítky se nacházejí 3 posuvníky. 1. - Degr - ovlivňuje velikost extrudování v

úhlech, 2. - Steps - ovlivňuje, v kolika krocích se bude 1. hodnota extrudovat a 3. - turns -

určuje počet otáček.

My tedy nastavíme Degr 360 a Steps necháme na 9. To znamená, že se bude křivka

extrudovat o 360° a po devíti krocích.

Budoucí objekt se extruduje podél kurzoru, tudíž ten kurzor musíte přiřadit až k poslednímu

vertexu na dně. (ideálně ho zarovnejte pomocí příkazu Shift + S) Stiskněte spin a kochejte se

dokonalostí :-)

Vypadat by to mělo přibližně takto:

Květináč teď přesuňte na stůl a náležitě ho usaďte. Já jsem mu přiřadil zelenou barvu, ale to

opět ponechám na vás. Teď ještě něco k nasvětlení scény.

Vložte si mezi kameru a stolek světlo a v jeho nastavení (F5) přepněte na spot. To znamená,

že bude produkovat také stín. Přidejte také třeba pár světel typu Sun, podle toho, jak chcete

Page 14: 12. 3D grafika - Pedagogická fakulta MU · PDF file(částe čně p řevzato z ) Blender je multiplatformní open source aplikace zaměřená na vytvá ření 3D model ů, ... tutorial

140

mít scénu nasvětlenou. Na podlahu jsem použil objekt Plane, který jsem adekvátně zvětšil a

přidal mu následující texturu:

Ještě nezapomeňte na všechny objekty použít Smooth (objekty nebudou tak hranaté).

Výsledek mé snahy máte před sebou.

12.6 Otázky

1. Co je to trojrozměrná grafika? 2. Které programy pracují s 3D grafikou? 3. Co víte o programu Blender a jak se v něm pracuje?

Page 15: 12. 3D grafika - Pedagogická fakulta MU · PDF file(částe čně p řevzato z ) Blender je multiplatformní open source aplikace zaměřená na vytvá ření 3D model ů, ... tutorial

141

12.7 Doporučená literatura ke studiu

• KRISTIÁN, P. Kouzlo digitální fotografie. ZME 8: Zonerpress, 2005.

• GREGORY, G. 100 praktických návodů digitální fotografie. Brno: ComputerPress, 2004.

• KADAVÝ, D. CorelDraw pro verze 10,11,12. Brno: ComputerPress, 2005.

• KOLEKTIV AUTORŮ. Adobe Photoshop jednoduše a srozumitelně. Brno:

ComputerPress, 2005.

• KOLEKTIV AUTORŮ. Zoner Callisto 5 uživatelská příručka.

• KOLEKTIV AUTORŮ. Zoner PhotoStudio 8 uživatelská příručka.

Studijní opory:

• E-learning KTeIV Pdf MU: DOSEDLA, M. - HORA, V. Aplikace počítačové grafiky.