Optimalisering av gjengivelse i V-Ray

Kommentar fra 2023 - slutt å lide med 3ds Max, derfor. Følgende er den originale artikkelen

I denne leksjonen vil vi fordype oss i villmarkene til V-Ray og analysere de mest subtile innstillingene for å lære hvordan du kan optimalisere gjengivelsen og få et bilde av høy kvalitet på kortere tid.

vray_optimization_header

Introduksjon


Denne opplæringen er utviklet for å dekke og forklare hele prosessen med å optimalisere V-Ray-innstillinger for å produsere gjengivelser av høy kvalitet på kortere tid.

Det er ofte mye forvirring rundt begrepet V-Ray-sampling og hva de "ideelle" innstillingene er. De fleste renderere oppretter en "Universal V-Ray Settings" der de setter Image Sampler (Anti-Aliasing, eller AA) Max subdives til en veldig høy verdi, ca. 50 eller til og med 100, og senker deretter støyterskelverdien til gjengivelsen er ren nok, og tenker at dette er den beste måten å oppnå optimalt forhold mellom kvalitet og hastighet. Men med litt forståelse av hva som er under panseret til V-Ray og hvordan det faktisk fungerer, kan du få bedre bilder på kortere gjengivelsestid. Metoden som jeg vil beskrive i denne artikkelen, sammenlignet med den vanligste som jeg beskrev ovenfor, kan i noen scener spare gjengivelsestiden din med 3 til 13 ganger.

Vel, la oss først se på noen grunnleggende ting om hvordan selve gjengivelsen og V-Ray-sampling fungerer. Deretter går vi videre til en spesifikk scene for å demonstrere hvordan vi kan optimalisere gjengivelsen for å bli raskere, bedre og skarpere. Deretter lærer vi å identifisere de forskjellige typene støy som kan være i en scene. Og til slutt vil jeg vise deg en trinn-for-trinn-prosedyre for å optimalisere enhver scene for å få den perfekte balansen mellom kvalitet og hastighet.

Hvis du allerede vet hvordan V-Ray fungerer, klikk her for å gå rett til trinn-for-trinn-optimaliseringsprosedyren.

RAYTRACING (strålesporing)


Når gjengivelsen begynner, skytes stråler fra kameraet inn i scenen for å samle informasjon om geometrien i scenen, som vil være synlig i det endelige bildet. Disse strålene er rettet bort fra kameraet og kalles Primære stråler (Noen ganger Camera Rays eller Eye Rays) og er konfigurert i Bildeprøvetaker (også kjent som Anti-Aliasing eller AA).

Mens primærstrålen skjærer scenegeometrien, skytes ytterligere stråler fra disse skjæringspunktene inn i andre områder av scenen for å få informasjon om belysning, skygger, indirekte belysning (GI), refleksjoner, brytninger, undergrunnsspredning (SSS), etc. Disse ekstra stråler kalles Sekundære stråler og konfigurert i V-Ray's DMC Sampler.

vray_optimization_figure_01Figur 1. Et forenklet strålesporingsdiagram: Primære stråler skytes fra kameraet inn i scenen, krysser objekter i scenen og sprer sekundære stråler til andre deler av scenen.

Fra nå av vil vi referere til "Stråler" som "Sampler", fordi formålet med en stråle (Ray) er å få informasjon om "Sample"-scenen. Stråler = Prøver.

For å forstå hva som skjer i scenen, må du gi ut en haug med primære og sekundære prøver. Jo mer Eksempler, jo mer V-Ray mottar informasjon om scenen, desto høyere kvalitet vil gjengivelsen være og jo mindre vil den inneholde bråk. Som du kan se, støy er årsaken til mangelen på informasjon om åstedet. Hvis det er støy i åstedet, så hadde ikke V-Ray mulighet til å samle nok informasjon om åstedet. For å oppsummere: For å fjerne støy må du gi V-Ray mer informasjon, og for å gi rendereren mer informasjon om scenen må du gjøre Samples-verdien større.

Antall primærprøver, regulert av verdier Min underavdelinger, Maks underavdelinger, Og Fargeterskel i bildeprøvealternativene. Antall sekundære prøver styres av verdien Underavdelinger individuelt i hver lyskilde, GI, materiale og innstillinger Støyterskel DMC Sampler verdi. (Støyterskel i Maya kalles adaptiv terskel)

Så la oss gjenta de grunnleggende begrepene:

Ray = prøve

Primære prøver = prøver tilpasset av V-Rays Image Sampler (også kjent som Anti-Aliasing eller AA), designet for å bestemme geometrien til scenen og samle informasjon som teksturer, dybdeskarphet (DOF) og bevegelsesuskarphet).

Sekundære prøver = prøver som kan tilpasses av V-Rays DMC Sampler, designet for å samle informasjon om belysning, GI, skygger, refleksjoner, brytninger og SSS

Støy = støy eller mangel på informasjon

Subdivs = kvadratroten av det faktiske antallet prøver. Subdivs^2 = Samples. Eksempel: 8 underavdelinger = 64 prøver. (8^2 = 64)

I denne opplæringen skal vi se på hvordan du best kan bruke disse primære og sekundære prøvene for å få et støyfritt bilde på kort tid.

Definisjon PRØVEGJØRELEMENTET


SampleRate-gjengivelseselementet er et av de viktigste verktøyene vi skal bruke for å optimalisere gjengivelsen. Dette er V-Rays måte å vise oss hva Image Sampler (AA) gjør ved en bestemt piksel. Den gjør dette ved å merke hver piksel med en farge som tilsvarer antallet primærprøver (AA) den inneholder. Dette bildet kan sees i SampleRate-gjengivelseselementet)

*Blå farge betyr en liten mengde primærprøver (AA) i denne pikselen.

*Grønn farge betyr gjennomsnittlig antall primærprøver (AA) i denne pikselen.

*Rød farge betyr et stort antall primærprøver (AA) i denne pikselen.

vray_optimization_figure_02Figur 2. SampleRate-gjengivelseselementet (til høyre) viser hvor mange primærprøver som ble brukt i hver gjengivelsespiksel (venstre)

Så, for en scene med Image Sampler (AA) 1 min og 10 maks Subdivs (1 min og 100max primære prøver):

*Blå farge betyr 1 primærprøver (AA) i denne pikselen.

*Grønn farge betyr 50 primærprøver (AA) i denne pikselen.

*Rød farge betyr 100 primærprøver (AA) i denne pikselen.

Og for en scene med Image Sampler (AA) 1 min og 100 maks Subdivs (1 min og 10000max primære prøver):

*Blå farge betyr 1 primærprøver (AA) i denne pikselen.

*Grønn farge betyr 5000 primærprøver (AA) i denne pikselen.

*Rød farge betyr 10 000 primærprøver (AA) i denne pikselen.

Sceneeksempel – hvordan fungerer V-RAY?


I denne opplæringen skal vi jobbe med en enkel scene som består av: et plan med flere kuler på, flere forskjellige enkle materialer (inkludert diffus, blank refleksjon, blank refraksjon og SSS), to områdelys og en kuppellys med HDRI. GI aktivert i Brute Force + Light Cache-modus. Du kan laste ned denne filen Her.

Vi starter med grunnleggende gjengivelsesinnstillinger med følgende verdier:

  • Bildeprøvetaker (AA) = 1 min og 8 maks underdiv.
  • Lys, GI og materialer alt sammen 8 underavdelinger.
  • Støyterskel s= 0.01.
  • Vi lar også alle andre innstillinger stå som standard.

vray_optimization_figure_03Figur 3. Grunnleggende gjengivelse.
1 min og 8 maks subdivs = bildeprøvetaker (AA)
8 Subdivs = Lys, GI og alle materialer

La oss nå se nærmere på hva som skjer under en grunnleggende gjengivelse. Gjennom gjengivelsesinnstillingene forteller du på en måte gjengivelsen:

«Jeg lar deg bruke opptil 64 (8 Subdivs) Primary Samples (AA) i hver piksel slik at du forstår hva som skjer der i scenen og ikke lager så mye støy som støyterskelen tillater... Men for hver av disse primærprøvene kan du bare lage 1 sekundærprøve for å forstå hva som finnes når det gjelder lys, skygger, GI og materialer."

Du lurer kanskje: «Vent, bare én sekundær prøve for lys, GI og alle materialer? Ja du kjører! Det burde være 64 prøver (8 underavdelinger), spesifiserte vi ikke så mange?» Vel, det er viktig å merke seg at IC-er (lys), GI-er og materialer har en verdi på 64 Samples (8 Subdives) hver - V-Ray deler denne verdien med AA Max Samples i scenen din. Til tross for verdien på 64 prøver for lys og materialer, bør du huske på at denne verdien er delt på verdien av AA Max = 64 prøver (8 underavdelinger), noe som resulterer i kun én sekundær prøve for lys, GI og materialer. (64 sekundærprøver / 64 primærprøver = 1 sekundærprøve).

Grunnen til at V-Ray gjør dette er på grunn av den interne formelen den har satt for å holde disse to verdiene i balanse. Logikken til utviklerne er som følger: jo flere primære prøver, desto færre sekundære prøver kreves for å forstå hva som skjer i scenen (vi vil snart se at dette ikke alltid er sant). Denne balansegangen mellom Image Sampler og DMC Sampler er kanskje ikke tydelig for deg med det første, men det er poenget. Fordelen er at når du øker verdien for Image Sampler (AA), prøver V-Ray å kompensere ved å redusere DMC Sampler-verdien proporsjonalt. Senere, hvis du ikke har sovnet ennå, kan du vurdere DMC-kalkulator, som ble skrevet av forfatteren av denne artikkelen, som jeg så flittig oversetter klokken 5:02 om morgenen, nesten uten å bruke ordbok =) Takket være gymsal nr. 32 i Ivanovo, hvor jeg fikk 8 engelsktimer i uken.

Og så, la oss gå tilbake til papegøyene våre:

V-Ray gjengitt så kult som det kunne, men jeg er skremt av det enorme antallet røde piksler i SampleRate-gjengivelseselementet). Dette er hva han forteller oss:

«Jeg kunne ikke finne ut hva som skjedde i scenen fordi du begrenset meg sterkt i støyterskelen. Jeg brukte primærprøver med bare én sekundærprøve i lang tid, men det ga meg ikke nok informasjon om disse områdene."

Hvis vi ser på gjengivelsen, vil vi legge merke til at selv om objektene (kantene på objektene) ser ganske bra ut, er det fortsatt noen støyende områder i bildet der det er skygger og refleksjoner. Vi har en støyende grunngjengivelse og vi har to alternativer for å redusere støyen for å få den kvaliteten vi ønsker.

* Alternativ 1 - økning AA Max Subdivs - slik at V-Ray kan se scenen bedre, men igjen med bare én sekundær prøve for lys, GI og materialer.

* Alternativ 2 - Øk mengde Underavdelinger i materialer, belysning og GI. Fortell V-Ray å beholde antallet primærprøver, men la den i stedet bruke flere sekundære prøver.

Sceneeksempel - alternativ 1 - øker verdien av AA MAX SUBDIVS


Vel, la oss prøve først, på den måten som skjeve visualisatorer vanligvis gjør for å få en mindre støyende gjengivelse.

  • Vi øker Image Sampler (AA) 1 minutt & 100 maks underavdelinger.
  • Vi lar IP, GI og materialer stå på 8 underavdelinger.
  • Senk støyterskelen til 0.005 å fortelle V-Ray at vi ønsker å gjengi uten støy.

vray_optimization_figure_04Figur 4. Alternativ 1 - øke antall underavdelinger i AA Maks
1 min og 100 maks. underdivisjoner = bildeprøvetaker (AA)
8 Subdivs = BC, GI og alle materialer
0,005 = Støyterskel.

La oss finne ut hva som skjer med disse innstillingene. Etter å ha satt disse innstillingene, forteller vi V-Ray:

«Jeg lar deg bruke opptil 10 000 (100 subdivs) primærprøver (AA) per piksel for å forstå hva som skjer i scenen og minimere støy så mye som mulig ved en gitt støyterskel. Men for hver primærprøve kan du bare lage én sekundærprøve for å forstå hva som er i scenen med lys, GI og materialer."

Vi husker det pga Hver IC, materiale og GI har 64 Samples (8 Subdivs), V-Ray deler denne verdien med AA Max Samples. Selv om verdien er 64 prøver, er den delt på AA Maks 10 000 prøver (100 underavdelinger), noe som resulterer i et minimum antall på bare én sekundær prøve for lys, GI og materialer. (64 sekundærprøver / 10000 primærprøver = 1 sekundærprøve).

V-ray fullfører gjengivelsen av bildet og sier:

"Jeg kunne finne ut alt som skjedde i scenen for kvaliteten og klarheten til bildet du spesifiserte. Men for å teste scenen måtte jeg noen steder bruke så mange som 10 000 primærprøver med 1 sekundærprøve for lys, GI og materialer.»

Vi ser på alternativ 1 og ser at mengden støy har redusert betraktelig sammenlignet med basisgjengivelsen. Gjengivelsestiden økte til 11 min 44 mec (9,8 ganger lengre). Men vi har ingen støy. De fleste på dette tidspunktet vil tro at dette er det beste resultatet som kan oppnås, og at det er klart.

Men hva om vi ser på alternativ 2, som vi snakket om tidligere? Til tross for økende AA Max Subdivs, hva ville skje hvis vi i stedet økte subdiv-verdiene i IS, GI og Materials. La oss finne det ut.

Sceneeksempel - alternativ 2 - øke antall underinndelinger i IS, GI og materialer


La oss nå prøve noe nytt. La oss sette Primary Samples-verdien til hva den var i de grunnleggende innstillingene, men legg til Secondary Samples.

  • Vi lar Image Sampler (AA) være i grunnleggende innstillinger 1 minutt & 8 maks underavdelinger.
  • Vi øker antall underavdelinger i IP, GI og materialer til 80 Underavdelinger hver.
  • Forlat støyterskel 0.01

vray_optimization_figure_05Figur 5. Alternativ 2 - entusiastisk antall underavdelinger i IS, GI og materialer.
1 min og 8 maks subdivs = bildeprøvetaker (AA)
80 underavdelinger = lys, GI og materialer hver.
0,01 = Støyterskel.

Og så, la oss se på hva som skjer i det andre alternativet. Ved å angi gjengivelsesparametere som dette, forteller du V-Ray:

"Jeg lar deg bruke opptil 64 (8 subdivs) primære prøver (AA) per piksel for å forstå hva som er i scenen og opptil 100 sekundære prøver."

Husk at GI, materialer og lys er 64 000 prøver (80 underavdelinger) hver. V-Ray deler automatisk hver av disse verdiene basert på AA Max Samples satt i scenen din. Og til tross for 64 000 prøver, er den delt inn i AA Max 64 prøver (8 underavdelinger), og kun 100 sekundære prøver for lys, GI og materialer (hver). Sekundærprøver / 64 primærprøver = 100 sekundære prøver).

V-Ray avslutter gjengivelsen og sier:

"Jeg kunne fortelle hva som foregikk i scenen basert på støyterskelkvalitetsnivået du satte. Faktisk, mesteparten av tiden, måtte jeg bruke alle 64 primærprøver per piksel. Og 100 sekundære prøver for lys, materialer og GI."

Vi ser at støyen er borte, men gjengivelsestiden har økt med 4,5 ganger (4m 38s) sammenlignet med basisgjengivelsen.

Men hvis vi sammenligner med alternativ 1, ser vi at alternativ 2 ga oss renere resultater og gjengitt 2,2 ganger raskere.

vray_optimization_figure_06

Figur 06. Alternativ 1 til venstre og alternativ 2 til høyre. Nedenfor er et bilde forstørret 4 ganger for bedre å se forskjellen i støy.

Hvorfor det? Hvorfor er det bedre å øke DMC Sampler-innstillingene (lys/GI/subdivs-materialer) enn å øke Sampler (AA)? Resultatet er raskere og renere gjengivelse.

Hvordan optimalisering fungerer


I basisgjengivelsen ser vi at kantene på objektet ser bra ut, støyen er hovedsakelig i refleksjoner og skygger. Hvis du husker hva vi lærte tidligere: "Primærprøver (AA) er laget for å "sondere" hovedgeometrien til scenen, teksturer, DOF og bevegelsesuskarphet i scenen. Mens sekundære prøver "sonderer" GI, lys, materialer og skygger."

Og så, for å bli kvitt støyen, er det ikke en lett oppgave å velge mellom alternativ 1 og 2. Hvorfor bruke en skrutrekker for å gjøre jobben som en hammer? Image Sampler (AA) har allerede gjort det den ble designet for å gjøre - gjøre geometriske detaljer (kantene på objekter) rene og lydløse. Så, i stedet for å skyte en haug med ekstra primærprøver (AA) inn i scenen for å fjerne støy, er det bedre å legge til prøver til DMC-sampleren (lys/GI/Material Subdivs), la den gjøre det den er designet for - fjern støy i skyggene, belysning, GI, refleksjoner og brytninger. Her er svaret vårt!

Nå kan vi se hvorfor "Universal V Ray Settings" på 1min og 100max AA generelt ikke vil være den mest effektive metoden for å gjengi en scene - faktisk var det aldri ment å være den mest effektive metoden! V-Rays universelle innstillinger ble designet for å gjøre V-Ray tilgjengelig og enkel for brukere som ikke bryr seg om optimalisering og ikke bryr seg om hvordan V-Ray fungerer under panseret. Det er bare en måte å sette V-Ray på autopilot. Dette lar brukeren kontrollere hele gjengivelseskvaliteten ved å justere bare én parameter - støyterskelen. Hvis det er for mye støy i gjengivelsen, senker du bare støyterskelen, og V-Ray vil fortsette å skyte primærprøver (AA) til den endelig når støyterskelen.

Men vi kan optimalisere alternativ 2 enda mer! Fra 5 min 58s før 4 min 53 s. Med en liten økning i støy.

vray_optimization_figure_07

Figur 07. Alternativ nr. 1. Til venstre, og alternativ nr. 2 Gjengivelsen er optimalisert enda mer - til høyre. Gjengivelseshastigheten økte med 2,7x!

Her er et annet eksempel på optimalisering, denne gangen mer fokusert på sceneytelse.
Optimalisert gjengivelse (høyre) sies å være nesten 35% raskere enn de generiske gjengivelsesinnstillingene (venstre) samtidig som den reduserer støy og forbedrer gjengivelseskvaliteten. Legg også merke til hvordan refleksjonene har blitt mer nøyaktige - merkbar på gulvet mot enden av korridoren.

vray_optimization_figure_08

Figur 08. "Universal V Ray Settings" til venstre, og optimalisert gjengivelse til høyre.

Fortsettelse følger…

11 kommentarer til “Оптимизация рендера в V-Ray

  1. En nødvendig ting, jeg støtter forfatteren.
    Gleder meg til fortsettelsen!!!

  2. Flott leksjon, en fortsettelse ville vært en fin gave.
    Slå forresten på RSS, du har noen flotte artikler, jeg vil gjerne lese nye

  3. Jeg blir med, gleder meg til fortsettelsen.
    Jeg gjør det i Maya, men forklaringene er veldig nyttige!

  4. Artikkelen er tull. Gjengivelsestiden med samme kvalitet vil bli mindre hvis du skrur underinndelingene til minimum og fargekuttet til maksimum. Ja, halvparten av bildet vil være rødt. Hva så. AA-sampleren bekjemper støy bedre enn underinndelinger på hvert element. Det er fakta.

    1. Noen tvilte i hvert fall på riktigheten, ellers får man følelsen av at alle kommentarene ovenfor er skrevet enten av roboter eller av folk som ikke forsto hva de skrev om, etter å ha lest artikkelen en gang.

      1. som om artikkelen ble skrevet av en dude fra Blur hvis du vet hva det er, er originalen av Akin Bilgic. Det virker for meg som det ikke er noen idioter i Blur bare for å skrive slike ting))

    1. i 2016, med bruken av Corona Render, er denne artikkelen ikke lenger relevant. Jeg rakk aldri å oversette artikkelen.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *