Co vše může jediný developer dosáhnout s jedinou texturou a mocí UDK? Talentovaný 3D umělec Tor Frick nám v dnešním interview prozradí, jak na věc.
Optimalizace kouzelných 3D prostředí pro maximální výkon napříč celou řadou platforem není snadný úkol. Poté, co pracoval s UV texturami a optimalizacemi shaderů v několika projektech, rozhodl se Tor Frick, že si otestuje své schopnosti a vytvoří prostředí vyžadující k práci tak málo paměti, jak to jen půjde. Jeho úkolem tedy bylo vytvořit realistickou scénu jen s jednou texturou o rozměrech 256 x 512 pixelů.
Frick vysvětluje: "Obvykle je ve scéně vidět spousty textur, přičemž každá je typicky větší než tato, takže zabírají mnoho paměti. Každý kousek texturové paměti, kterou nepoužijete na prostředí, znamená, že ji později smíte použít u charakterů nebo u čehokoliv jiného. Šetření v tomto duchu je zvlášť užitečné třeba při přenosech a co nejlepší adaptaci na mobilní platformy."
"Chtěl jsem minimalizovat rozměry textur a také se vyhnout použití více materiálů pro snížení nároků pro jejich vykreslení. Toto cvičení mě přinutilo podívat se na textury opět jiným způsobem. Namísto použití textur tak jak leží a běží, rozhodl jsem se dostat co nejvíce z textur i shaderů a použil výhodně UV mapování takovým způsobem, o kterém bych normálně ani neuvažoval."
Experiment
Aby lépe popsal své pokusy a chyby, Frick musel znovu promyslet základní pravidla a změnit přístup, aby zajistil větší variabilitu na scéně. Aby dal nějaký příklad: "Použil jsem modrý kanál normálové mapy jako masku mezi kovově a plastově obarvenými částmi, což mi umožnilo oddělit obě zrcadlením, barvou apod. Po chvíli jsem si ale uvědomil, že jedna barva byla pěkně limitující. Moje první idea byla vyříznout části objektů a dát na ně další materiály, jenž by byly v jiné barvě, to by ale vyžadovalo extra volání kreslicí funkce a tomu jsem se chtěl vyhnout."
"Namísto toho jsem přišel s řešením, které používá UV setů, přesunul jsem polygony, u nichž jsem chtěl změnit barvu, na jeden UV-grid a pak použil malou oblast jednoho z barevných kanálů jako masku, kterou jsem přeškáloval v editoru materiálů."
"To je pouze jeden příklad, jak jinak musím myslet, když chci vše realizovat jen v rámci textur a shaderů. Najít cesty, jakými je možno vyjádřit variabilitu s daty, která již máte jako UV souřadnice a texturové kanály, je dobrá výzva. Namísto toho, abych se díval na textury jako na difuzní, normálové atd., pokoušel jsem se myslet na to, co potřebuji pro scénu aby vypadala dobře a jak toho dosáhnu s minimálními daty - tj. za pomoci shaderů místo textur."
"Práce s UDK mne překvapila tím, jakou svobodu jsem měl při tvorbě obsahu. Vše od editoru materiálů, až po post-processing a rendering bylo vždy po ruce a snadno nastavitelné. Už jsem viděl materiálové editory dříve, ale nikdy jsem si neuvědomil, jak moc toho dokážete pouze s shadery."
Frick dále popsal, že chtěl zkusit nový přístup, jelikož nadměrná optimalizace může mrhat vzácným časem.
"Nikdy bych skutečně netvořil nějakou hru za použití podobných technik, ale mohu stavět na lekcích a zkušenostech takto získaných. Pochytil jsem nějaké nové triky, prolezl nějaké slepé uličky a hodně se naučil."
"Také, jestliže existuje nějaký bod, kdy byste měli optimalizovat, tak tehdy, když jsou její benefity největší. Vytvořil jsem okolo 50 objektů s tou samou texturou. Základy pro tvorbu dalších objektů jsou tedy mimořádně rychlé. Nemusím importovat nové textury ani vytvářet nové shadery. Jakýkoliv trik nyní provedu nebo někde něco zoptimalizuji, ovlivní to nyní 50 objektů a ne jen jeden."
"Každý megabyte navíc má vysokou cenu. Každý den práce navíc má vysokou cenu. Když stabilně uvolníte několik set kB textur z prostředí a přitom vypadají stále stejně, pak rázem váš hlavní hrdina může mít dvojnásobně detailnější a větší textury."
Jak pomohlo UDK?
Frick řekl, že se pro UDK rozhodl jednoduše proto, jelikož mu nechává svobodu pro jeho experimenty s různými technikami a snadno se používá.
"UDK mi dává nejvíce možností ohledně toho, jak mohu věci vytvářet. Velká komunita a tuny dostupných informací také nejsou k zahození. Když se někdy náhodou na něčem zaseknu, pomoc je obvykle nejdále jedno vyhledání na internetu nebo na fóru."
"Používal jsem již mnoho různých enginů a jako největší plus UDK vidím definitivně skvělou propojenost mezi jednotlivými komponentami, snadnost použití a jeho rozsáhlé použití."
V UDK Frick oceňuje především UE3 práci se shadery. "Mít plnou kontrolu nad kanály textury a UV sety v shaderu bylo velkou pomocí, protože jsem vlastně pořád měnil způsob, jakým byla textura použita. Potom jsem ji uzamknul a přenesl do scény bez nutnosti měnit řadu z parametrů ručně, což mi ušetřilo spoustu času. Aktualizace shaderů v reálném čase také ušetřily mnoho času.
"Rozhraní jako celek pracuje dobře, je přístupné a vše potřebné je snadno k nalezení. Editor materiálů je super a je radost si s ním hrát. Kismet a Matinee jsou naštěstí velmi snadno použitelné. Umožnili mi přidat extra přeleštěnou vizáž, pohyb a interakci bez toho, aniž bych musel příliš myslet."
"Velikost Unreal Engine 3 komunity byl také obří benefit. Je vždy velkým zdrojem inspirace vidět, jaká další mazaná řešení odhalili jiní. I já se stále dívám na stovky tutoriálů, protože člověk nikdy neví, kdy se mu něco bude hodit. UDN je rovněž skvělý zdroj, který jsem používal po celý čas. A to jak pro řešení problémů, tak i pro udržení se informovaným ohledně enginu.
"Spolupráce s Epicem byla skvělá. Naučil jsem se tak neuvěřitelně mnoho, takže to skutečně otevřelo moje oči zcela novým uměleckým obzorům. I takovým, o nichž bych před časem ani neuvažoval."
Ke cti Fricka je nutno připočíst, že tým z Epicu byl sám ohromen jeho projektem a je rád, že byl Frick ochoten rozdělit se o něj s UE komunitou. Video s průletem celé scény si můžete
prohlédnout zde.
Vzhled použité textury
přečteno 3545x | komentářů: 5