11.07.2015 Views

Stránky pro předplatitele PiXELu Chcete si PiXEL předplatit a ušetřit?

Stránky pro předplatitele PiXELu Chcete si PiXEL předplatit a ušetřit?

Stránky pro předplatitele PiXELu Chcete si PiXEL předplatit a ušetřit?

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

n·vod3D grafikaBlender Game EngineTentokrát se podíváme na herní engine Blenderu. Pomocí tohoto herního enginu vytvoříme řadu děl od šetřičeobrazovky <strong>pro</strong> Windows po architektonickou 3D vizualizaci, od které může zkušenější uživatel pokračovat dálek vytvoření plné interaktivní hry.Nejprve <strong>si</strong> popíšeme základní prvky herníhoenginu. Poté se pustíme do vytvořenímalé interaktivní prezentace domu, přičemž <strong>si</strong>vysvětlíme základní prvky optimalizacea způsob práce v Blender Game Enginu.Herní engineHerní Engine se skládá z několika částí, jenžse starají o <strong>pro</strong>cesy hry. Prvním z nich jeGrafický engine, který zobrazuje graficképrvky, přehrává animace objektu i složitějšíanimaci postav pomocí kostí a stará seo optimalizaci viditelných a neviditelnýchobjektů tak, aby byl co nejlépe využívánvýkon grafické karty. Fyzikální engine sestará o to, aby nám objekty ne<strong>pro</strong>padaly skrzzeď, dále o rodičovství objektu, jejichomezení, tření a mnoho dalších fyzikálníchvlastností. V <strong>pro</strong>fe<strong>si</strong>onálních herníchenginech jsou to vlastnosti tekoucí vody,chování kostry na základě fyzikálních vzorců,deformace materiálu atd. Tyto <strong>pro</strong>fe<strong>si</strong>onálnívlastnosti jsou výsadou enginůspecializovaných na konkrétní uplatnění vevědeckých aplikacích, které však stále vícezískávají uplatnění v hrách, kde napomáhajíjejich realističnosti.Dále je tu Zvukový engine, starající seo přehrávání zvuku ať již v mono nebo stereoči v jednom z Dolby standardů. Zvukovýengine nám dovoluje na určitých úrovníchovládat zvukové samply či přehrávání MIDI.Standardem je deformace zvuku pomocí Pitch,Dopplerova efektu a stereo efektu.Jak vidíte, máme tu najednou několikpřekrývajících se oblastí, jež může jednotlivecstěží plně obsáhnout. Nezoufejte však, Blendermá všechny tyto enginy pěkně <strong>pro</strong>pojenéa můžete je ovládat, aniž byste tušili, co za tímvším vězí a který že to engine vlastněpoužíváte.Při vytváření her je samozřejmě potřeba<strong>pro</strong>gramování, jinak bychom herní částinepospojovali a tudíž by nám nereagovaly tak,jak <strong>si</strong> představujeme. Předpokládám, ževětšinu z vás tvoří víceméně grafické typya <strong>pro</strong>gramový kód je něco, o čem víte, žeexistuje, ale nejste „<strong>pro</strong>gramátoři“. Takovýmdobrým trendem, který najdete i v Blenderu,je <strong>pro</strong> tento typ lidí takzvané objektové<strong>pro</strong>gramování. Objektové <strong>pro</strong>gramování jsouv podstatě objekty, tlačítka s funkcemi<strong>pro</strong>pojené šňůrkami, díky nimž spolu objektykomunikují. Ve výsledku máme vcelkupřehledné schéma nahrazující <strong>pro</strong>gramovýkód, tolik potřebný k chodu hry.Příprava modelu, OptimalizaceHned na začátku je třeba vysvětlit, jaký jerozdíl mezi scénou <strong>pro</strong> zobrazení v reálnémčase a scénou vyrenderovanou, ať již jakoobrázek nebo několik obrázků <strong>pro</strong> animaci.Základním rozdílem je, že obrázekrenderujeme běžně několik sekund, někdyi hodin. Ve hře je však potřeba takovýchsnímků udělat minimálně 30 za sekundu, takaby naše oko nezaznamenalo rozdíl mezizměnami snímků, stejně jako ve filmu. Navícje nám již jasné, že ve hře nepočítáme jenobraz, ale i kolize a zvuk s odezvou v reálnémčase. To znamená optimalizovat celou hru,hlídat <strong>si</strong> počet polygonů <strong>pro</strong> danou grafickoukartu, zatížení <strong>pro</strong>cesoru fyzikálním enginem,případně využití možností zvukové kartyzvukovým enginem. Každý herní engine másvé vlastní omezení. Blender je schopenzobrazit na běžné grafické kartě zhrubakolem 100.000 polygonů v reálném čase napočítači běžné konfigurace. Musíme ovšemdodržovat několik pravidel, o kterých sev tomto článku zmíním.Již dávno umíme v Blenderu modelovat,bude tedy <strong>pro</strong> nás jednoduché vytvořit <strong>si</strong>architektonickou studii domu, kterou budemenakonec schopni <strong>pro</strong>cházet a vidět jiv reálných poměrech. Projdeme <strong>si</strong> základníparametry v Blenderu a jeho enginu, takabyste byli schopni aplikovat stejný postup nasvůj model. Model může vypadat napříkladjako ten na obrázku.Na první pohled se model příliš neliší odtěch, které běžně modelujeme. Ukážeme <strong>si</strong> naněm pár podstatných prvků, důležitých přioptimalizaci modelu <strong>pro</strong> zobrazení v reálnémčase (real-time).Na níže uvedeném obrázku vidíme, jakpolygony sedí přesně na sobě, bezvzájemného překrývání a křížení. To je velicedůležité, jinak by mohla mít grafická karta<strong>pro</strong>blém se zobrazením polygonůa zaměňovala by jejich pořadí, což by se<strong>pro</strong>jevilo <strong>pro</strong>blikáváním polygonů. Problémby se mohl objevit v případech překříženípolygonů v ostrém úhlu, kde není přesnědefinovaná jejich návaznost. Vyhněte sepřekrývajícím se bodům, k čemuž v Blenderuslouží dobrý nástroj Remove Doubles.Překrývané body jsou indikátorempřekrývajících se polygonů či zbytečnýchhran. Někdy leží polygon zmáčknutý dohrany, takže ho nevidíme. Překrývanépolygony by nám jednak zlobily při UVtexturování a také by se nám později14 117

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!