přejít na obsah přejít na navigaci

Linux E X P R E S, MakeHuman aneb Make Human

MakeHuman aneb Make Human

makehuman155.jpg

Pokud se někomu zmíníte o programu Blender 3D, tak se v tu ránu většině lidí asi naježí všechny chlupy na těle. Je to dáno zejména tím, že Blender 3D patří k těm programům, které mají extrémně složité grafické uživatelské rozhraní, a práce s ním není vůbec jednoduchá. Dalo by se říci, že takovýto druh softwaru je určený pouze zasvěceným v oblasti 3D modelování. A právě to je možná důvodem, proč vznikl MakeHuman.


Cesta ke třem dimenzím

Commodore, Amiga, Pac-Man, Tetris. Všechny tyto výrazy mají jednoho společného jmenovatele. Jednalo se o šestnáctibitové grafické rozlišení. Na tehdejší dobu to byl jistě velký úspěch! Později se začaly firmy zabývající se vývojem počítačových her předhánět v tom, kdo přijde s lepším řešením. Vznikaly první herní konzole, do hry byl přidán děj, akce, postupem času se tak z počítačových her začaly stávat poutavé příběhy pro hráče, ovšem stále jen ve 2D zobrazení. Z této doby si vzpomínám např. na Teken.

Jinými slovy, stále tomu něco chybělo. Chyběl tomu třetí rozměr! Netrvalo dlouho a hráči se jej dočkali v řadě herních titulů, přičemž dnes již tuto věc považujeme za naprostou samozřejmost. Tedy alespoň z pohledu samotného hráče dnešní doby. Faktem zůstává, že tvůrci těchto počítačových her to nemají vůbec jednoduché. A nejenom oni...

Vznikl pojem, který se nazývá 3D Character, neboli postava ve 3D zobrazení. Poněvadž v této době je většina hráčů počítačových her již natolik „rozmazlená“ vypracovanou 3D grafikou, z hlediska vývojářů je nutné opět hledat další a další inovace, které by opět oslnily své uživatele a přinesly svěží čerstvý vítr do tohoto odvětví.

Je proto zcela pochopitelné, že v této souvislosti se dá očekávat i rozvoj v oblasti vývoje softwaru pro samotný vývoj. A zatímco samotný programátor si vystačí s nějakým enginem a textovým editorem, grafik, který s ním spolupracuje, to bude mít o něco horší. Jednak bude omezen formáty souborů, které jsou obvykle ukládány v binární podobě, mají obrovský objem dat, se kterými je obtížnější pracovat. A co je nejdůležitější zmínit, bude si muset dát hodně záležet na tom, aby výsledný produkt vypadal co nejrealističtěji, neboť to je to, co si dnešní uživatel počítačových her žádá.

Nástrojů k tvorbě 3D grafiky existuje samozřejmě mnoho, liší se jak podle platformy, na které běží, tak i cenou. Pokud se jedná o GNU/Linux, i pro tuto platformu existuje celá řada nástrojů, kupříkladu Wings 3D, MeshLab, asi nejznámější Blender 3D, jenž svojí složitostí předčí všechny ostatní, avšak ve své použitelnosti je stále nepřekonatelný, a v neposlední řadě také MakeHuman, kterému je tento článek věnován.

Udělej si člověka

Byla-li distribuce Ubuntu odpovědí na složitost operačního systému GNU/Linux, pak MakeHuman byl odpovědí na složitost modelovacího programu Blender 3D. Předchůdce MakeHuman byl MakeHead, skript napsaný v Pythonu pro Blender, který v roce 1999 napsal Manuel Bastioni, umělec a kodér. O rok později dal dohromady tým nadšených lidí a vydal první verzi MakeHuman pro Blender.

Projekt se rozrostl a v roce 2003 byl oficiálně přijat do Blender Foundation. Hostován byl na projects.blender.org. V roce 2004 byl vývoj zastaven, protože bylo obtížné napsat skript v Pythonu, jenž přesahoval možnosti Blender API. V roce 2005 byl MakeHuman vyčleněn do samostatného projektu (mimo Blender). Novým hostingem se stal SourceForge a kód byl přepsán zcela od nuly v jazyce C.

Číslování verzí začalo znovu od nuly a v následujících letech se postupně přešlo od jazyka C k objektovému C++ . Tato změna sice poskytla potřebný výkon, bylo ale příliš složité rozvíjet a udržovat tento projekt. Proto se v roce 2009 vývojáři rozhodli vrátit do jazyka Python (s malým jádrem napsaným v C). Přepsaná verze byla vydána jako MakeHuman 1.0 pre-alpha. Vývoj poté pokračoval tempem dvou vydání za rok, v roce 2012 byla vydána verze 1.0 alpha 7, která zůstává dosud aktuální (novější verze zatím vydána nebyla).

Předchozí tři odstavce byly volně napsány podle článku MakeHuman na anglické Wikipedii.

Zatímco programy typu Blender 3D umožňují vytvořit si naprosto cokoliv, MakeHuman je omezen pouze a jen na tvorbu 3D postav humanoidního vzhledu. Výhodou je ovšem to, že na rozdíl od Blenderu, kde je nutné si takového človíčka poskládat od nuly z kostiček (což je velice náročné, jak z hlediska času, tak dovedností a znalostí), MakeHuman toto dokáže v několika minutách, a to i v rukou absolutního začátečníka.

Tvorba humanoida v MakeHuman Tvorba humanoida v MakeHuman


Je tu ovšem otázka, k čemu začátečník potřebuje program ke tvorbě 3D charakterů, když je toto odvětví určeno výhradně vývojářům počítačových her? Je to podobné jako tvorba webových stránek. Ten kdo se tomu chce věnovat naplno, bude se muset smířit s tím, že je třeba si na dané téma zjistit všechny potřebné informace a naučit se webové stránky tvořit jako profesionál, až do chvíle, kdy se z něj profesionál stane. To je asi bez debaty. Jsou však momenty, kdy se daný jedinec tvorbou webových stránek zabývat nehodlá, a už vůbec se tím nehodlá živit.

Jediné, co potřebuje, je vytvořit si vlastní webovou prezentaci či osobní blog, a přitom nechce či nemůže na jeho tvorbu vynaložit potřebný finanční obnos, který za takovou práci profesionálové obvykle požadují. Právě pro takové lidi vznikly opensource publikační systémy, jako je například WordPress. Je toto ale ten správný příklad pro vysvětlení problematiky 3D charakterů určených pro počítačové hry?

Odpověď zní: ano! Jelikož se dá jen velmi těžko očekávat, že začátečník či někdo zcela neznalý této problematiky bude vyvíjet vlastní počítačovou hru nebo se na jejím vývoji nějakým způsobem podílet, je třeba odpověď na použitelnost tohoto programu hledat někde jinde. Počítačové hry současnosti již dávno nejsou jen ty klasické „levelovky“, které předem určují, jakým směrem se má herní příběh vyvíjet (má předem stanovený scénář). Existuje celé množství jiných online projektů, jakými jsou například MMO SecondLife, Osgrid na platformě OpenSimulator, ale i celá řada dalších možností, kde se takovýto program může velice osvědčit, zejména tehdy, kdy je opět pořízení 3D charakteru vázáno na peníze.

Koupit či nekoupit, vymodelovat či nevymodelovat

Pochopitelně řada MMO virtuálních světů je postavena na existenci tzv. vnitřní ekonomiky (virtuální měna), kde na jedné straně stojí tvůrci obsahu a na druhé pak kupující. To je hlavním hnacím motorem, který drží takový virtuální svět nad vodou. Osobně mám zkušenost, že lidé rádi nakupují kde co, a to jen pro radost z nakupování.

Avšak opravdu propracovaný 3D charakter může vyjít pěkně draho, přičemž licence k danému produktu může být taktéž velmi omezena z hlediska použití, což je logické, neboť ten, kdo takový produkt vytváří, s tím obvykle stráví mnoho času a úsilí. Je zde ale i mnoho další faktorů, které mohou hovořit ve prospěch programu MakeHuman. Ukážeme si to na příkladu virtuálních světů.

V programu 3D Blender je renderování nějakého modelu omezenou pouze a jen výkonem daného počítače, konkrétně tedy operační pamětí a procesorem. V praxi, tedy importem takového modelu do nějaké veřejné sítě, jako je MMO SecondLife, narážíme na několik problémů. Jednak je upload do této sítě omezen (a zpoplatněn) co se týče velikosti samotného souboru, ale i počtem těch tzv. trojúhelníčků (polygonů). Je tedy nutné mít již na začátku samotné tvorby představu o tom, jak bude daný model vypadat (v našem případě 3D postava) a z kolika polygonů se bude skládat. V SecondLife jsou totiž limity, které nelze obejít, a tak bude nutné chtě nechtě daný model ořezat, což pochopitelně ubere na kvalitě.

Na druhé straně řada tvůrců spoléhá na cestu tzv. low poly mesh, kdy je následný import velice rychlý. Otázkou ovšem je, zda se bude takovýto model v daném virtuálním světě správně vykreslovat. A teď si zkuste představit, že se vám přes všechny nezdary v Blenderu podaří vytvořit překrásného avatara, což vám zabere mnoho času, ale nakonec budete nuceni jeho kvalitu výrazně snížit, neboť import takového modelu v původní kvalitě nebude možný. Znám spousty lidí, kteří by na to odpověděli: „To na*ere...“. I v případě že se do daného limitu tak tak vejdete, samotný import pak mohou provázet problémy, jako je čas potřebný pro upload meshe či havárie klienta.

Nutno také podotknout, že nejen polygony je 3D charakter živ. Mnoho tvůrců (a teď budu mluvit obecně) je v tomto okamžiku omezena další technickou překážkou, která se nazývá rig.

Kostlivec ve skříni

Budeme potřebovat kostlivce! Ale takového, kterého je nám potřeba, ve skříni rozhodně nenajdeme. Ti kostlivci se totiž liší, a to právě podle prostředí, ve kterém se mají nacházet (počet kloubů). Hovoříme zde o technice rigování, tedy pohybové výbavě 3D charakteru, jenž se musí skládat z určitého množství „kostí“ (bones).

Ačkoliv je řada takových koster pro rigování 3D charakterů k dispozici jako šablony zdarma, i tak je velice složité, zejména pak pro začátečníky, tuto kostru svému 3D charakteru přiřadit a správně vyexportovat. A právě zde má program MakeHuman řešení. Jeho součástí je totiž skript, který toto udělá za vás. Nejenže tak odpadne nutnost hledat v síti internet vhodnou kostru, ale samotný rig probíhá zaškrtnutím jediného políčka. S klidným svědomím tak můžeme našeho kostlivce ve skříni nechat sedět i nadále...

Upoutávka na připravovanou verzi 1.0 alpha 8 (MakeHuman team, CC-BY-SA) Upoutávka na připravovanou verzi 1.0 alpha 8 (MakeHuman team, CC-BY-SA)

MakeHuman – 3D charakter na dosah

Technologie Mesh je ve virtuálním světě SecondLife (a v řadě dalších) považována stále za novinku, která se ještě ne zcela zabydlela u řady uživatelů v jejich inventářích. A tak zatímco uvnitř  SecondLife probíhá souboj mezi klasickou podobou avatara a jeho vylepšenou podobou v Mesh (COLLADA), souběžně probíhá i obsahový boj mezi SecondLife a řadou jiných komerčních i otevřených virtuálních světů.

Světy postavené na platformě OpenSimulator jsou z hlediska funkcí na stejné úrovni jako virtuální svět SecondLife, ale zároveň poskytují větší stabilitu a výkon. Na druhé straně je zde velká absence uživatelského obsahu, který odrazuje většinu potenciálních uživatelů na takové světy vstoupit. SecondLife pro změnu obsahuje nepřeberné množství obsahu, který je k mání, ne však zadarmo, nýbrž za peníze.

Tato situace pak vede řadu uživatelů k tomu, že neodolají pokušení, rozhodnou se využít nějakého exploitu k odcizení takového obsahu, a tak porušit podmínky o poskytování služeb. MakeHuman má obrovský potenciál k tomu, vyrovnat pomyslný jazýček vah v oblíbenosti takových projektů, jako je Osgrid ve srovnání s již zavedeným SecondLife. Poskytuje totiž i člověku absolutně neznalému této problematiky snadnou cestu k tomu, jak si vytvořit plně funkčního avatara zdarma.

MakeHuman a Ubuntu

Samotná instalace programu je velice snadná. Instalační balíčky jsou dostupné pro Microsoft Windows, OS X i GNU/Linux (.deb). Na oficiálních stránkách projektu máme na výběr hned ze dvou možností, a to buď stabilní verzi MakeHuman 1.0 alpha 7 nebo Nightly Builds, jež obsahuje funkci automatické kontroly poslední vývojové verze. Já osobně si oblíbil tu stabilní a vřele ji doporučuji. Rovněž máte možnost navštívit sekci Resources (zdroje) a stáhnout si zde modely a kůže, kterých však prozatím moc není.

Ihned po dokončení instalace a prvním spuštění programu usoudíte, že se jedná doslova a do písmene o generátor 3D postavy, neboť program obsahuje pouze posuvná tlačítka ke změně vlastností jednotlivých částí těla, pohlaví, věku atd. Máte možnost si se svojí postavičkou doslova vyhrát.

Výběr kůže v programu MakeHuman Výběr kůže v programu MakeHuman


V okamžiku, kdy budete přesvědčeni o její naprosté dokonalosti, je třeba si práci uložit. Tuto volbu nalezneme v kartě Files > Save. Stačí pouze vepsat název a uložit. Vše, co vytvoříte, se nachází v adresáři makehuman  v domovském adresáři uživatele (/home/<uzivatel>/makehuman). Stejné umístění pak slouží i k ukládání například šablon nebo kůží (/home/<uzivatel>/makehuman/data/skins).

Jiná situace nastane, pokud si budeme chtít naší postavu vyexportovat do virtuálního světa. Zde bude třeba zvolit kartu Export, kde navolíme další vlastnosti; v případě SecondLife nebo Osgrid zvolíme formát Collada (.dae), zaškrtneme Rotate 90 X, Rotate 90 Z, zvolíme metriku v metrech a zaškrtneme SecondLife Rig (Use second_life rig). Model je připraven k importu do virtuálního světa!

MakeHuman toho však poskytuje mnohem více... Je to možnost oblečení (bohužel zatím bez funkčního zakrytí těla pod šaty), vlasy, výrazy ve tváři či použití animací a pozadí (tomu se budeme věnovat v následujícím odstavci).

Utopie zvaná virtuální světy?

Osobně jsem zarytým zastáncem této technologie, a pokud se dá říci, že má něco budoucnost, pak je to 3D a virtuální světy! Mohl bych zde na počkání vypsat celý seznam možností, jak takového potenciálu využít, ale je to zbytečné, neboť čas běží a jiní to už udělali za mne.

Mohl bych zmínit jen pro představu následující: od online komunit, které jednoho dne nahradí běžné sociální sítě (jako je Facebook), přes vlastní modifikace specifické tím, že takové aplikace budou více méně sledovat formu level hry, RPG apod. (např. snahy firmy Microsoft v oblasti využití OpenSimulatoru), vzdělávací virtuální světy (NASA apod.) až po Machinimu (komiksy či filmy ve 3D prostředí), 3D pornem konče.

Osobně bych to nazval problematikou zlatého dolu, o kterém se ví, ale nikomu se zatím moc nechce vzít lopatu do rukou. Pochopitelně pro každý z těchto oborů existuje celá řada alternativ, nejenom SecondLife či OpenSimulator. Osobně se tedy domnívám, že virtuální světy utopií rozhodně nejsou, tedy alespoň ne v nejbližší době.

Je zde ovšem i jiná možnost. Pokud chcete například vytvářet komiksy či videa, máte možnost se použití takových platforem zcela vyhnout, a to za předpokladu, že namísto prohlížeče (klienta) pro některý virtuální svět použijete právě MakeHuman společně s nějakými jinými nástroji, jako jsou Blender 3D, Gimp či GLC.

MakeHuman totiž obsahuje i další funkce, jako jsou aplikace nějakého pozadí, společně s možností použít výraz ve tváři, či dokonce animace celé postavy (pouze vývojová verze, zatím bohužel nefunkční). Zde je však nutné si uvědomit, že bude třeba nějaké takové animace získat. Je nutné je dodat ve formátu BVH (.bvh).

Výběr výrazů tváře v programu MakeHuman Výběr výrazů tváře v programu MakeHuman


Jedním z míst, kde si můžete zdarma pod licencí Creative Commons takové animace pořídit, je například web Zadaroo.com. V každém případě je MakeHuman velice intuitivní a použitelný nástroj pro vytváření 3D postav.

Nahoru

Příspěvky

MakeHuman aneb Make Human
Petr Ježek 15. 11. 2013, 13:38:35
Odpovědět  Odkaz 
Jsem sám, komu Bleder přijde logický a dobře vybavený, takže plně pracovně použitelný, zatímco MakeHuman je velmi omezená hračka pro specifické modelovací pokusy?
Lukáš Jelínek Re: MakeHuman aneb Make Human
Lukáš Jelínek 15. 11. 2013, 14:00:39
Odpovědět  Odkaz 
Blender je rozsáhlý, univerzální nástroj pro spoustu různých účelů. MakeHuman slouží k jednomu konkrétnímu účelu. Podle mě nemá příliš smysl je vzájemně porovnávat.
Re: MakeHuman aneb Make Human
Vrangel 15. 11. 2013, 21:44:31
Odpovědět  Odkaz 
Blender je velice dobře udělaný editor, naučil jsem se s ním rychleji než s Cinema4D. Navíc je k němu ohromná spousta vychytávek. Chce to jenom si sednout a skusit to.
MakeHuman aneb Make Human
pov-ray 18. 11. 2013, 08:38:44
Odpovědět  Odkaz 
Ještě více hardcore je pov-ray.

Přidat názor

Nejsou podporovány žádné značky, komentáře jsou jen čistě textové. Více o diskuzích a pravidlech najdete v nápovědě.
Diskuzi můžete sledovat pomocí RSS kanálu rss



 
 

Top články z OpenOffice.cz