Jak renderovat minecraft projekty

Úvod do začátků renderování v programu Chunky

the_ark

Nejprve je nutné ujasnit si několik věcí:

  1. Co budu renderovat? To je asi základ, že.. Chunky totiž umí pracovat pouze s MC světy uloženými lokálně ve vašem počítači. Existují i způsoby, jak do vlastního počítače dostat i světy MC serverů, ale tím se tento návod nebude zabývat – takže, ano jde to. jak? – to už si musíte zjistit sami.

    Pro další postup tedy budeme předpokládat, že máte svůj vybraný svět (je jedno jestli survival, creative nebo hardcore) uložený na svém PC jako singleplayer svět.

  1. Mám na to HW? V zásadě platí, že renderování je poměrně náročné na výkon a i na relativně silných počítačích může náročná scéna trvat velmi dlouho a s počítačem po dobu renderování nebude zrovna komfortní práce. Chunky nemá uvedeny minimální nároky, ale na slabší konfiguraci než dvoujádrový CPU a alespoň 2GB RAM pravděpodobně renderovat nepůjde a ani na této to nejspíš nebude vůbec snadné.
  2. S HW nároky souvisí velmi úzce třetí otázka: Kolik času mohu renderování věnovat? Tady je důležité si uvědomit, že Chunky naštěstí umí navázat na pozastavené renderování, takže není nutné renderovat jednu scénu bez přerušení jedním vrzem. I přes to je ale potřeba počítat s tím, že (v závislosti na typu scény) může renderování trvat desítky hodin, případně i několik dní.

Tento čas závisí hlavně na těchto třech faktorech:

  1. CPU, tedy výkonu procesoru vašeho počítače
  2. Rozlišení výsledného renderu – platí klasické pravidlo: čím větší, tím déle
  3. Požadovaná hodnota SPP (samples per pixel, tedy vzorků na pixel)

Tak tedy, budeme předepokládat, že máte čas, singleplayer svět k vyrenderování a dostatečnou výpočetní kapacitu. Z webu Chunky máte staženu aktuální verzi aplikace (v době psaní tohoto návodu v. 1.1.8)

Chunky.bat

Před spuštěním se vyplatí upravit v poznámkovém bloku soubor Chunky.bat ve složce Chunky. V tomto souboru lze přiřadit pro Javu (a tím pádem pro Chunky) větší kapacitu operační paměti. Chunky je pak stabilnější a lépe si poradí i s načítáním větších scén. Moje nastavení je například:

java -Xms1g -Xmx6g -jar Chunky.jar

Což znamená že Java má přiděleno nejméně 1GB RAM a maximálně 6GB RAM. – Vy ale musíte brát v úvahu výkon vašeho PC a nastavit tyto parametry podle něj.

Tak a teď můžeme pomocí námi upraveného souboru Chunky.bat spustit Chunky.

Pokud všechno klapne, mělo by se zobrazit okno programu. Levou část tvoří náhled “mapy” světa, pravou menu a nastavení. První dvě tlačítka vpravo doufám vysvětlovat nemusím. Zvolíme tedy “svět” který chceme svým renderem zvěčnit a ten se nám načte do levé části okna.

Výběr oblasti k renderování a volba vhodného pohledu

Pod záložkou Chunks si na mapě si označíme oblast, kterou jsme si pro render zvolili. Při volbě větších či menších oblastí může docela dost usnadnit práci změna zoomu, kterou najdeme pod záložkou View.

Obecně platí, že čím větší oblast zvolíme, tím náročnější na výkon počítače renderování bude. Zvlášť u slabších strojů to berte v úvahu. Je také dobré si uvědomit, že třeba u renderování interiéru nějaké budovy není nutné označovat velkou oblast, stačí zvolit například jen nejbližší okolí, které je možné pozorovat z oken, průchodů a podobně.

S tím souvisí další věc, a sice z jaké výšky se budeme na renderovanou scénu “dívat”. Bude-li se jednat například o pohled shora, z vysokého kopce, věže nebo budovy, je vhodné označit co největší oblast ve směru, jakým bude z vámi zamýšleného místa výhled. Nestane se vám tak, že bude krajina nevhodně “useknutá”. Je dobré mít taky přehled o terénu ve výhledu. Můžeme tak ušetřit nároky tím, že vynecháme například části skryté za kopcem či budovou, které bychom načítali zbytečně.

Naopak u pohledů “od země” (nebo vody, lávy..) stačí často poměrně úzká oblast výběru, protože na takovém záběru bývá zpravidla dominantní popředí. Neplatí to ale vždycky a pokud oblast v pozadí výškově převyšuje popředí, je vždy vhodné ji zahrnout do výběru. Výsledný render pak má hloubku a vypadá mnohem lépe.

Máme zvolenu a červeně označenu oblast mapy.

Teď je správná chvíle popřemýšlet zda a případně jaký texture pack zvolit. Osobně TP nepoužívám protože mám raději když se render blíží co nejvíce tomu co můžeme vidět ve hře. Pokud máte ale nějaký oblíbený, můžete jej vybrat v záložce Options v menu.

Přepneme na záložku 3D Render a pokud máme vícejádrový CPU, uvedeme do políčka vedle Render threads počet jader, který jsme ochotní ke zpracování renderu použít. Pokud budete chtít na vašem počítači něco dalšího dělat, volte co nejnižší počet jader. Osobně ale používám plný výkon a raději mám rendery rychleji hotové.

Máme nastaveno a můžeme tedy odkliknout tlačítko New Scene. Následuje volba adresáře, kam se bude scéna ukládat. Můžete ponechat přednastavenou cestu. Už jen vyplníme název renderované scény a můžeme začít.

Otevřela se nám další dvě okna. První je menu s možností dalších nastavení a druhé (zpravidla vpravo) nám zobrazuje náhled scény před renderováním, prozatím s rozlišením 400 na 400 pixelů..

Rozlišení

Hned na úvod toto rozlišení změníme. Můžete samozřejmě zadat libovolné rozlišení, ale doporučuji následující postup: Nejprve si rozmyslet, jaký poměr stran zvolit možností je mnoho a dost záleží i na tom, k jakému účelu render chceme použít. Řekněme, že výsledný render chceme ve full HD rozlišení, tedy 1920*1080 pixelů, tedy poměr stran 16:9. Než ale zadáme tyto hodnoty, zvolíme rozlišení například 2x menší, tedy 480*270. Proč to děláme?

Nastavovat scénu a zkoušet různá nastavení vyžaduje často značný výkon. Tím, že snížíme rozlišení, snížíme i zatížení procesoru a změny se tak projeví plynuleji a umožní nám to rychleji pracovat. Díky zachování správného poměru stran, můžeme poté, co zkušební malé rendery a nastavení doladíme k naší spokojenosti jen dvakrát kliknout na tlačítko “Double” v záložce “General” a dostaneme námi požadovaný rozměr 1920*1080, který můžeme nechat rovnou renderovat s nastavením, které jsme vyladili na malém náhledu. Lze použít i tlačítko “Halve” a dosáhnout tak opačného efektu. Tento postup obzvlášť ocení majitelé slabších počítačů.

Kompozice

Máme tedy zvoleno rozlišení a adekvátně jsme si jej pro usnadnění práce zmenšili. Čeká nás naprosto klíčová volba – Volba záběru. Vybrat vhodný úhel pohledu se při renderování řídí prakticky stejnými pravidly jako při fotografování. Je dobré si nejprve osvojit základní pravidla kompozice a až na základě nich vybrat vhodný záběr pro renderování.

Pokud jsme si vše důkladně promysleli, správně vybrali oblast na mapě a jsme s kompozicí spokojení, máme napůl vyhráno.

Pokud se nám nedaří – třeba kvůli omezenému odstupu – scénu nastavit tak, aby v ní bylo všechno co bychom tam mít chtěli, je možné v záložce “Camera” využít nastavení “Field of View (zoom nebo také FoV)”. Je ale potřeba to s širokostí záběru nepřehnat, protože to může snadno pokazit celkový dojem z jinak vyváženého renderu.

I další možnosti, na této záložce je třeba použít s rozvahou. Není nic horšího, než když do jedné scény naplácáte všechny funkce bez rozmyslu. “Focal Offset” (ohnisková vzdálenost) i “Depth of Field” (hloubka ostrosti) mají podobnou funkci a sice zaostřit konkrétní místo/plochu v určité vzdálenosti od našeho místa pohledu. To se projeví rozmazáním okolí – je to tedy jako bychom zaostřili fotoaparátem na určitou vzdálenost. Doporučuju zpočátku využít maximálně nastavení FoV, další dvě možnosti si nechat až zvládnete ostatní nastavení.

Příklady nastavení s ukázkovými rendery (pro FoV, hloubku ostrosti a ohniskovou vzdálenost) můžete najít přímo na webu Chunky.

Skymap

Pro ucelenější představu a dodání správné atmosféry renderu je důležitá i správná volba tzv. Skymapy (je to vlastně obrázek na pozadí renderu, který tvoří oblohu nad horizontem). Najdeme ji v záložce „Sky“ a je možné (v závislosti na rozměrech) ji podle potřeby horizontálně otáčet kolem dokola. Několik velmi pěkných odkazů se skymapami je přímo na webu k Chunky. Kdo si nevybere tam, může použít třeba vyhledávání obrázků na Googlu.

Osvětlení scény

Úzce spojený s výběrem skymapy je výběr vhodného nasvícení. Jeho nastavení najdeme v záložce “Lighting”.V případě pevných zdrojů světla (emitters), které jsou pevnou součástí renderované scény (louče, glowstone, láva, oheň..) jde hlavně o kompozici a správně nastavenou intenzitu světla. Víc se s nimi dělat nedá. Chunky nám ale umožňuje využít další světelný zdroj, a tím je slunce/měsíc (podle potřeby :D ). Je důležité právě u slunce nastavit intenzitu, výšku a azimut podle skymapy. Dodá to totiž výsledné scéně věrohodnější vzhled.

Pozor při ladění scén s převahou světlých materiálů (sníh, bílá vlna, písek, pískovec a pod…), velmi snadno dojde k “přepálení” scény. To se projeví ztrátou kresby a detailů v přesvícených částech scény.

I v záložce “Sky” najdeme dvě zaškrtávací políčka, která úzce souvisí i se světlem.

Volumetric Fog je něco jako světelná mlha. Chce to trochu cviku, ale dokáže render zajímavě oživit. Zvlášť při renderování interiérů může vytvořit velice působivé efekty. Vytváří totiž (v kombinaci s nastavením slunečního svitu) efekt, jako když svítí slunce mlhou nebo jemným prachem. Příklad použití tohoto nastavení je třeba zde.

Druhým zaškrtávacím tlačítkem můžeme zapnout nebo vypnout “atmosphere”, čili atmosféru. V renderu se to projeví jako lehký mlžný závoj. S tímto nastavením opatrně, protože velmi často působí jen jako lehké rozmazání celé scény místo aby tvořilo dojem atmosféry.

V záložce “General” najdeme ještě tři zaškrtávací políčka, kterými se dá upravit vzhled renderu. “Still water” zařídí aby hladina vody byla bez vlnek, hladká jako zrdcadlo. “Clear water” zase upraví průhlednost vody a umožní v mělčích oblastech vidět dno řek, jezer, břehů a pod. “Biome colors” zase mění vyvážení barev a přizpůsobuje ho aktuálním biomům. Tráva v horách tak má “chladnější” odstín než v Jungle biomu a podobně.

Post-processing

V této záložce se nachází jen dvě nastavení. A sice exposure (expozice), která určuje světlost renderu a jako snad jedinou volbu ji lze měnit kdykoli během renderování aniž by bylo renderování restartováno.

Dále je to samotný post-processing. Na výběr jsou tři volby, přičemž každá je vhodná jen do konkrétních podmínek a nejlépe je vyzkoušet která z nich nejlépe vyhovuje aktuální scéně.

Advanced

Zde je možné nastavit “Ray Depth” a vylepšit tak například průhlednost skleněných bloků (viz. ukázka na webu Chunky)

Také je možné zde aktivovat tzv. Water World Mode pro renderování objektů obklopených vodou.

SPP

Toto číslo zajišťuje samotné renderování doslova znamená Samples Per Pixel, čili vzorků na pixel. Čím vyšší toto číslo je, tím jemnější a méně zrnitý výsledný render je. Vyžaduje ale celkem cvik odhadnout správně jak vysoký počet vzorků nastavit. Záleží totiž na několika faktorech. Hlavním faktorem je světlo. Sluncem zalitá krajina nepotřebuje příliš vysoký počet vzorků (obvykle do cca 1500SPP stačí). Noční krajina s mnoha pevnými zdroji světla naopak může vyžadovat i deseti tisíce SPP. Samostatnou kapitolou jsou interiéry, které jsou na počet vzorků nejnáročnější a není výjimkou, že pro kvalitní render interiéru je potřeba i několik set tisíc SPP.

Čas

Doba potřebná k dokončení renderu (dosažením cílového SPP) je tedy závislá na rozlišení renderu, cílovém počtu SPP, HW na kterém renderování poběží (konkrétně na CPU tedy procesoru) a také ji ovlivňují aktivní vylepšení uvedená výše, především “Volumetric Fog, Biome Colors, Atmosphere”, nastavení módu v záložce “Post-processing” a naprosto nejvíce “Ray Depth” v záložce “Advanced”.

Tipy:

Barva slunce: Výrazně může výslednou scénu vylepšit (ale i zkazit!) taky změna barvy slunečního svitu (Change Sun Color). U ní je ale potřeba volit co nejjemnější odstíny, aby barva nepřehlušila barevné podání celé renderované scény.

Waterworld mode: Pokud renderujete objekty obklopené vodou (lodě, ostrůvky a pod.) umožní při výběru pouze oblasti s renderovaným objektem obklopit jej vodou. Není tedy třeba načítat rozlehlé oblasti s vodou aby render vypadal věrohodně. Bohužel, v posledních verzích často způsobuje padání programu.

Edit 24.4.2013: Problém s tímto módem přetrvává i ve verzi 1.1.10. Nicméně, Jesper Öqvist (autor Chunky) mi mailem sdělil, že se pokusí tento bug odstranit už v příští verzi 1.1.11. Tak snad se to podaří.

SPP: Pokud si nejste jistí jakou hodnotu zvolit pro vaši aktuální scénu, nastavte klidně třeba 200 000 SPP. Renderování tak můžete zastavit jakmile budete s výsledkem spokojeni a nestane se vám, že Chunky dosáhne vámi nastavené hodnoty SPP a render bude stále zrnitý.

Dump: Dump save volte podle nastaveného SPP a výkonu CPU. Pokud máte slušný HW a máte nastavenu vyšší hodnotu SPP, nastavte dump na 1000th. Uloží se tak stav k tisícímu vzorku a nebude se renderování zdržovat častým ukládáním scény. Pokud máte slabší počítač, nastavte dump na nižší hodnotu a nepřijdete tak o tolik času při přerušení renderování. Dump je totiž něco jako autosave, takže k nastavené hodnotě uloží aktuální stav renderování. Můžete tak v renderování konkrétní scény pokračovat od posledního uloženého Dumpu.

Na závěr si můžete prohlédnout ukázku mých renderů. Všechny zachycují stavby z tohoto skvělého serveru.