Optimering av rendering i V-Ray

Kommentar från 2023 - sluta lida med 3ds Max, det är därför. Följande är den ursprungliga artikeln

I den här lektionen kommer vi att fördjupa oss i vildmarken i V-Ray och analysera dess mest subtila inställningar för att lära oss hur man optimerar renderingen och får en bild av hög kvalitet på kortare tid.

vray_optimization_header

Introduktion


Denna handledning är utformad för att täcka och förklara hela processen med att optimera V-Ray-inställningar för att producera högkvalitativa renderingar på kortare tid.

Det finns ofta mycket förvirring kring termen V-Ray-sampling och vad de "ideala" inställningarna är. De flesta renderare skapar en "Universal V-Ray Settings" där de ställer in Image Sampler (Anti-Aliasing, eller AA) Max subdykning till ett mycket högt värde, cirka 50 eller till och med 100, och sänker sedan helt enkelt bruströskelvärdet tills renderingen är tillräckligt ren och tänker att detta är det bästa sättet att uppnå det optimala förhållandet kvalitet/hastighet. Men med lite förståelse för vad som finns under huven på V-Ray och hur det faktiskt fungerar, kan du få bättre bilder på kortare renderingstid. Metoden som jag kommer att beskriva i den här artikeln, i jämförelse med den vanligaste som jag beskrev ovan, kan i vissa scener spara din renderingstid med 3 till 13 gånger.

Tja, låt oss först titta på några grundläggande saker om hur själva renderingen och V-Ray-sampling fungerar. Därefter går vi vidare till en specifik scen för att demonstrera hur man optimerar renderingen för att bli snabbare, bättre och skarpare. Sedan lär vi oss att identifiera de olika typer av brus som kan finnas i en scen. Och i slutet kommer jag att visa dig en steg-för-steg-procedur för att optimera en scen för att få den perfekta balansen mellan kvalitet och hastighet.

Om du redan vet hur V-Ray fungerar, klicka här för att gå direkt till steg-för-steg-optimeringsproceduren.

RAYTRACING (strålspårning)


När renderingen börjar skjuts strålar från kameran in i scenen för att samla in information om geometrin i scenen, som kommer att synas i den slutliga bilden. Dessa strålar riktas bort från kameran och kallas Primära strålar (Ibland Camera Rays eller Eye Rays) och är konfigurerade i Bildprovtagare (även känd som Anti-Aliasing eller AA).

Medan den primära strålen skär scengeometrin avfyras ytterligare strålar från dessa skärningspunkter till andra områden av scenen för att få information om belysning, skuggor, indirekt belysning (GI), reflektioner, brytningar, subsurface scattering (SSS), etc. Dessa ytterligare strålar kallas Sekundära strålar och konfigurerad i V-Rays DMC Sampler.

vray_optimization_figure_01Figur 1. Ett förenklat raytracing-diagram: Primära strålar avfyras från kameran in i scenen, korsar objekt i scenen och sprider sekundära strålar till andra delar av scenen.

Från och med nu kommer vi att referera till "Strålar" som "Sampler", eftersom syftet med en stråle (Ray) är att få information om "Sample"-scenen. Strålar = Prover.

För att förstå vad som händer i scenen måste du släppa ett gäng primära och sekundära prover. Ju mer Exempel, ju mer V-Ray tar emot information om scenen, desto högre kvalitet blir renderingen och desto mindre kommer den att innehålla ljud. Som du kan se, buller är orsaken till bristen på information om platsen. Om det finns buller i scenen hade V-Ray inte möjlighet att samla in tillräckligt med information om scenen. För att summera: För att ta bort brus måste du ge V-Ray mer information, och för att ge renderaren mer information om scenen måste du göra Samples-värdet större.

Antal primärprover, reglerade av värden Min underavdelningar, Max underavdelningar, Och Färg tröskel i Image Sampler-alternativen. Antalet sekundära prover styrs av värdet Underavdelningar individuellt i varje ljuskälla, GI, material och inställningar Bullertröskel DMC Sampler värde. (Noise Threshold i Maya kallas Adaptive Threshold)

Så låt oss upprepa de grundläggande termerna:

Ray = Prov

Primära prover = prover anpassade av V-Rays Image Sampler (även känd som Anti-Aliasing eller AA), utformade för att bestämma scenens geometri och samla in information som texturer, skärpedjup (DOF) och rörelseoskärpa).

Sekundära prover = prover som kan anpassas av V-Rays DMC Sampler, designade för att samla in information om belysning, GI, skuggor, reflektioner, brytningar och SSS

Buller = buller eller brist på information

Subdivs = kvadratroten av det faktiska antalet Samples. Subdivs^2 = Samples. Exempel: 8 underavdelningar = 64 prover. (8^2 = 64)

I den här handledningen ska vi titta på hur man bäst använder dessa primära och sekundära prover för att få en brusfri bild på kort tid.

Definition PROVGIVNINGSELEMENTET


SampleRate-renderingselementet är ett av de viktigaste verktygen vi kommer att använda för att optimera renderingen. Detta är V-Rays sätt att visa oss vad Image Sampler (AA) gör vid en viss pixel. Den gör detta genom att markera varje pixel med en färg som motsvarar antalet primära prov (AA) den innehåller. Den här bilden kan ses i SampleRate-renderingselementet)

*Blå färg betyder en liten mängd primära prov (AA) i denna pixel.

*Grön färg betyder det genomsnittliga antalet primära prov (AA) i denna pixel.

*Röd färg betyder ett stort antal primära prov (AA) i denna pixel.

vray_optimization_figure_02Figur 2. SampleRate-renderingselementet (höger) visar hur många primära prov som användes i varje renderingspixel (vänster)

Så, för en scen med Image Sampler (AA) 1 min och 10 max Subdivs (1 min och 100max Primära Samples):

*Blå färg betyder 1 primärprov (AA) i denna pixel.

*Grön färg betyder 50 primära prov (AA) i denna pixel.

*Röd färg betyder 100 primära prov (AA) i denna pixel.

Och, för en scen med Image Sampler (AA) 1 min och 100 max subdivs (1 min och 10000max primära sampel):

*Blå färg betyder 1 primärprov (AA) i denna pixel.

*Grön färg betyder 5000 primära prov (AA) i denna pixel.

*Röd färg betyder 10 000 primära prov (AA) i denna pixel.

Scenexempel - hur fungerar V-RAY?


I den här handledningen kommer vi att arbeta med en enkel scen som består av: ett plan med flera sfärer på, flera olika enkla material (inklusive diffus, glansig reflektion, glansig refraktion och SSS), två områdesljus och en kupol med HDRI. GI aktiverat i Brute Force + Light Cache-läge. Du kan ladda ner den här filen Här.

Vi börjar med grundläggande renderingsinställningar med följande värden:

  • Bildsampler (AA) = 1 min & 8 max underavdelningar.
  • Ljus, GI och material allt 8 underavdelningar.
  • Bullertröskel s= 0.01.
  • Vi lämnar även alla andra inställningar som standard.

vray_optimization_figure_03Figur 3. Grundläggande rendering.
1 min & 8 max underavdelningar = bildsamplare (AA)
8 Subdivs = Ljus, GI och allt material

Låt oss nu titta närmare på vad som händer under en grundläggande rendering. Genom renderingsinställningarna berättar du för renderingen:

"Jag tillåter dig att använda upp till 64 (8 Subdivs) Primary Samples (AA) i varje pixel så att du förstår vad som händer där i scenen och inte gör så mycket brus som bruströskeln tillåter... Men för varje av dessa primära prover kan du bara skapa ett sekundärt prov för att förstå vad som finns i termer av ljus, skuggor, GI och material.”

Du kanske undrar: "Vänta, bara ett sekundärt prov för ljus, GI och alla material? Ja du kör! Det borde finnas 64 prover (8 underavdelningar), angav vi inte så många?” Tja, det är viktigt att notera att IC:er (ljus), GI:er och material har ett värde på 64 Samples (8 Subdives) vardera - V-Ray delar detta värde med AA Max Samples i din scen. Trots värdet på 64 prover för lampor och material, bör du komma ihåg att detta värde delas med värdet på AA Max = 64 prover (8 underavdelningar), vilket resulterar i endast ett sekundärt prov för lampor, GI och material. (64 sekundära prov / 64 primära prov = 1 sekundärt prov).

Anledningen till att V-Ray gör detta är på grund av den interna formeln den har satt för att hålla dessa två värden i balans. Utvecklarnas logik är följande: ju fler primära prov, desto färre sekundära prov krävs för att förstå vad som händer i scenen (vi kommer snart att se att detta inte alltid är sant). Denna balansgång mellan Image Sampler och DMC Sampler kanske inte är tydlig för dig först, men det är poängen. Uttaget är att när du ökar värdet för Image Sampler (AA), försöker V-Ray att kompensera genom att proportionellt minska DMC Sampler-värdet. Senare, om du inte har somnat ännu, kan du utvärdera DMC-kalkylator, som skrevs av författaren till denna artikel, som jag så flitigt översätter klockan 05.02 på morgonen, nästan utan att använda en ordbok =) Tack vare gymnastiksal nr 32 i Ivanovo, där jag fick 8 engelska lektioner i veckan.

Och så, låt oss återvända till våra papegojor:

V-Ray renderas så coolt som möjligt, men jag är oroad över det enorma antalet röda pixlar i SampleRate-renderingselementet). Detta är vad han säger till oss:

"Jag kunde inte lista ut vad som hände på scenen eftersom du kraftigt begränsade mig i bullertröskeln. Jag använde primära prover med bara ett sekundärt prov under lång tid men det gav mig inte tillräckligt med information om dessa områden."

Om vi tittar på renderingen kommer vi att märka att även om objekten (kanterna på objekt) ser ganska bra ut, finns det fortfarande några brusiga områden i bilden där det finns skuggor och reflektioner. Vi har en bullrig basrendering och vi har två alternativ för att minska bruset för att få den kvalitet vi vill ha.

* Alternativ 1 - ökning AA Max Subdivs - så att V-Ray kan se scenen bättre, men återigen med bara ett sekundärt prov för ljus, GI och material.

* Alternativ 2 - Öka kvantiteten Underavdelningar i material, belysning och GI. Säg till V-Ray att behålla antalet primära prover, men låt den istället använda fler sekundära prover.

Scenexempel - alternativ 1 - ökar värdet på AA MAX SUBDIVS


Nåväl, låt oss försöka först, på det sätt som sneda visualisatorer brukar göra för att få en mindre bullrig rendering.

  • Vi ökar Image Sampler (AA) 1 min & 100 max underavdelningar.
  • Vi lämnar IP, GI och material på 8 underavdelningar.
  • Sänk bruströskeln till 0.005 att berätta för V-Ray att vi vill rendera utan brus.

vray_optimization_figure_04Figur 4. Alternativ 1 - öka antalet underavdelningar i AA Max
1 min & 100 max underavdelningar = bildsamplare (AA)
8 Subdivs = BC, GI och allt material
0,005 = Bullertröskel.

Låt oss ta reda på vad som händer med dessa inställningar. Efter att ha ställt in dessa inställningar säger vi till V-Ray:

"Jag tillåter dig att använda upp till 10 000 (100 subdivs) primära sampel (AA) per pixel för att förstå vad som händer i scenen och minimera brus så mycket som möjligt vid en given bruströskel. Men för varje primärprov kan du bara skapa ett sekundärt prov för att förstå vad som finns i scenen med ljus, GI och material.”

Vi minns det eftersom Varje IC, material och GI har 64 Samples (8 Subdivs), V-Ray delar detta värde med AA Max Samples. Även om värdet är 64 Samples, delas det med AA Max 10 000 Samples (100 Subdivs), vilket resulterar i ett minsta antal på bara ett sekundärt Sample för lampor, GI och material. (64 sekundära prov / 10 000 primära prov = 1 sekundärt prov).

V-ray avslutar renderingen av bilden och säger:

"Jag kunde lista ut allt som hände i scenen för kvaliteten och klarheten på bilden som du angav. Men för att testa scenen var jag på vissa ställen tvungen att använda så många som 10 000 primära prover med 1 sekundära prover för ljus, GI och material.”

Vi tittar på alternativ 1 och ser att mängden brus har minskat avsevärt jämfört med basrenderingen. Återgivningstiden ökade till 11 min 44 mec (9,8 gånger längre). Men vi har inget ljud. De flesta tror vid det här laget att det här är det bästa resultatet som kan uppnås och att det, liksom, är klart.

Men vad händer om vi tittar på alternativ 2, som vi pratade om tidigare? Trots ökade AA Max Subdivs, vad skulle hända om vi istället ökade subdiv-värdena i IS, GI och Materials. Låt oss ta reda på.

Scenexempel - alternativ 2 - öka antalet underavdelningar i IS, GI och material


Nu ska vi prova något nytt. Låt oss ställa in Primary Samples-värdet till vad det var i grundinställningarna, men lägg till Secondary Samples.

  • Vi lämnar Image Sampler (AA) på grundinställningarna 1 min & 8max underavdelningar.
  • Vi ökar antalet underavdelningar inom IP, GI och material till 80 Underavdelningar varje.
  • Lämna bruströskeln 0.01

vray_optimization_figure_05Figur 5. Alternativ 2 - entusiastisk antal underavdelningar i IS, GI och material.
1 min & 8 max underavdelningar = bildsamplare (AA)
80 underavdelningar = ljus, GI och material vardera.
0,01 = Bullertröskel.

Och så, låt oss titta på vad som händer i det andra alternativet. Genom att ställa in renderingsparametrar så här säger du till V-Ray:

"Jag tillåter dig att använda upp till 64 (8 subdivs) primära sampel (AA) per pixel för att förstå vad som finns i scenen och upp till 100 sekundära prov."

Kom ihåg att GI, material och ljus är 64 000 prover (80 underavdelningar) vardera. V-Ray delar automatiskt vart och ett av dessa värden baserat på AA Max Samples som ställts in i din scen. Och trots 64 000 prover är det uppdelat i AA Max 64 prover (8 underavdelningar), och endast 100 sekundära prover för ljus, GI och material (vardera). Sekundära prover / 64 primära prov = 100 sekundära prover).

V-Ray avslutar renderingen och säger:

"Jag kunde berätta vad som pågick i scenen baserat på den bruströskelkvalitetsnivå du ställde in. Faktum är att jag för det mesta var tvungen att använda alla 64 primära prover per pixel. Och 100 sekundära prover för ljus, material och GI."

Vi ser att bruset är borta, men renderingstiden har ökat med 4,5 gånger (4m 38s) jämfört med basrenderingen.

Men om vi jämför med alternativ 1 ser vi att alternativ 2 gav oss renare resultat och renderade 2,2 gånger snabbare.

vray_optimization_figure_06

Figur 06. Alternativ 1 till vänster och alternativ 2 till höger. Nedan är en bild förstorad 4 gånger för att bättre se skillnaden i brus.

Varför är det så? Varför är det bättre att öka inställningarna för DMC Sampler (ljus/GI/subdivs material) än att öka Sampler (AA)? Resultatet är snabbare och renare rendering.

Hur optimering fungerar


I basrenderingen ser vi att kanterna på objektet ser bra ut, bruset är främst i reflektioner och skuggor. Om du kommer ihåg vad vi lärde ut tidigare: "Primära prover (AA) är gjorda för att "sondera" scenens huvudgeometri, texturer, DOF och rörelseoskärpa i scenen. Medan sekundära prover "sondar" GI, ljus, material och skuggor."

Och så, för att bli av med bruset, är det inte en lätt uppgift att välja mellan alternativ 1 och 2. Varför använda en skruvmejsel för att göra jobbet som en hammare? Image Sampler (AA) har redan gjort vad den var designad för att göra - göra geometriska detaljer (kanterna på föremål) rena och tysta. Så istället för att skjuta in ett gäng extra primära prover (AA) i scenen för att ta bort brus, är det bättre att lägga till prover till DMC Sampler (ljus/GI/material subdivs), låt den göra vad den var designad för - ta bort brus i skuggorna, belysning, GI, reflektioner och refraktioner. Här är vårt svar!

Nu kan vi se varför "Universal V Ray Settings" på 1min och 100max AA i allmänhet inte kommer att vara den mest effektiva metoden för att rendera en scen - i själva verket var det aldrig tänkt att vara den mest effektiva metoden! V-Rays universella inställningar designades för att göra V-Ray tillgängligt och enkelt för användare som inte bryr sig om optimering och som inte bryr sig om hur V-Ray fungerar under huven. Det är bara ett sätt att sätta V-Ray på autopilot. Detta gör att användaren kan kontrollera hela renderingskvaliteten genom att justera bara en parameter - bruströskeln. Om det finns för mycket brus i renderingen, sänk helt enkelt bruströskeln, så kommer V-Ray att fortsätta avfyra primära prover (AA) tills den slutligen når bruströskeln.

Men vi kan optimera alternativ 2 ännu mer! Från 5 min 58s innan 4 min 53 s. Med en liten ökning av buller.

vray_optimization_figure_07

Figur 07. Alternativ nr 1. Till vänster och alternativ nr 2 Renderingen optimeras ännu mer - till höger. Återgivningshastigheten ökade med 2,7x!

Här är ytterligare ett exempel på optimering, den här gången mer fokuserat på scenprestanda.
Optimerad rendering (höger) sägs vara nästan 35% snabbare än de allmänna renderingsinställningarna (vänster) samtidigt som den minskar brus och förbättrar renderingskvaliteten. Notera också hur reflexerna har blivit mer exakta - märks på golvet mot slutet av korridoren.

vray_optimization_figure_08

Figur 08. "Universal V Ray Settings" till vänster och optimerad rendering till höger.

Fortsättning följer…

11 tankar kring ”Оптимизация рендера в V-Ray

  1. En nödvändig sak, jag stöder författaren.
    Ser fram emot fortsättningen!!!

  2. Bra lektion, en fortsättning skulle vara en fin present.
    Förresten, slå på RSS, du har några bra artiklar, jag skulle gärna läsa nya

  3. Jag är med, ser fram emot fortsättningen.
    Jag gör det i Maya, men förklaringarna är till stor hjälp!

  4. Artikeln är nonsens. Återgivningstiden med samma kvalitet blir kortare om du vrider underindelningarna till minimum och färgklippningen till maximum. Ja, hälften av bilden blir röd. Än sen då. AA-samplaren bekämpar buller bättre än underavdelningar på varje element. Det är fakta.

    1. Någon tvivlade åtminstone på riktigheten, annars får man en känsla av att alla kommentarer ovan är skrivna antingen av bots eller av folk som inte förstod vad de skrev om, efter att ha läst artikeln en gång.

      1. som om artikeln skrevs av en snubbe från Blur om du vet vad det är, originalet är av Akin Bilgic. Det verkar för mig att det inte finns några dårar i Blur bara för att skriva sådana saker))

  5. Var finns fortsättningen på artiklarna?
    Författaren håller inte sitt ord...((

    1. 2016, med tillkomsten av Corona Render, är denna artikel inte längre relevant. Jag hann aldrig översätta artikeln.

Lämna ett svar till Юрий Avbryt svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *