Render passes introduksjon

Render passes introduksjon

Thu 02 December 2010

Hva er et renderpass, hvilken passes er mest brukt, og hvorfor bør jeg vite noe om dette? Her skal vi prøve å gi en kort innføring i de mest brukte slik at du kan utforske disse nærmere på egenhånd.

Når du rendrer ut bildet ditt i forskjellige passes handler om å dele det opp i flere deler. Disse delene setter du så sammen igjen til det ferdige bildet. Det høres kanskje litt rart ut å bruke tid på å dele opp noe som du alikevel skal sette sammen igjen etterpå, men iløpet av denne artikkelen får du forhåpentligvis lyst å prøve dette selv.

Fordeler og ulemper

- Det er lett å endre farger, lysintensitet med mer på enkelte deler av bildet ditt

- Du kan spare minne ved å ikke rendre ut alt i et stort pass

Forskjellige passes

generic_pass_dialogSom du kan se på skjermbildet finnes det ganske mange å velge i.

Det finnes som sagt mange forskjellige typer pass, og vi skal her prøve å gjenomgå de som man bruker ofte.

Diffuse

Dette er selve keypasset som ligger i bunnen for alle de andre. Dette er bildet ditt rendret uten refleksjoner, highlights og skygger. Kun farger / teksturer og bakgrunnen. Dette passet kalles også beautypass eller colorpass.

Specular highlights

Dette er lysrefleksjoner som er i scenen din. Du har skarpe, men små highligts som skinnende metall og glansete materialer, og større, mer blurete som f.eks stein og gummi. Fargen på highlights blir påvirket av lysene i scenen din. Har du mye rødt lys vil også specular passet bli rødt. Siden specular highlights er lysrefleksjoner vil mange rendermotorer ta de med i selve refleksjonspasset, og dermed så er det ikke alltid du trenger å ha et eget pass for de. Det finnes også noen renderer som lar deg skille specular highlights fra resten av refleksjonene.

Har du det som et eget pass kan du justere farge og intentsitet på highlightsene dine, eller du kan blure de for å få en "nice subtle glow".

Direct lightning

lighning_pass_dialogEksempel på et lyspass med tilhørende parametere.

Dette er lyset fra hovedlyskildene (eng:keylights) dine. Farge og intentsitet på lyset er med. Eksempel sollys.

For å rendre Direct lightning så velger "Lightning" fra "Render Elements". Det er parametere knyttet til dette passet.

Dersom du planlegger å rendre eget shadowpass kan du gå til "Lighting texture element" og huke vekk "Shadows on". Husk også å huke vekk "Indirect lighting on" siden vi skal ta disse ut i to forskjellige pass. Pass også på at du navngir filen som skal lagres på en måte så du skiller direct light fra indirect light. Med andre ord, ikke kall den "Lighting", men "Lighting_Direct" eller noe slikt.

Indirect lightning

Dette er lyset som du får etter at lyset har "bouncet" i scenen din. Ambient og bounce light.

For å rendre Indirect lightning så velger "Lightning" fra "Render Elements". Det er parametere knyttet til dette passet.

Dersom du planlegger å rendre eget shadowpass kan du gå til "Lighting texture element" og huke vekk "Shadows on". Husk også å huke vekk "Direct lighting on" siden vi skal ta disse ut i to forskjellige pass. Pass også på at du navngir filen som skal lagres på en måte så du skiller indirect light fra direct light. Med andre ord, ikke kall den "Lighting", men "Lighting_InDirect" eller noe slikt.

Ambient occlusion

Opprinnelig et triks for å simulere GI (global illumination). AO pass kalkulerer om et gitt punkt på en overflate er belyst eller ikke. Resultatet er et gråskala bilde hvor lyse verdier er områder som er opplyst og mørke verdier er områder som ikke blir belyst. Ambient occlusion pass gir deg mulighet til å justere myke skygger (eng:soft shadows), og du kan justere opp kontaktskygger for å få objekter til å "henge sammen" i scenen.

Når vi skal rendre et AO pass må vi gjøre noen endringer i scenen vår. Det kan derfor være et godt tips å bruke "Scene state" hvor vi har en state som er normal, og en som brukes til å rendre AO med. Når en state er opprettet kan vi enkelt bytte mellom de, og alle states blir lagret i selve max filen slik at de følger med om du videresender vilen til noen andre.

Endringer vi gjør før vi render AO:

- Skru av alle lys.

- Skru av environment (sett det til hvit) dersom du bruker hdri.

- Skru av photographic exposure control dersom denne er i bruk.

- Skru av FG og GI i mentalray render.

- Skru på material override og sett dette til "Ambient Occlussion". Dette er en standard mentalray shader der surface paremeteren er en "Ambient / Reflective Occlusion" map. Sett gjerne sample verdien opp fra 16 til 64 for å fjerne noise i det ferdige passet.

- Du kan prøve deg frem med forskjellige verdier i "Max Distance" parameteren. Setter du 0 vil hele scenen samples, noe som vil ta lenger tid en om du legger inn begrensinger her.

Når vi skal sette sammen alle passene våre kan vi multiplisere AO passet på toppen av alle de andre for å få mykere skygger (eng: soft shadows).

Reflection

Det vi er ute etter i et reflection pass er (eng:glossy reflections) som kommer fra bakgrunnen (eng:environment) og andre objekter i scenen. Det er en veldig vanlig nybegynnerfeil å gjøre et materiale 100% reflektivt, for så å ende opp med et helt svart objekt. Dette kommer av at mange ikke tenker over at det må være noe som kan reflekteres i scenen. Refleksjoner kan man få ved å legge tilordne et spherisk bilde i refleksjonsparameterene (eng:reflectionmap) til materialet, eller kalkulere mer realistiske refleksjoner fra grunnen av. Eventuellt kan man legge inn et spherisk bilde i environment sloten (8) som da vil fungere som reflectionmap for hele scenen.

Refleksjoner er en av de tingene vi forventer å finne i en 3d scene. Uten refleksjoner vil man fort misse "realisme" følelsen.

For å rendre reflection pass så velger vi det bare fra "Render Elements". Det er ingen spesielle parametere knyttet til dette passet.

Refraction

Refraction er det vi får når lyset går fra et gjenomsiktig materiale til et annet. Når lys skifter materiale vil det også få en annen fart, brytes og / eller skifte retning. Refraction pass kalles også for transparency pass, og er nødvendig i scener med glass, vann og lignende materialer. Vanlige scenarioer er lys som går fra luft til vindu, eller luft til vann. Områder hvor lyset ikke skifter materiale blir bare svarte.

For å rendre refraction pass så velger vi det bare fra "Render Elements". Det er ingen spesielle parametere knyttet til dette passet.

Matte

Matte pass gir oss mulighet til separere deler av bildet, som igjen gjør de mulig å justere pr objekt basis. Et matte pass er gjerne et gråskala bilde, der pikselverdiane bestemmer graden av gjenomsiktighet. Svart er 100 % gjenomsiktig, mens hvit er det motsatte. Denne informasjonen kan også lagres i alpha kanalen til bildet om du bruker et filformat med støtte for dette. Et standard matte / gråskala gir oss mulighet til å skille deler av bildet, f.eks bakgrunn fra resten.

Material / Object ID

Der et matte pass gir oss mulighet til å separere deler av bildet vårt, vil et material / object id pass gi oss kontroll helt ned på material / objekt nivå. For at et sånt pass skal fungere må man gi de forskjellige materialene / objektene en id. Man kan så rendre ut dette passet som .RPF eller .RLA for å få tilgang til de enkelte materialer / objekter. Fordelen med et ID pass er at du kan ha alle matte passene i en fil, men derimot er ikke et id pass aliased. Trenger du antialiasing kan du sette opp flere vanlige matte pass, et for hvert objekt du trenger å separere ut.

Z-Depth

Z-depth pass brukes for å beskrive den tredje dimensjonen ('z' i et 'xyz' koordinatsystem). I likhet med matte pass er z-depth pass et gråskala bilder hvor pikselverdiene representerer pixelets avstand fra kamera. Punkt langt vekke fra kamera er mørke, for så å bli lysere jo nærmere kamera de befinner seg. Et z-depth pass kan brukes til å simulere DOF (depth-of-field) effekter, kontrollere haze og fog.

For å simulere DOF effekt kan du legge til blur på bildet ditt når du komponerer, og så bruke z-depth passet som maske til blur layeret ditt. Dette gir deg mulighet til å kontrollere DOF effekten.

For å simulere haze / fog legger du til en farge eller smoke på bildet ditt, og så bruker du z-depth passet til å kontrollere hvor og hvor mye av effekten du vil ha.

Det som er viktig å huske på når vi rendrer ut et z-depth pass er at vi setter klippingen riktig. Hvor skal vi begynne å hente informasjon, og hvor skal vi slutte? For å finne ut dette kan vi velge kameraet vårt, huke av "manual clip" og justere min / max verdiene inntil vi har dekket området vi ønsker å rendre z-depth informasjon om. Når vi har funnet en minimum og maksimum verdi setter vi disse inn i z-depth parameter feltet i "Render Elements Dialogen".

Husk use filtering for å unngå aliasing på passet.

Du kan også velge "material override" og bruke et "Standard materiale for å få raskere rendering. Dette fordi vi ikke trenger refleksjoner og lignende når vi skal rendre ut z-depth.

Shadow

Dette passet dekker skygger som blir kastet av et objekt, samt skygger som blir kastet et objekt. Ved å ha skyggene i et eget pass kan vi justere intensiteten, blur og farge på de.

Husk use filtering for å unngå aliasing på passet.

Du kan også velge "material override" og bruke et "Standard materiale for å få raskere rendering. Dette fordi vi ikke trenger refleksjoner og lignende når vi skal rendre ut z-depth.

Oppsummering

Dette var altså en kort gjenomgang av forskjellige passes. Noen programmer har varianter av disse som gjør at du kan dele opp bildet i enda flere detaljer om det trengs. Det man må huske på at når man rendrer ut i lag / passes må disse på et tidspunkt settes sammen igjen. Dette kalles compositing, og er et såpass omfattende emne at bare en "rask introduksjon til compositing" krever en helt egen artikkel :)

Tagged as : 3d-artikler