Optimalizace vykreslování ve V-Ray

Komentář z roku 2023 – přestaňte trpět s 3ds Max, proto. Níže je uveden původní článek

V této lekci se ponoříme do divočiny V-Ray a analyzujeme jeho nejjemnější nastavení, abychom se naučili, jak optimalizovat vykreslování a získat vysoce kvalitní obraz za kratší dobu.

vray_optimization_header

Úvod


Tento tutoriál je navržen tak, aby pokryl a vysvětlil celý proces optimalizace nastavení V-Ray pro vytváření vysoce kvalitních renderů za kratší dobu.

Kolem termínu vzorkování V-Ray a toho, jaké je „ideální“ nastavení, je často mnoho nejasností. Většina rendererů vytváří „Universal V-Ray Settings“, ve kterém nastaví Max subdivids Image Sampler (Anti-Aliasing nebo AA) na velmi vysokou hodnotu, asi 50 nebo dokonce 100, a pak jednoduše sníží hodnotu prahu šumu, dokud se nevykreslí. je dostatečně čistý a myslí si, že je to nejlepší způsob, jak dosáhnout optimálního poměru kvalita/rychlost. Ale s trochou pochopení toho, co se skrývá pod kapotou V-Ray a jak to vlastně funguje, můžete získat lepší snímky za kratší dobu vykreslování. Metoda, kterou popíšu v tomto článku, ve srovnání s tou nejběžnější, kterou jsem popsal výše, může v některých scénách ušetřit čas vykreslování 3 až 13krát.

Nejprve se podívejme na pár základních věcí o tom, jak funguje samotné vykreslování a vzorkování V-Ray. Dále přejdeme ke konkrétní scéně, abychom si ukázali, jak optimalizovat vykreslování, aby bylo rychlejší, lepší a ostřejší. Potom se naučíme identifikovat různé typy hluku, které se mohou ve scéně vyskytovat. A na závěr vám ukážu krok za krokem postup pro optimalizaci jakékoli scény, abyste dosáhli dokonalé rovnováhy mezi kvalitou a rychlostí.

Pokud již víte, jak V-Ray funguje, klikněte sem a přejděte přímo na postup optimalizace krok za krokem.

RAYTRACING (sledování paprsků)


Když začne vykreslování, paprsky jsou vystřeleny z kamery do scény, aby se shromáždily informace o geometrii ve scéně, které budou viditelné na konečném snímku. Tyto paprsky směřují pryč od kamery a jsou tzv Primární paprsky (Někdy Camera Rays nebo Eye Rays) a jsou konfigurovány v Vzorník obrázků (také známý jako Anti-Aliasing nebo AA).

Zatímco primární paprsek protíná geometrii scény, další paprsky jsou vystřelovány z těchto průsečíků do jiných oblastí scény, aby získaly informace o osvětlení, stínech, nepřímém osvětlení (GI), odrazech, lomech, podpovrchovém rozptylu (SSS) atd. další paprsky se nazývají Sekundární paprsky a nakonfigurované ve V-Ray's DMC vzorník.

vray_optimization_figure_01Obrázek 1. Zjednodušené schéma raytracingu: Primární paprsky jsou vysílány z kamery do scény, protínají se s objekty ve scéně a šíří sekundární paprsky do dalších částí scény.

Od této chvíle budeme „paprsky“ označovat jako „vzorky“, protože účelem paprsku (paprsku) je získat informace o scéně „vzorek“. Paprsky = vzorky.

Abyste pochopili, co se děje ve scéně, musíte uvolnit spoustu primárních a sekundárních samplů. Více Ukázky, čím více V-Ray obdrží informace o scéně, tím kvalitnější bude render a tím méně bude obsahovat hluk. Jak můžete vidět, hluk je důvodem nedostatku informací o scéně. Pokud je ve scéně šum, pak V-Ray neměl možnost nasbírat dostatek informací o scéně. Shrnout to: Chcete-li odstranit šum, musíte poskytnout V-Ray více informací a abyste poskytli rendereru více informací o scéně, musíte zvýšit hodnotu Samples.

Počet primárních vzorků, regulovaný hodnotami Min Subdivs, Max Subdivs, A Práh barvy v možnostech vzorníku obrázků. Počet sekundárních vzorků je řízen hodnotou Subdivs individuálně v každém světelném zdroji, GI, materiálu a nastavení Práh hluku Hodnota DMC Sampler. (Práh hluku se v Maye nazývá Adaptivní práh)

Zopakujme si tedy základní pojmy:

Ray = vzorek

Primární vzorky = vzorky upravené pomocí V-Ray's Image Sampler (také známého jako Anti-Aliasing nebo AA), určené k určení geometrie scény a shromažďování informací, jako jsou textury, hloubka ostrosti (DOF) a rozostření pohybu.

Sekundární vzorky = vzorky přizpůsobitelné pomocí V-Ray's DMC Sampler, navržené pro sběr informací o osvětlení, GI, stínech, odrazech, lomech a SSS

Hluk = hluk nebo nedostatek informací

Subdivs = druhá odmocnina skutečného počtu vzorků. Subdivs^2 = Ukázky. Příklad: 8 dílčích jednotek = 64 vzorků. (8^2 = 64)

V tomto tutoriálu se podíváme na to, jak nejlépe využít tyto primární a sekundární vzorky k získání obrazu bez šumu v krátkém čase.

Definice PRVEK VYKRESLENÍ VZORKU


Element vykreslování SampleRate je jedním z nejdůležitějších nástrojů, které použijeme k optimalizaci vykreslování. Toto je způsob, jak nám V-Ray ukazuje, co dělá Image Sampler (AA) v konkrétním pixelu. Dělá to tak, že každý pixel označí barvou odpovídající počtu primárních vzorků (AA), které obsahuje. Tento obrázek lze zobrazit v prvku vykreslení SampleRate)

*Modrá barva znamená malé množství primárních vzorků (AA) v tomto pixelu.

*Zelená barva znamená průměrný počet primárních vzorků (AA) v tomto pixelu.

*Červená barva znamená velký počet primárních vzorků (AA) v tomto pixelu.

vray_optimization_figure_02Obrázek 2. Element vykreslení SampleRate (vpravo) ukazuje, kolik primárních vzorků bylo použito v každém pixelu vykreslení (vlevo)

Takže pro scénu s Image Sampler (AA) 1 min a max. 10 subdivs (1 min a 100 max. primárních vzorků):

*Modrá barva znamená 1 primární vzorky (AA) v tomto pixelu.

*Zelená barva znamená 50 primárních vzorků (AA) v tomto pixelu.

*Červená barva znamená 100 primárních vzorků (AA) v tomto pixelu.

A pro scénu s Image Sampler (AA) 1 min a max. 100 subdivs (1 min a 10 000 max. primárních vzorků):

*Modrá barva znamená 1 primární vzorky (AA) v tomto pixelu.

*Zelená barva znamená 5000 primárních vzorků (AA) v tomto pixelu.

*Červená barva znamená 10 000 primárních vzorků (AA) v tomto pixelu.

Příklad scény – jak funguje V-RAY?


V tomto tutoriálu budeme pracovat s jednoduchou scénou sestávající z: roviny s několika koulemi, několika různých jednoduchých materiálů (včetně difuzního, lesklého odrazu, lesklého lomu a SSS), dvou plošných světel a kopulového světla s HDRI . GI povoleno v režimu Brute Force + Light Cache. Tento soubor si můžete stáhnout Tady.

Začneme základním nastavením renderu s následujícími hodnotami:

  • Image Sampler (AA) = 1min a 8max dílčích jednotek.
  • Světla, GI a všechny materiály 8 Subdivs.
  • Práh hluku s= 0.01.
  • Všechna ostatní nastavení také ponecháme ve výchozím nastavení.

vray_optimization_figure_03Obrázek 3. Základní render.
1 min a 8 max. dílčích segmentů = vzorkovač obrázků (AA)
8 Subdivs = Světla, GI a všechny materiály

Nyní se podíváme blíže na to, co se děje během základního renderu. Prostřednictvím nastavení vykreslování sdělíte vykreslování:

„Umožňuji vám použít až 64 (8 Subdivs) primárních vzorků (AA) v každém pixelu, abyste pochopili, co se tam ve scéně děje, a nevytvářeli tolik šumu, kolik dovoluje práh šumu... Ale pro každý z těchto primárních vzorků můžete vytvořit pouze 1 sekundární vzorek, abyste pochopili, co tam je z hlediska světla, stínů, GI a materiálů.“

Možná se ptáte: „Počkejte, jen jeden sekundární vzorek pro světlo, GI a všechny materiály? Ano, řídíš! Mělo by tam být 64 vzorků (8 subdivů), nespecifikovali jsme tolik?" No, je důležité si uvědomit, že IC (světla), GI a materiály mají hodnotu 64 vzorků (8 subdives) každý – V-Ray tuto hodnotu vydělí AA Max Samples ve vaší scéně. Navzdory hodnotě 64 vzorků pro světla a materiály byste měli mít na paměti, že tato hodnota je vydělena hodnotou AA Max = 64 vzorků (8 dílčích jednotek), což má za následek pouze jeden sekundární vzorek pro světla, GI a materiály. (64 sekundárních vzorků / 64 primárních vzorků = 1 sekundární vzorek).

Důvodem, proč to V-Ray dělá, je vnitřní vzorec, který nastavil, aby udržoval tyto dvě hodnoty v rovnováze. Logika vývojářů je následující: čím více primárních vzorků, tím úměrně méně sekundárních vzorků je potřeba k pochopení toho, co se ve scéně děje (brzy uvidíme, že to není vždy pravda). Toto balancování mezi Image Sampler a DMC Sampler vám nemusí být zpočátku jasné, ale o to jde. Důvodem je, že když zvýšíte hodnotu Image Sampler (AA), V-Ray se to pokusí kompenzovat proporcionálním snížením hodnoty DMC Sampleru. Později, pokud jste ještě neusnuli, můžete hodnotit Kalkulačka DMC, kterou napsal autor tohoto článku, který tak pilně překládám v 5:02 ráno téměř bez použití slovníku =) Díky gymnáziu č. 32 v Ivanovu, kde jsem dostával 8 lekcí angličtiny týdně.

A tak se vraťme k našim papouškům:

V-Ray se vykreslil tak cool, jak jen mohl, ale znepokojuje mě obrovský počet červených pixelů v prvku SampleRate render). Toto nám říká:

„Nemohl jsem přijít na to, co se děje ve scéně, protože jsi mě silně omezoval v prahu hluku. Primární vzorky jsem používal dlouhou dobu pouze s jedním sekundárním vzorkem, ale nedalo mi to dostatek informací o těchto oblastech."

Pokud se podíváme na render, všimneme si, že i když objekty (okraje objektů) vypadají docela dobře, stále jsou na obrázku nějaké zašuměné oblasti, kde jsou stíny a odlesky. Máme hlučný základní render a máme dvě možnosti, jak snížit šum, abychom dosáhli požadované kvality.

* Možnost 1 – zvýšení AA Max Subdivs - aby V-Ray lépe viděl scénu, ale opět jen s jedním sekundárním vzorkem pro světlo, GI a materiály.

* Možnost 2 – Zvýšit množství Subdivs v materiálech, osvětlení a GI. Řekněte V-Ray, aby zachoval počet primárních vzorků, ale místo toho mu umožnil použít více sekundárních vzorků.

Příklad scény - volba 1 - zvýšení hodnoty AA MAX SUBDIVS


No, zkusme to nejprve způsobem, který obvykle dělají pokřivené vizualizéry, aby získali méně hlučný render.

  • Zvětšujeme Image Sampler (AA) 1 min & 100 max. dílčích jednotek.
  • IP, GI a materiály necháváme zapnuté 8 Subdivs.
  • Snižte prahovou hodnotu hluku na 0.005 říct V-Ray, že chceme renderovat bez šumu.

vray_optimization_figure_04Obrázek 4. Možnost 1 – zvýšení počtu pododdílů v AA Max
1 min a 100 max. dílčích segmentů = vzorkovač obrázků (AA)
8 Subdivs = BC, GI a všechny materiály
0,005 = Práh šumu.

Pojďme zjistit, co se stane s těmito nastaveními. Po nastavení těchto nastavení řekneme V-Ray:

„Umožňuji vám použít až 10 000 (100 subdivs) primárních vzorků (AA) na pixel, abyste pochopili, co se děje ve scéně, a minimalizovali šum na co největší možnou míru při daném prahu šumu. Ale pro každý primární vzorek můžete vytvořit pouze jeden sekundární vzorek, abyste pochopili, co je na scéně se světlem, GI a materiály.“

Pamatujeme si to, protože Každý IC, materiál a GI má 64 vzorků (8 subdivů), V-Ray dělí tuto hodnotu AA Max Samples. Přestože je hodnota 64 vzorků, je vydělena AA Max 10 000 vzorky (100 dílčích jednotek), což vede k minimálnímu počtu pouze jednoho sekundárního vzorku pro světla, GI a materiály. (64 sekundárních vzorků / 10 000 primárních vzorků = 1 sekundární vzorek).

V-ray dokončí vykreslování obrázku a říká:

„Mohl jsem zjistit vše, co se ve scéně dělo, pro kvalitu a čistotu obrazu, který jste zadali. Ale abych scénu otestoval, musel jsem na některých místech použít až 10 000 primárních vzorků s 1 sekundárním vzorkem pro světlo, GI a materiály.“

Podíváme se na možnost 1 a vidíme, že množství šumu se ve srovnání se základním renderem výrazně snížilo. Doba vykreslování zvýšena na 11 min 44 mec (9,8krát delší). Ale nemáme žádný hluk. Většina lidí si v tuto chvíli bude myslet, že je to nejlepší výsledek, kterého lze dosáhnout, a že je jakoby připraven.

Ale co když se podíváme na možnost 2, o které jsme hovořili dříve? Navzdory zvýšení AA Max Subdivs, co by se stalo, kdybychom místo toho zvýšili hodnoty subdiv v IS, GI a Materials. Pojďme to zjistit.

Příklad scény - možnost 2 - zvýšení počtu pododdělení v IS, GI a materiálech


Nyní zkusme něco nového. Nastavíme hodnotu Primary Samples na to, co bylo v základním nastavení, ale přidejte sekundární vzorky.

  • Image Sampler (AA) necháme v základním nastavení 1 min & 8 max Subdivs.
  • Zvyšujeme počet pododdělení v IP, GI a materiálech 80 pododdílů každý.
  • Opustit Práh hluku 0.01

vray_optimization_figure_05Obrázek 5. Možnost 2 – nadšený počet pododdělení v IS, GI a materiálech.
1 min a 8 max. dílčích segmentů = vzorkovač obrázků (AA)
80 dílčích jednotek = světla, GI a materiály každý.
0,01 = Práh šumu.

A tak se podívejme, co se stane ve druhé možnosti. Nastavením parametrů vykreslování tímto způsobem říkáte V-Ray:

"Umožňuji vám použít až 64 (8 subdivs) primárních vzorků (AA) na pixel, abyste pochopili, co je ve scéně, a až 100 sekundárních vzorků."

Pamatujte, že GI, materiály a světlo jsou 64 000 vzorků (80 pododdílů). V-Ray automaticky rozděluje každou z těchto hodnot na základě AA Max vzorků nastavených ve vaší scéně. A i přes 64 000 vzorků je rozdělen na AA Max 64 vzorků (8 pododdílů) a pouze 100 sekundárních vzorků pro světla, GI a materiály (každý). Sekundární vzorky / 64 primárních vzorků = 100 sekundárních vzorků).

V-Ray dokončí vykreslování a říká:

„Mohl jsem říct, co se děje ve scéně, na základě úrovně kvality prahu hluku, kterou jste nastavili. Ve skutečnosti jsem většinu času musel použít všech 64 primárních vzorků na pixel. A 100 sekundárních vzorků pro světlo, materiály a GI."

Vidíme, že šum je pryč, ale doba vykreslování se ve srovnání se základním renderem prodloužila 4,5krát (4m 38s).

Ale pokud porovnáme s možností 1, vidíme, že možnost 2 nám poskytla čistší výsledky a vykreslovala se 2,2krát rychleji.

vray_optimization_figure_06

Obrázek 06. Možnost 1 vlevo a možnost 2 vpravo. Níže je obrázek zvětšený 4krát, aby bylo lépe vidět rozdíl v šumu.

proč tomu tak je? Proč je zvýšení nastavení DMC Sampleru (světla/GI/subdivs materiály) lepší než zvýšení Sampleru (AA)? Výsledkem je rychlejší a čistší vykreslování.

Jak funguje optimalizace


V základním renderu vidíme, že okraje objektu vypadají dobře, šum je hlavně v odlescích a stínech. Pokud si pamatujete, co jsme učili dříve: „Primární vzorky (AA) jsou vyrobeny tak, aby „prozkoumaly“ hlavní geometrii scény, textury, DOF a pohybové rozostření ve scéně. Zatímco sekundární vzorky „sondují“ GI, světlo, materiály a stíny.

A tak, abychom se zbavili hluku, není výběr mezi možností 1 a 2 snadný úkol. Proč používat šroubovák k práci kladiva? Image Sampler (AA) již udělal to, k čemu byl navržen – udělal geometrické detaily (okraje objektů) čisté a tiché. Takže místo natáčení hromady extra primárních samplů (AA) do scény pro odstranění šumu je lepší přidat samply do DMC Sampleru (světla/GI/Material Subdivs), nechat ho dělat to, pro co byl navržen – odstranit šum ve stínech, osvětlení, GI, odrazech a lomech. Zde je naše odpověď!

Nyní vidíme, proč „Universal V Ray Settings“ 1min a 100max AA obecně nebudou nejefektivnější metodou vykreslení scény – ve skutečnosti to nikdy nebylo zamýšleno jako nejefektivnější metoda! Univerzální nastavení V-Ray bylo navrženo tak, aby V-Ray bylo dostupné a snadné pro uživatele, kteří se nestarají o optimalizaci a nezatěžují se tím, jak V-Ray funguje pod kapotou. Je to jen způsob, jak přepnout V-Ray na autopilota. To umožňuje uživateli ovládat celou kvalitu vykreslování úpravou pouze jednoho parametru – prahu šumu. Pokud je v renderu příliš mnoho šumu, jednoduše snižte práh šumu a V-Ray bude střílet primární vzorky (AA), dokud konečně nedosáhne prahu šumu.

Ale můžeme ještě více optimalizovat možnost 2! Z 5 min 58 s před 4 min 53 s. S mírným zvýšením hluku.

vray_optimization_figure_07

Obrázek 07. Možnost č. 1. Vlevo a Možnost č. 2 Vykreslování je optimalizováno ještě více - vpravo. Rychlost vykreslování zvýšena 2,7x!

Zde je další příklad optimalizace, tentokrát více zaměřený na výkon scény.
Optimalizované vykreslování (vpravo) je údajně téměř o 35% rychlejší než obecná nastavení vykreslování (vlevo), přičemž snižuje šum a zlepšuje kvalitu vykreslování. Všimněte si také, jak se zpřesnily odrazy – patrné na podlaze ke konci chodby.

vray_optimization_figure_08

Obrázek 08. „Universal V Ray Settings“ vlevo a optimalizované vykreslování vpravo.

Pokračování příště…

11 komentářů u „Оптимизация рендера в V-Ray

  1. Připojuji se, těším se na pokračování.
    Dělám to v Maye, ale vysvětlení jsou velmi užitečná!

  2. Článek je nesmysl. Doba vykreslování ve stejné kvalitě bude kratší, pokud otočíte dělení na minimum a střih barev na maximum. Ano, polovina obrázku bude červená. No a co. AA sampler bojuje s hlukem lépe než poddělení na každém prvku. to je fakt.

    1. Alespoň někdo pochyboval o správnosti, jinak má člověk po přečtení článku pocit, že všechny komentáře výše napsali buď boti, nebo lidé, kteří nechápali, o čem píší.

      1. jako by ten článek psal týpek z Blur jestli víš co to je, originál je od Akina Bilgica. Zdá se mi, že v Blur nejsou žádní hlupáci, kteří by jen psali takové věci))

    1. v roce 2016, s příchodem Corona Render, tento článek již není aktuální. Nikdy jsem se nedostal k překladu článku.

Napsat komentář: Андрей Zrušit odpověď na komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *