Jak se oživují lidé a zvířata v simulátorech trucků

Autoři používají i Kinect. Expertní blog animátora SCS Software Dominika Lusky

9. 7. 2019
Název hry: American Truck Simulator Vývojář: Vydavatel: Datum vydání: 2. 2. 2016 Platformy: , , Žánr:
American Truck Simulator

Pokud vás někdy zajímalo, jak v SCS Software tvoříme animace lidí a zvířat pro Euro Truck Simulator 2 a American Truck Simulator, jste na správném místě. Nejprve je nutné zdůraznit, že postavy v naši hře nemají tak důležitou roli jako vozidla nebo depoty. Stále to je ovšem věc, která v našem světě hraje určitou roli, a tak ji musíme věnovat patřičnou péči. Aktuálně máme v našich projektech Euro Truck Simulator 2 a American Truck Simulator přibližně 30 takových modelů. Jsou to vlastně všechny postavy, které můžete během hraní našich her různě potkat ve světě okolo. Takže například ostraha u vjezdu do areálu přístaviště, policista, celník nebo žena s telefonem v ruce fotící si právě projíždějící nadměrný náklad. Aby nebyly všechny postavy stejné, musíme je nějak rozlišovat. A to jak animačně, tedy co ve hře dělají, jakou činnost či pohyb imitují, tak ale i vzhledově, tedy modelem a texturami. Některé jsou samozřejmě univerzální, a tak je používáme mezi projekty, což nám částečně šetří práci i čas. Vedle univerzálních máme ale i specifické postavy pro daný projekt či stát, nebo dokonce i pár situací, které si zasluhují ještě o něco více zvláštní péči.

Proč nedovolujeme hráčům projíždět budovami ani postavami? Záleží nám na věkovém ratingu, který v našem případě nese označení PEGI 3.

Na každou postavu připadají čtyři textury – dvě textury na oblečení a dvě pro tělo. K tomu samozřejmě navíc patří různé přídavné doplňky, jako jsou například hrábě nebo kolečko, které jsou také součástí výsledných animací pro naše postavy. Objem dat tedy není zrovna malý, a proto je orientace jednou z klíčových věcí, jak se ze všech těch textur a modelů nezbláznit. Pro orientaci v datech používáme klasický Total Commander, díky němuž se v datech lépe neztratíme. Veškeré soubory jsou pojmenovány v angličtině, protože v SCS Software pracuje i řada zahraničních kolegů. Když vkládáme data do hry, je třeba uložit vyexportovaný model nebo animaci, a vedle něj i zdrojový soubor, pro případ, že by bylo někdy zapotřebí model nebo animaci upravit. Máme tak vytvořenou strukturu složek speciálně pro animace, modely, textury a kostru. Dále máme v jednotlivých složkách i další složky které už patří jednotlivým modelům a texturám. Organizace dat ale nekončí pouze u adresářů a jejich názvů ale patří k nim i správná a bezchybná správa jednotlivých modelů v definičních souborech. V těchto musí mít každý model své korektní označení, stručné jméno pro map designéry a univerzální identifikační číslo. 

Základní struktura naší práce vypadá tak, že si jako první vytvoříme model podle vzoru. Na veškeré reference máme ve firmě speciální oddělení, jejichž práce spočívá v hledání podkladů čímž šetří spoustu času pro modeláře, animátory a mapaře. Tento první model se takzvaně nazývá nultý LOD. Zkratka LOD znamená Level Of Detail a tento systém slouží k přepínání modelů s nižším nebo vyšším rozlišením na určité vzdálenosti. V naši hře máme pro postavy celkem čtyři úrovně LODů, s tím, že poslední LOD je až na stometrovou vzdálenost. LOD se musí vždy důkladně zkontrolovat, aby nedošlo k viditelné razantní změně, například že postavě po 10 metrech zmizí kus nohy, nebo že jí “zaleze” hlava do těla. Některé druhy animovaných modelů potřebují rovněž „kolizní model“, který brání tomu, aby hráč projel skrze postavu. Takový kolizní model mají samozřejmě i neanimované, čili statické modely. Proč nedovolujeme hráčům projíždět budovami ani postavami? Záleží nám na věkovém ratingu, který v našem případě nese označení PEGI 3. Díky němu může naše hry hrát každý bez ohledu na věk, a to dokonce i děti od tří let.

Když jsme s modelem a jeho LODy spokojení, uděláme si takzvaný UVW Unwrapping neboli „rozbalení“ 3D modelu na 2D plochu, aby pro něj mohla vzniknout textura. I tento postup si žádá samozřejmě svůj čas. Hlavně proto, aby měly důležitější části modelu větší prostor v textuře. To pro nás znamená, že UVW Unwrapping musí být vytvořený efektivně. Například malé části jako jsou čepice, helmy či pouzdra zrcadlíme, čímž ušetříme drahocenný prostor v následné textuře pro daný model. Poté, co dokončíme tento proces, si pro model podle reference uděláme texturu. Každý charakter má i normálovou mapu. Normálová mapa je obrázek, který simuluje jemnou geometrickou strukturu, která se používá k vytvoření iluze, že je na modelu s nízkým rozlišením větší detail. Normálové mapy používáme třeba na záhyby, knoflíky, výšivky, kapsy a obdobné detaily.

Po úspěšném otexturování a vymodelování nastává zábavnější, ale občas i trochu frustrující fáze nahrávání animací pro postavy. Abychom animace nemuseli dělat “otrockým” způsobem od nuly, máme ve firmě i jakýsi improvizovaný motion capture (dále jen mocap), který využíváme k nahrání hrubého animačního základu. Hrubého píšu záměrně, protože mezi nevýhody tohoto mocapu patří nepřesnost na důležitých kostech, jako jsou například klíční kosti nebo zápěstí. Nepoužíváme plnohodnotný mocap, ale jeho jednodušší variantu, která je postavená na dvou senzorech Kinect druhé generace k Xboxu. Ty používají hloubkovou kameru a jelikož stojí dva proti sobě, tak s určitou přesností vidí, jak se člověk pohybuje ve scéně. Tato metoda nahrávání animací má výhodu, že k ní nepotřebujeme žádné speciální obleky, ani značky. Díky tomu se do scény může postavit kdokoliv a začít nahrávat. Takže si můžeme reálně vzít kohokoliv z firmy a postavit ho před kameru.

Pokud se nám úspěšně podaří nahrát animace v mocapu, začneme je poté upravovat ještě “ručně” v různých programech.

Než však začneme nahrávat animace, musí se motion capture připravit, zkalibrovat a je nutné udělat testovací a zároveň kalibrační nahrávku. Tento proces může zabrat hodinu nebo dvě. Proces může ovlivnit spoustu vnějších faktorů, například když nám nespolupracují stanice mezi sebou kvůli vytíženosti sítě nebo i nečekaná aktualizace systému v tu nejlepší chvíli, kdy hodláme nahrát testovací záběr. Pokud se nám úspěšně podaří nahrát animace v mocapu, začneme je poté upravovat ještě “ručně” v různých programech. Upravujeme především šum a třes, pohyby kostí ve špatných osách, nebo pohyb zápěstí, které nám už mocap nesnímá. Rozepisovat se detailně o snímání pohybů v mocapu a jejich úpravě by vydalo na další samostatný článek, a tak se posuneme na další a poslední část práce – import dat. 

Hotový model i s animací je třeba vložit do hry. Postup je takový, že aby náš editor vytvořený model „viděl“, musí se správně definovat do textového souboru. V tomto textovém souboru má každý animovaný i neanimovaný model svoji cestu pro model jako takový, pro jeho LODy a dále, pokud to model vyžaduje, i pro animaci a případně také kolizi.

Kdo je Dominik Luska

Dominik Luska je 3D grafik a pracuje v SCS Software téměř čtyři roky. Ve firmě se stará o nahrávání animací v motion capture, modelování, retopologii, neboli přemodelování modelu s vysokým rozlišením, texturování a import modelu do hry. Úzce spolupracuje s animátorem a map designéry na všech postavách do her Euro Truck Simulator 2 a American Truck Simulator. Podílel se na všech mapových rozšířeních, které dosud pro oba projekty vyšly.

Když se úspěšně dostaneme přes definovávání modelu, můžeme se konečně na náš výtvor podívat v editoru. Editor je náš vlastní nástroj, ve kterém map designéři staví celou mapu a ve kterém si naši grafici kontrolují modely. Pokud se nám na hotovém modelu něco nezdá, nebo nám něco nesedí, tak model či animaci pouze upravíme v 3D programech jako Maya nebo Blender a posléze znovu exportujeme. Protože je model již definovaný, stačí si ho tak v editoru aktualizovat a změny se okamžitě projeví. Funguje to podobně jako aktualizování internetového prohlížeče, když se nám nenačítá stránka. 

Modely a animace tvoříme v již zmiňovaném softwaru Autodesk Maya a textury si děláme v programu Adobe Photoshop. Když chceme vytvořit normálovou mapu, přeneseme si model do softwaru Marmoset Toolbag, který slouží pro „přepečení“ detailu z modelu s vysokým rozlišením na model s nízkým rozlišením. Celý postup se samozřejmě skládá ještě z drobnějších postupů a předpisů, které by vydaly na minimálně jednou tak dlouhý text. Přesto věřím, že jsem vám poskytl aspoň základní náhled do naší kuchyně. Pokud se vám článek líbil a přáli byste si pokračování, neváhejte se ozvat v komentářích a klidně připište, jaké oblasti bychom se měli věnovat příště.

# kamiony # trucky

Nahlásit chybu v článku

3

Napsat komentář

Mohlo by vás zajímat

Nahoru