Voorwoord Met liefde voor computers en tekenen is het hele 3D-proces begonnen. Na een lerarenopleiding tekenen aan de Hoge School Rotterdam & Omstreken te hebben doorlopen, ontstond begin jaren ‘90 de computerrevolutie. De keuze voor de vervolgopleiding was eenvoudig gemaakt. De Hoge School voor de Kunsten Utrecht, faculteit beeld- en mediatechnologie, gelegen in Hilversum, bleek op mijn persoonlijke wensen aan te sluiten. Deze opleiding heeft mij ontwikkeld tot een ‘evangelist’ op het gebied van multimedia. Al in het begin van de opleiding was de voorkeur voor 3D aanwezig. Newtek Lightwave is het eerste softwarepakket waarmee de 3D studie in begonnen werd. Tijdens deze opleiding heb ik kennis opgedaan en gewerkt in een aantal softwarepakketten. De software bevatte onder andere Adobe Photoshop, Adobe
Premiere, Adobe After Effects, Softimage, Autodesk Maya en Newtek Lightwave. Na de afronding van de opleiding in 2001 startte ik mijn eigen eenmanszaak LookAVision. Binnen LookAvision heb ik voornamelijk presentatieprojecten uitgevoerd. Daarnaast heb ik de leercurve van het 3D-traject voortgezet. Het 3D-traject dat continue onder ontwikkeling is, vond in eerste instantie binnen Newtek Lightwave plaats. De onderzoeken die binnen Newtek
Lightwave hebben plaatsgevonden, zijn voornamelijk op de volgende gebieden geweest. Modeling, texturing, rigging, animatie, dynamics, belichting en rendering. Op het modeling- en texturinggebied bleek Newtek Lightwave aan alle eisen te voldoen. In die periode heb ik voornamelijk het rigging- en het dynamicsproces onderzocht. Rigging en dynamics zijn de gebieden waarop Newtek Lightwave tekortschoot. Deze gereedschappen waren nog niet tot een zodanig niveau ontwikkeld, dat het proces soepel verliep. Autodesk Maya was een nieuwe hype waar binnen de 3D-gemeenschap positief op gereageerd werd. Ik besloot om die reden
Autodesk Maya te onderzoeken. Binnen Autodesk Maya bleek het riggingproces als ook het gebied van dynamics van een geavanceerd niveau te zijn. De pogingen om een karaktermodel van een goedwerkend skelet te voorzien werden hervat. Het modelen binnen Autodesk Maya bleek ruimschoots te voldoen aan alle eisen. Toch bleef voor mij het modelproces van Newtek
Lightwave de voorkeur genieten. Naast het feit dat ik gewend was te modelen binnen Newtek Lightwave, bleken de gereedschappen ook veel toegankelijker te zijn. Vanaf dit moment bevatte mijn 3D-onderzoek Newtek Lightwave als ook Autodesk Maya. De volgende fase binnen het 3D-onderzoek was om dieper op de belichting en renderengine in te
1
gaan. Het renderproces had zich nog slechts binnen Newtek Lightwave afgespeeld. Externe plug-in als Worley’s Fprime zijn daarbij onderzocht. Het renderproces dat binnen Newtek
Lightwave plaatsvond, stelde me zeer tevreden. Door het onderzoek in Autodesk Maya werd het eerste contact gelegd met de geïntegreerde ‘Mental ray’ renderengine.
Mental ray staat er
bekend om dat het de meest fysisch accurate renderengine is. Daarom wekte dit natuurlijke nieuwsgierigheid. Het modelen binnen Autodesk Autocad was voor mij ook een nieuw gebied. Hiermee was de toon voor een nieuw leertraject gezet. Ondertussen was Mental ray ook binnen Autodesk 3Ds.Max geïntegreerd. Ik heb daarom besloten een Autodesk Autocad 3D- en een Autodesk 3Ds.Max-cursus te volgen. Door het volgen
van
een
Autodesk
Autocad
3D-cursus
wilde
ik
bekend
worden
met
de
modelingtechnieken binnen Autodesk Autocad. De modelingtechnieken bleken binnen Autodesk
Autocad omslachtig te zijn. De conclusie kon snel getrokken worden, dat de nauwkeurigheid die Autodesk Autocad biedt niet opweegt tegen de omslachtigheid van het modelen. Autodesk 3Ds.Max bleek een grote verassing. De gereedschappen binnen Autodesk 3Ds.Max bleken ver ontwikkeld en toegankelijk te zijn. Ook voor degenen die niet de 3D-ervaring hebben, die ik heb opgedaan
in
de
afgelopen
jaren,
heeft
Autodesk 3Ds.Max, door zijn ontwikkelde
gereedschappenset, een korte leercurve. De onderzochte modeling-, texturing-, belichtings- en rendermogelijkheden overstegen ieder verwachting. Met de opgedane kennis heb ik besloten om het belichtinggebied binnen Autodesk 3Ds.Max en de rendermogelijkheden binnen Mental ray tot in de puntjes te onderzoeken. Het resultaat van dit onderzoek, is het onderzoek dat hier voor u ligt. De opzet van het onderzoek is om een Nederlandstalige samenvatting te maken van de belichtingsmogelijkheden binnen Autodesk
3Ds.Max en daarnaast een interieureender te maken met ‘Mental ray’. Voor het ‘Mental ray’onderzoek heb ik gekozen om dit binnen Autodesk Maya te doen. De keuze viel daarbij op ‘Autodesk Maya’, vanwege het feit dat ‘Mental ray’ eerder binnen Autodesk Maya geïntegreerd is. Sommige ‘Photon’eigenschappen brengen, binnen ‘Mental ray’ in Autodesk Maya, subtiele nuance met zich mee in vergelijking met het gebruik van ‘Mental ray’ binnen Autodesk 3Ds.Max. Het mag duidelijk zijn, dat een in Autodesk 3Ds.Max opgebouwd model, dat voorzien is van
Mental ray’-shaders , door middel van het FBX-exportbestand, binnen Autodesk Maya te renderen is.
2
Ten slotte wil ik hier graag van de mogelijkheid gebruik maken mijn dank te zeggen aan de personen die mij gedurende het hele 3D-traject hebben gesteund. Ik heb ontzettend veel opgestoken van dit onderzoek en de voornoemde cursus. Als eerste gaat mijn dank uit naar J.A.J Czudowski, mijn vader die deze studie en het daaropvolgende onderzoek voor mij mogelijk heeft [hebben] gemaakt. Vervolgens gaat mijn dank uit naar Sven Neve die mij heeft geïntroduceerd met Lightwave. Dan wil ik ook mijn dank betuigen aan Ronald Boeklagen, die mij met Autodesk Autocad bekend heeft gemaakt en mij begeleid heeft tijdens het onderzoek. Tot slot is Jean-Pierre van Gastel een grote invloed geweest. Hij heeft mijn eigenwijze ogen doen openen wat betreft de mogelijkheden van Autodesk 3Ds.Max. Als allerlaatste een big thumbs up voor Michelle Schmit , mijn vriendin, je bent een fantastische spellingscontrole.
Rest mij alleen nog te zeggen: veel 3D-plezier!
3
Samenvatting
Het werkstuk is geschreven met het idee een overzicht te geven van de verschillende lichttypen en render engines binnen Autodesk 3Ds.Max. Het doel is om de verschillende eigenschappen te bespreken en te verduidelijken, zodat makkelijker een keuze gemaakt kan worden tussen de verschillende benaderingen. In het eerste onderdeel zal ik de belangrijke punten bespreken, waar rekening mee dient te worden gehouden binnen elk project. Vervolgens worden de verschillende lichtbrontypen binnen Autodesk 3Ds.Max. benoemd en besproken. In het daaropvolgende onderdeel komen lichtweerkaatsingen aan bod . Daarbij zal de aandacht worden besteed aan de 'Radiosity' engine. Tot slot wordt een interieurrender gemaakt binnen
Autodesk Maya. Binnen dit onderzoek wordt gebruik gemaakt van de ‘Mental ray’ render engine. Daarbij worden verschillende materiaaleigenschappen besproken. Het onderzoek zal eindigen met een kleur- en occlusionrenderlaag, die binnen Adobe Photoshop worden samengesteld. Daarmee is uiteindelijk het eindresultaat bereikt.
4
Conclusie Het volledige belichtingsonderzoek bestaat uit, intellingen die voornamelijk invloed hebben op de schaal en proportie. De belichtingmodificatie kan enkel, door de juiste startinstelling, in balans zijn. Aan de hand van de gekozen belichting, wordt de keuze van render engine bepaald. Er zijn verchillende mogelijkheden om, binnen de render engine, de rendertijd aan te passen.
5
Hoofdstuk 1: Belangrijke kernpunten
Inleiding Met het oog op de belichting bestaat Hoofdstuk 1 uit belangrijke kernpunten. Het model, schaal, proporties en de keuze van het output-bestandtype zijn belangrijke elementen waar op voorhanden rekening mee gehouden dient te worden. Het volledige belichtingsonderzoek bestaat uit, intellingen die voornamelijk invloed hebben op de schaal en proportie. De belichtingmodificatie kan enkel, door de juiste startinstelling, in balans zijn.
1.1 Het model Het model is, met betrekking tot de belichting, een belangrijke factor. Een correct model sluit op voorhand een hoop problemen uit. Wat de belichting betreft, is de beste modeling conclusie, dat het model, daar waar dit zich toelaat, uit een geheel dient te zijn. Bestaat het model niet uit een geheel, dan kan het licht, door ongewenste kieren en gleuven schijnen.
1.2 Schaal en proportie Binnen een architectonische visualisatieomgeving is schaal en proportie van groot belang. Binnen een Autodesk 3ds Max omgeving kan de proportie van het model worden gemaakt in elke denkbare afmeting. Het is aan te raden om de ‘system units’ op de standaard instelling te laten.
6
Ondanks het feit dat het sterk aan te raden is om de ‘System Unit Setup’ op de standaard instelling te laten staan, is de vrijheid aanwezig om binnen een project tussen de ‘Unit Setup’ over en weer te schakelen. Dit zorgt voor een grote mate van flexibiliteit en daardoor bestaat de mogelijkheid om het model binnen verschillende eenheden te bekijken.Binnen de Unit setup kan gekozen worden uit het metriek stelsel (Metric) of de US standaard (US Standard). Ook is de mogelijkheid aanwezig om een eigen (Custom) waarde in te voeren.
Hieronder volgt een voorbeeld van het over en weer schakelen tussen de eenheden. Bij het ontwerpen van gebouwen zal een Amerikaanse modelbouwer de ‘US standard ‘eenheden aanhouden. In Europa maakt men gebruik van het metrieke eenhedenstelsel. Om te vergelijken wat de afmetingen binnen het metrieke stelsel zijn, kan door het metrieke stelsel te selecteren omgeschakeld worden van US standaard naar metriek. Vervolgens is het geen probleem om naar de ‘ US standard’ terug te schakelen .
7
1.3 Schaal versus belichting. Binnen de belichting van de scène kan de schaal een belangrijke factor zijn. Is de scène op wereldschaal gemaakt, dan komt de kwaliteit van het Photometric lichttype het best naar voren. Hetzelfde geldt, wanneer voor de belichting ‘Radiosity’ wordt gebruikt . Het belang van de schaal in samenhang met de belichting zal ik nader toelchten. Een BMW speelgoedauto heeft, wat de proportie betreft, de afmeting van een BMW. De proportie klopt. Wat niet met de werkelijkheid overeenkomt is de afmeting. Wordt het model binnen een op wereldschaal gebaseerde omgeving belicht, dan heeft het uiterlijk een speelgoedachtig karakter.
1.4 Geometrie importeren en verschalen. Binnen Autodesk 3ds Max geometrie importeren dat van ander 3d software afkomstig is, heeft vaak tot gevolg dat deze in een verkeerde schaal binnenkomt. Een oplossing is binnen Autodesk 3ds Max een dummy object met de juiste afmetingen maken. Nu is het eenvoudig de geïmporteerde geometrie aan de hand van de dummy naar de juiste afmeting te schalen. Na het schalen is het klikken op ‘Reset Transforms’ binnen de ‘Hyarchie Panel ‘een belangrijke stap.
Autodesk 3ds Max onthoudt de schaalpercentage van het object. Bijvoorbeeld: Verschaal een model van 100% naar 150%, druk vervolgens de ‘reset transform’ knop in, dan wordt de 150% de nieuwe 100%.
8
1.5 Wereldafmetingen op bitmaps Is de wereldafmeting van een textuur bekend, dan kan de ‘Use Real World Scale’ functie gebruik worden om een object van een textuur te voorzien. Binnen de oude werkwijze, waarin voor het bedekken van een object naadloze texturen worden gebruikt, is er vaak sprake van gokwerk om de afmeting te bepalen . Het nadeel is dat dit extra rendertijd kost voor de testrenders. De functie ‘Use Real World Scale’ die binnen de materiaal editor te vinden is, voorkomt deze onnodige stappen.
De functie biedt de mogelijkheid om binnen de materiaal editor aan te geven hoe groot de textuur is. Het object dat met een textuur bedekt wordt is voorzien van een ‘UVW modifier’. Binnen de materiaal editor is de optie aanwezig om aan te gegeven dat
‘real world scale’
gebruikt wordt. Vervolgens wordt in de ‘UVW modifier’ ingesteld om dit te herkennen en toe te passen.
9
Om dit proces juist te laten verlopen zijn naadloze texturen noodzakkelijk. Het mooie binnen deze werkwijze is,
wanneer objecten van grootte veranderend de texturen niet worden
uitgerekt, maar extra worden toegevoegd. Het voordeel is dat de textuur op meerdere objecten in de scène geplaatst kan worden en dat de grootte overal identiek is. Men hoeft geen rekening te houden met de hoeveelheid ‘tiles’ die op locatie A is gebruikt, en dit ook weer in te schatten op locatie B, wanneer een aanpassing plaatsvind. Als we een object ‘modelen’ of voor het ‘modelen’ primitieven gebruiken, activeer dan ‘Real World Map Size’ om deze functie toe te passen.
10
1.6 ‘High dynamic range 32 bit floating point’ versus een 16 bit bestand
1.6.1 16‐bit Low dynamic range image Voorbeeld: Men neemt een pixel die puur wit is (waarde 0), middengrijstoon (waarde 120) en zwart (waarde 255). De reikwaarde van kleur valt tussen 0 en 255. Alles wat buiten deze waarden valt wordt afgekapt. Past men een helderheidcorrectie op een ‘low dynamic range’ 16 bit afbeelding toe dan worden deze 3 pixels evenredig omhoog gebracht. De witte pixel heeft
11
zijn maximale waarde binnen een 16 bit afbeelding bereikt. De grijze en zwarte pixel kunnen omhoog gebracht worden tot ze de maximale waarde van 0 bereikt hebben. De proportie tussen de zwarte en grijze pixel wordt behouden. Wordt vervolgens de helderheid
naar
beneden aangepast dan worden de pixels evenredig omlaag gebracht en zijn de proporties verloren.
Omdat de witte pixel aanvankelijk lichter was noemt men dit ‘clamped color’.
1.6.2 ‘High dynamic range image 32-bit floating point’ Het ‘High dynamic range’ image stelt ons tot nauwkeurige kleurcorrectie en ‘exposure’ controle in staat. Met ‘Hdri’ worden de kleuren nooit ingedrukt. De proporties waarbinnen de kleuren zich bevinden worden behouden. In dit voorbeeld onthoudt de witte pixel de proportie dat het witter is. Als de helderheid verhoogd wordt dan is de witte pixel in wezen nog witter dan de waarde van 0. Het is een goede werkwijze om in een ‘32 bit floating Point’ te beginnen, als
12
alles ingesteld is kan deze 32 bit afbeelding als nog naar een 16 bit plaatje worden teruggebracht. Het indrukken van de kleurwaarden gebeurd dan proportioneel.
Hoofdstuk 2: Autodesk 3ds.Max en de lichtbronnen
2.1 Standaard 3ds Max lichtenbronnen en ‘Far attenuation’.
13
Of er aan een interne of aan een externe scène gewerkt wordt, de ‘Far attenuation’ instelling is één van de belangrijkste instellingen voor het nastreven van een fotorealistische render output. Lichtstralen die van een lichtbron komen, nemen gelijk in sterkte af. De ‘start’ waarde op 0 ingesteld hebben, is voor het nastreven van realisme belangrijk. Vervolgens kan met de ‘end’ instelling bepaald worden tot hoe ver het licht reikt. Van ‘Far attenuation’ gebruik maken zorgt dat de render sneller verloopt. Dit is een zeldzame bijkomstigheid, omdat instellingen die ervoor zorgen dat de render er beter uitziet, altijd resulteren in een langere rendertijd. Omdat in gebieden die buiten de ‘Far attenuation’ vallen geen schaduwen berekend hoeven te worden, is de rendertijd een stuk korter. Gebruik daarom voor elk niet natuurlijk lichttype ‘Far attenuation’. De enige lichtbron waar dit niet voor wordt gebruikt, is als zonlicht wordt gesimuleerd.
2.2 Lighttracer Lighttracer biedt een eenvoudige manier om indirecte belichting te simuleren. Lighttracer kan zowel op standaard als op photometric lichtbronnen toegepast worden. Voor beginners op het gebied van GI is lighttracer een simpele manier om lichtweerkaatsing in de scène te genereren.
De waarde die bij ‘Rays/Sample’ gekoppelde rendertijd.
wordt
ingevoerd bepaald de kwaliteit en de daaraan
Deze instelling beïnvloedt de kwaliteit en niet de kwantiteit van het
licht. Voor testrenders is het zinvol om de ‘Rays/Sample’ laag in te stellen. Filtersize is een ‘pixel
blur’ (gausian blur in photoshop) en kan worden gebruikt om vlekken in de render te
14
verwijderen. ‘Bounces’ is een instelling die de rendertijd drastisch verhoogt, houdt deze op 1 ( maximaal 2). Hogere waarden zullen weinig toevoegen en zijn niet zinvol. Objecten die een ‘self
illumination’ instelling hebben, schijnen door de ‘bounces’ instelling licht de scène in. Dit is een goede methode om objectgebaseerde belichting te creëren.
2.3 Logaritmisch exposure controle Binnen de ‘environment rollout’ vinden we de ‘logaritmisch exposure’ controle. Gebruik maken van de ‘automatische exposure’ controle is niet aan te raden, omdat de exposure dan automatisch door 3ds Max wordt ingesteld en de controle verloren gaat. In een animatie waar een wit object het frame binnenkomt zal de ‘exposure’ en daarmee de omgeving zich hier automatisch aan aanpassen. Daarom is ‘automatische exposure’ binnen een animatie omgeving niet de juiste keuze. ‘Lineair exposure’ werkt op eenzelfde manier, maar deze functie is minder geautomatiseerd. Wordt er gebrui k gemaakt van ‘standard ‘of ‘photometric’ Max lichtbronnen met of zonder ‘Light Tracer’ of ‘Radiosity’, dan is ‘logaritmische exposure’ controle zinvol. Wordt de render in een ‘post’ proces binnen‘after effects’ of ‘photoshop’
beïnvloed,
is dit
waarschijnlijk niet de beste optie. De optie beïnvloedt de kwaliteit van de belichting in en bouwt een kleurcorrectie binnen de render in. Bij het gebruik van standaard lichtbronnen wordt de‘physical scale’ waarde in ‘candelas’ uitgedrukt.
15
2.4 ‘Photometric lights’ Dit lichttype is niet afhankelijk van ‘Radiosity’. ‘Radiosity’ gebruikt de energie van een lichtbron om zijn berekeningen te maken. Daarom is bij ‘Radiosity’ een lichttype nodig waar de af te geven energiewaarde in te stellen zijn. Uiteraard kan een standaard lichtbron gebruikt worden om de ‘Radiosity’ berekening te maken. Nadeel is dat er bij een standaard lichtbron weinig lichtcontrole is. Een ‘Photometric’ lichtbron biedt de benodigde controle en daarbij de mogelijkheid een ongelimiteerd aantal fysisch accurate lichten te creëren. Bij het gebruik van het ‘Photometric’ lichttype is de keuze van ‘Render Engine’ is niet belangrijk. Wel belangrijk is, dat de wereldafmetingen worden gebruikt. Door de ‘templates’ die ‘Photometric’ lichtbronnen hebben wordt de ‘attenuation’ automatisch en natuurgetrouw ingesteld. In combinatie met de wereldschaal levert dit een fotorealistisch plaatje op. Dit lichttype is niet beter dan het standaard Max lichttype, het is een ander soort lichttype. In wezen zijn ze makkelijker in gebruik dan de standaard lichtbronnen. Dit omdat de ‘templates’ automatisch de ‘attenuation’ instellen, in tegenstelling tot de standaard lichtbronnen waar alles zelf met de hand moeten worden ingesteld. Dit lichttype kan tevens gebruik maken van een webdistributie. Dit houdt in dat men een ‘IEES’ file kan inladen . Dit is een tekst file die door de lichtfabrikant wordt aangeleverd. Als men deze inlaadt, zorgt dit dat de lichtbron de vorm krijgt die in de ‘IEES’ file beschreven staat. 'Photometrische’ lichbronnen zijn speciale lichtbronnen met opgenomen eigenschappen die het fysische karakter van de lichtbron beschrijven. De fysische eigenschappen van een ‘Photometric’ lichtbron zijn: Het distributietype, kleur en intensiteit van de lichtbron. Deze waarden bepalen de fysische eigenschappen van het licht dat in de ‘Radiosity
Engine’ gebruikt wordt. Om een scène te belichten kan uit de volgende 3 typen ‘Photometric’ licht worden gekozen. Te weten: •
‘Point’-licht: dit licht werpt de lichtstralen vanaf een punt alle richtingen op de ruimte in . Dit type licht kan als een lichtbulp of als een spotlight toegepast worden.
•
‘Linear’-licht: werpt het licht over een axis uit, ideaal om bij TL buis belichting te gebruiken.
•
‘Area’-licht: werpt licht vanuit een plat vierkant, ideaal om voor een plat lichtpaneel te gebruiken.
16
2.4.1 ‘The Photometric Light Properties’ ‘Photometric’ licht deelt veel opties met de standaard belichting. ‘Shadow parameters’,
‘Atmosphere & Effects’ en ‘Advanced Effects’ zijn de gemeenschappelijke eigenschappen tussen Standaard en ‘Photometric’ belichting. Om dit lichttype correct te kunnen gebruiken zijn er enkele eigenschappen om rekening mee te houden.
2.4.2 De tab ‘Algemene eigenschappen’ Door de lichtbron te selecteren en de ‘modify’ Tab te kiezen komen we binnen de algemene eigenschappen. De ‘general properties’ tab bevat 3 hoofd onderdelen, te weten: •
light type: type van de lichtbron;
•
shadows: beschrijft het type schaduwen die we voor de lichtbron geselecteerd kunnen worden;
•
exclude: dit opent een dialoog venster waar kan worden aangeven welke onderdelen in de scène door het gekozen licht worden beïnvloed.
2.4.3 Licht type Het gekozen licht kan binnen dit gebied aan of uit gezet worden, Ook kan hier het type lichtbron
worden
geselecteerd
(Free
of
Target).
Voor
het
grootste
deel
van
de
belichtingstoepassingen worden ‘Free’ lichtbronnen gebruikt. De ’Target’ lichtbron heeft voor de belichting een mikpunt (‘target’) en wordt gebruikt als een lichtbron een object volgt.
2.4.4 Shadows De schaduwen van de gekozen lichtbron kunnen binnen dit gebied aan of uit worden gezet. Ook kan het schaduwtype hier worden veranderd. Er zijn 4 typen shadows, te weten:
17
•
Area Shadows: werpt schaduw vanuit een grote solide lichtbron. Ideaal te gebruiken bij lichtpanelen.
•
Advanced Ray Traced Shadows: dit schaduwtype bied zachte schaduwranden en maakt tijdens het renderen beter gebruik van het systeemgeheugen. Dit is een update van de ‘Ray Traced shadows’ type. Gebruik dit type als het standaard schaduwtype. ‘Advanced Ray Traced Shadows’ werkt bijna in alle situaties waar je geen area shadows nodig hebt.
•
Shadow Map: representeert de traditionele manier om schaduwen te genereren. Het maakt gebruik van een image map voor de schaduwbron. Dit is een snelle manier om globale schaduwen te renderen maar is niet zo flexibel als ‘Advanced Ray Traced
Shadows’. •
Ray-traced Shadows: Om globale schaduwen weer te geven wordt dit type gebruikt. De randen van de schaduw zijn erg hard.
2.4.4.1 AREA SHADOW
18
Kiest men in het ‘shadow type’ veld voor ‘Area shadows’ dan verschijnt een Tab met instellingen. ‘Area shadows’ biedt de mogelijkheid schaduwen te genereren alsof deze vanaf een vast object Er zijn 3 opties binnen de ‘Area shadows’ Tab, te weten:
‘Basic opties’ ‘Antialiasing opties’ ‘Area Light dimensies’
19
2.4.4.2 ‘Basic options’ Binnen dit gebied kan de modus van het licht gekozen worden als ook de ‘2 sided shadows’ optie. De modus opties zijn: •
‘Simple’: werpt een enkele straal vanuit de lichtbron richting het oppervlakte en verschaft geen omgevingslichtcalculaties. Dit is perfect voor testrenders als snelheid belangrijker is dan kwaliteit.
•
‘Rectangle’: zorgt dat het licht zijn schaduw werpt alsof het licht afkomstig is vanuit een plat rechthoekig oppervlak. Dit werkt goed voor vlakke lichtpanelen.
•
‘Disc’: zorgt ervoor dat de lichtbron zijn schaduw werpt alsof de lichtbron een platte schijf is. Dit werkt goed voor ronde lichtbronnen.
•
‘Box’: een 3D lichtvorm dat zijn schaduw werpt alsof de lichtbron een doos is met lengte, breedte en hoogte.
•
‘Sphere’: een 3D lichtvorm dat zijn schaduw werpt alsof de lichtbron een bol is met lengte, breedte en hoogte. Werkt goed voor licht dat in een straatlamp gebruikt wordt
‘2 sides shadows’: met deze optie
werpt zowel de voor en ook de achter ‘face’ van de
‘polygon’ schaduw. Deze optie wordt gebruikt bij dikke objecten die uit een ‘polygon’ bestaan zoals gordijnen, kleding en glas. ‘Antialiasing Options’ De schaduw die door een object wordt geworpen bestaat uit 2 onderdelen. De ‘Umbra’ en de ‘Penumbra’. ‘Area light Dimensions’ Binnen dit gebied kan de omvang van de ‘area shadow’ oppervlakte stelt worden. We kunnen we de lengte hoogte en breedte in units bepalen en verder werken met de lichtbron locale axis.
‘Umbra’ en ‘Penumbra’ ‘Umbra’: dit is het gedeelte dat zich in het volledige schaduwgebied bevindt.
20
‘Penumbra’: het gebied dat om de ‘Umbra’ heen zit noemen wij de ‘Penumbra’. De’ Penumbra’ is een gebied dat in gradaties is opgedeeld. Deze gradatie loopt van het schaduwgedeelte naar het lichtgedeelte toe.
•
Pass 1 Quality: bepaald in de eerste bundel uitgestoten lichtstralen het aantal lichtstralen waardoor de schaduwen worden berekend. Deze stralen schieten van het oppervlak van de lichtbron. De hoeveelheid stralen is bepaald door de kwaliteit waarden. Dit is de primaire controle om schaduwen te werpen op kleine objecten en de kleine ruimtes tussen objecten. Als de schaduwen van kleine objecten in je scène ontbreken probeer dan de Pass 1 Quality per stap te verhogen. Verhoog deze setting ook als de ‘penumbra’ blokkerig overkomt.
•
Pass 2 Quality: bepaald de kwaliteit van de tweede bundel uitgestoten lichtstralen. Deze stralen worden vanuit elke punt het ‘penumbra’ gebied in geschoten. De pass 2 kwaliteit hoort altijd hoger te zijn dan de pass 1 kwaliteit. Dit omdat de secundaire stralen de stralen van laag 1 bedekken. Verhoog de pass 2 kwaliteit om banden/stroken in de ‘penumbra’ op te lossen, en elimineer het ruispatroon dat door ‘jittering’ ontstaan is.
•
Blur: bepaald de radius in pixels die nodig is om de antialiased rand te bluren. Een hoge waarde brengt een hoger kwaliteit met zich mee. Het verhogen van deze warden kan ertoe lijden dat de schaduwen van kleine objecten verdwijnen, het is dan nodig de kwaliteit van pass 1 te verhogen.
21
•
Ray Bias: bepaald de minimale afstand dat een object moet hebben van het punt dat geschaduwd is. Dit voorkomt dat blurred shadows objecten beïnvloeden waar ze niet thuishoren. Des te hoger de blur is des te hoger is de bias voor de schaduw.
•
Jitter Amount: bepaald hoeveel willekeurigheid in de positie van de stralen te stoppen. De stralen zijn als ze gecreëerd worden in een regelmatig patroon, dit kan zichtbaar worden in het blury gedeelte van de schaduw als regelmatige artefacten. Jittering converteert deze artefacten naar noise wat minder eenvoudig is waar te nemen door het menselijk oog. Aanbevolen waardes liggen tussen 0.25 en 1.0.
2.4.5 ‘Advanced Ray-traced shadows’ Deze tab is alleen zichtbaar als de advanced ray traced methode in de shadow tab geselecteerd is. ‘Advanced ray-traced shadows’ zijn similar in functie als de ‘Area shadows’. Echter is de schaduw bron en punt niet een oppervlakte. Het verschil wordt zichtbaar in de modus dropdown lijst •
Simple: te vergelijken met de simple modus in de area schaduw modus
•
1 pass antialias: verspreid een enkele bundel lichtstralen. Het aantal stralen wordt bepaald door de pass 1 quality spinner [in max 2008 kan deze niet worden aangepast]
•
2 pass antialias: verspreid 2 bundels stralen. De eerste bundel bepaald of de punt in kwestie volledig belicht is, schaduw is of in het penumbra gedeelte van de schaduw ligt. Als het punt in de penumbra ligt wordt een 2de straal verspreid om de rand verder te definiëren. Het aantal stralen dat verspreid wordt kunnen we bepalen met de 2 pass quality spinner.
2.4.5.1 Optimizations
22
De optimization tab geeft ons toegang tot een paar opties allemaal ontwikkeld om het render progres te versnellen. Transparent Shadows: als deze optie aanstaat, zal een transparant oppervlakte, een juist gekleurde schaduw werpen. Als deze optie uitstaat zijn alle schaduwen zwart wat de rendering versnelt. Antialiasing Treshold:
het maximale kleurverschil toegestaan tussen transparante object
samples voordat we gaan antaliasen. De waarde van deze kleur verhogen zal de schaduwen minder gevoelig maken voor aliasing artefacten en de snelheid verhogen. De waarde van deze kleur verlagen zal de schaduwen gevoeliger maken en de kwaliteit verbeteren ten kosten van render snelheid. Supersampled Material: als de antialiase pass 2 aanstaat, en de render is bezig een supersampled materiaal te shaden word alleen pass 1 gebruikt. Als deze optie uitstaat kan het de rendertijd beïnvloeden maar niet resulteren in een beter plaatje. Reflect/Refract: als de antialiase pass 2 aanstaat, en de render bezig is reflecties refracties te shaden word alleen pass 1 gebruikt. Als deze optie uitstaat kan het de rendertijd beïnvloeden maar niet resulteren in een beter plaatje.
23
Skip Coplanar Faces:
bepaald de hoek waarbinnen coplanar faces worden genegeerd
door de render. 0.0 = Loodrect
1.0 = parallel
2.4.5.2 Intensity/Color/Distribution Tab.
Deze tab bevat de fysische eigenschappen van de lichtbron. Distribution, color en intensity zijn de 3 belangrijke gebieden. Distribution: de distributie van een pointlight kan volgens 3 manieren plaatsvinden. Isotrophic, Spot en Web. Linear en Area lichten maken gebruik van diffuse en Web distributie types. •
ISOTROPHIC: distribueert het licht gelijkmatig vanuit een een punt in alle richtingen. Deze lichtbron werk goed voor het gebruik van een generale lichtbulp
•
SPOT: wekt als een standaard spotlight met een directionele kegel. Er zijn opties voor de hoek van de binnen en buiten kegel. We gebruiken dit type lichtbron overal waar we een directe lichtbron nodig hebben.
•
DIFFUSE: verdeelt het licht gelijkmatig over de oppervlakte van een uitgelicht gebied. De diffuse optie is alleen beschikbaar voor linear en area lichten. Diffuse is de standaard instelling.
24
•
WEB: dit is een Unique distributie patroon exclusief voor photometric lichttypen. Een IES file kan ingeladen worden. Een photometric web of IES file beschrijft de distributie van het licht. De lichtfabrikant levert deze IES waarden mee met zijn lampen.
Color and Color Temperature. De kleur van een photometric lichtbron is afgeleid van de kleur temperatuur. Color Temperature is een meeting die word afgebeeld in de eenheid Kelvin De dropdown lijst in dit gebied verschaft ons een paar standaard kleurwaarden. Mocht je de kleur willen aanpassen dan kan dit door een bepaalde kleurtemperatuur in Kelvin in voeren. Vink dan aan de linkerkant van Kelvin het bolletje aan. Aan de rechterkant van Kelvin kunnen we dan de waarde invoeren. Voor een diepe studie over kleurtheorie en lichttemperatuur kan je het volgende adres bezoeken. http://www.cybercollege.com/tvp028.htm FILTER COLOR De filter color waarde is ontworpen als een gekleurde gel voor het licht. De echte waarde van het licht is afgeleid van de kleurtemperatuur waarde. Gebruik de color filter om het licht een gewenste kleur te geven. INTENSITY De intensiteit van een photometric lichtbron wordt bepaald door gebruik te maken van verschillende methodes. Een 150-watt halogen en een 150-watt tungsten lichtbron verspreiden in de echte wereld niet dezelfde hoeveelheid lichtenergie. De lichtfabrikant specificeert de lichtverspreiding van het product http://idrop.autodesk.com/manu.htm op dit adres kunnen we de fabrikanten vinden die autodesk ondersteunen. Er zijn 3 mogelijkheden om de intensiteit waarden van licht in uit te drukken. •
Luminous Flux (lm) : meet de totale licht productie in Lumens (Lm)
25
•
Luminous Intensity (cd): meet de maximale licht productie van een lamps rood in Candelas (cd)
•
Illuminance at a distance (lx at):Meet de intensiteit dat door het licht veroorzaakt word, terwijl het vanuit een bepaalde afstand op een oppervlak schijnt dat de zelfde richting als het licht heeft. Dit wordt uitgedrukt in lux (lx). De afstand wordt gemeent in de eenheden die voor de scène zijn ingesteld.
De multipier is een waarde in percentage dat die normale intensiteit waarde overschrijft
26
Hoofdstuk 3: ‘Radiosity’
3.1 inleiding Radiosity ‘Radiosity’ werd voornamelijk binnen 3ds Max gebruikt toen de ‘Mental ray’s render engine nog niet was geïntegreerd. ‘Radiosity’ is een vervolg op ’Lightscape’, een plugin voor Autodesk 3ds. Max. Vanaf Autodesk 3ds.Max versie 7.5 is ‘Lightscape’ geïntegreerd en heet deze engine ‘Radiosity’. De ‘Radiosity’ wil gebruik maken van ‘algorithmic exposure’ controle vandaar dat de ‘algorithmic exposure’ controle knop binnen ‘Radiosity’ zichtbaar is.
Indirect light filtering komt overeen met de light filter in Light Tracer. ‘Radiosity’ werkt op een complete andere manier dan ‘Mental ray’, ‘Light Tracer’, ‘Final render’, ‘V-Ray’ en ‘Brazil’. Al deze render engines weerkaatsen licht in onze scène en berekenen dit per frame.
27
‘Radiosity’ maakt gebruik van ‘vertex-shading’. Dit is een complete andere benadering tot belichting. Wordt op de start knop gedrukt dan berekent ‘Radiosity’ de belichting in onze scène en toont de calculatie in de ‘viewport’. ‘Radiosity’ bakt de belichting in de vertices van de geometrie. Elke vertex in de geometrie krijgt een lichtwaarde toebedeeld. Dus een polygoon die uit 3 vertices bestaat produceert een gradiënt tussen de drie lichtwaarden van de vertices. Deze lichtgradiënt wordt over het materiaal toegepast. Wat ‘Radiosity’ interessant maakt is het feit dat onze geometrie verdeeld wordt om te kunnen bellichten. In de gebieden waar licht aanwezig is wordt de geometrie onderverdeeld. Een groot voordeel is dat deze calculatie maar een keer plaats vindt. Is de ‘Radiosity’ oplossing berekent dan wordt de belichtingsinformatie in de geometrie gebakken. Binnen het gebied van game-ontwikkeling zorgt het inbakken van de belichtingsgeometrie dat minder geheugen nodig is. Door deze eigenschap is ‘Radiosity’ een goede belichtingoplossing voor game-ontwikkelaars. Door zijn eigenschappen, is ‘Radiosity’ ideaal, binnen de architectonische visualisatieomgeving. De ‘Radiosity’calculatie wordt een keer berekend wat een ‘snap shot’ opleverd. Beschouw het ‘snap shot’ als een bevroren moment in de lichtberekening. Binnen een bevroren moment in de lichtberekening is, binnen een ruimte met een bewegende lichtbron, ‘Radiosity’ niet de juiste keuze. Voor archtitectonische visualisaties is dit een perfecte methode. De ‘Radiosity’ oplossing wordt een keer berekend.oploss waar we een impressie willen is het perfect het hoeft maar 1x berekend te worden en vervolgens zullen de andere frames fly through van camera uitzonderlijk snel renderen.
3.2 Doelen •
Begrijpen wat de voordelen zijn van het gebruik van Radiosity
•
Begrijpen hoe Photometric light en Assemblies te gebruiken
•
De basis concepten van radiosity begrijpen
•
Radiosity in je scene gebruiken
•
De basis onderdelen van de Radiosity engine begrijpen
•
Basis belichtings analyses uitvoeren
28
3.3 Introductie Dit gedeelte onderzoekt, het belang van de belichting voor, het tot stand brengen van een fotorealistische render. Binnen een 3D render is belichting altijd een van de moeilijkste componenten geweest. Vaak moest een proces van ‘trial and error’ ondergaan worden, om tot een accurate en natuurgetrouwe belichting te komen. Nu kan we de belichting geplaatst worden
en vervolgens kan de Radiosity engine de calculaties uitvoeren. Het resultaat is
gebaseerd op de fysische eigenschappen van licht. Nu kan bepaald worden, hoe realistisch de lichtbenadering in onze scène is.
3.4 Wat is Radiosity? Het proces dat lichtverspreiding binnen een omgeving simuleert heet ‘Radiosity’. De distributie en de kracht van het licht is afhankelijk van de wijze waarop de materialen de lichtenergie ontvangen en reflecteren. Binnen de Radiosity oplossing moet, de omgeving vanuit een ander perspectief benaderen worden. Denk aan een werkkamer in je thuisstudio, met stoel, bank, bureau en een paar licht armaturen aan het plafon. Beeld je in dat alle onderdelen zijn opgebouwd uit ‘object surfaces’. Dit objectoppervlak wordt verder onderverdeeld in kleinere sub onderdelen. Om het licht in de kamer te berekenen begint ‘Radiosity’ bij de lichtarmaturen. De lichtarmaturen geven licht aan de oppervlakten van de kamer af. De hoeveelheid licht dat een vertex raakt word berekend. Sommige oppervlakten zijn lichter dan andere, andere oppervlakten absorberen licht en andere reflecteren het licht. In de volgende stap wordt berekend hoe het licht vanaf de door het directe licht belichtte oppervlakten reflecteert. Deze berekening begint bij de oppervlakten die het meeste licht terug reflecteren. De ‘Radiosity’ engine gebruikt dit oppervlak als een lichtbron die het kaatsende licht verder verdelen over de oppervlakte-elementen binnen de kamer. Dit proces wordt herhaald, tot bijna al de lichtenergie dat van de lichtarmaturen afkomt, verbruikt is. Is deze calculatie klaar dan kan er gerenderd worden.
29
3.5 Voordelen van Radiosity Het gebruik van ‘Radiosity’ heeft veel voordelen over het gebruik van traditionele 3d belichting ‘Radiosity’ voorziet in een accurate methode om een oppervlakte uit te lichten. ‘Radiosity’ neemt in zijn berekening de verspreiding van reflecties, uitlopen van kleuren, realistische en zachte schaduwen mee. Een groot voordeel is dat de ‘Radiosity’berekening wordt opgeslagen in de geometrie. Dit betekent dat de ‘Radiosity’berekening enkel een keer wordt uitgevoerd, eenmaal berekend kunnen wij vanuit elke camerastandpunt een render maken. De onderstaand illustraties hebben exact dezelfde licht plaatsing. Het linker plaatje is gerenderd zonder ‘Radiosity’. Het rechter plaatje is gerenderd met behulp van ‘Radiosity’. Daardoor is de lichtreflectie zichtbaar op het plafon en de meubelen.
3.6 Radiosity binnen de render scène dialoog Er zijn 2 methodes om ‘Radiosity’ te initialiseren. De eerste is om de oplossing te laten berekenen tijdens de rendering, deze wordt geselecteerd in de render scène dialoog. De tweede optie is om de ‘Radiosity’oplossing handmatig te selecteren, dit maakt het mogelijk een ‘Radiosity’oplossing te genereren voordat de uiteindelijke render wordt uitvoerd. Deze instelling is binnen het ‘Radiosity’dialoogbox te vinden Door in de render scène dialoog de optie ‘Compute Radiosity (advanced lightning) when
Required’ aan te vinken creëren we een ‘Radiosity’oplossing gedurende de render. De ‘use Radiosity / Advanced lightning’ ‘ optie moet ook aanstaan. Anders wordt de ‘Radiosity’oplossing gegenereerd en zal de oplossing niet binnen de render zichtbaar zijn.
30
3.7 Radiosity dialoog box De’ Radiosity’ settings kunnen in de ‘scanline’ render worden benaderd door naar de rendering tab te gaan >> advanced lightning >> Radiosity te kiezen. Om een ‘Radiosity’berekening te starten klik op start binnen de Radiosity Processing Parameters. Het Radiosity dialoog venster bevat veel opties die later binnrn dit onderzoek behandeld worden.
31
3.8 Een Radiosity oplossing genereren De illustratie toont een scène zonder de ‘Radiosity’ calculatie.
Klik op start in de ‘Radiosity Processing Parameters’. Als de ‘Radiosity’calculatie binnen een scène is gestart , worden de objecten in elementen onderverdeeld. Elke element ontvangt zijn eigen lichtberekening. Het eindresultaat is geometrie met een ‘Radiosity’calculatie.
De belichtingscalculatie wordt als een ‘vertex/ kleur in de geometrie opgeslagen. Dit stelt ons in staat de ‘Radiosity’oplossing vanuit verschillende hoeken te bekijken zonder deze weer te moeten berekenen. Een ander voordeel van het opslaan van de ‘Radiosity’berekening in de
32
geometrie is het feit dat de calculatie wordt opgeslagen in het bestand. Na het sluiten en het heropenen van dit bestand hoeft de calculatie niet opnieuw te worden berekend.
3.9 Het gebruik maken van de Radiosity engine We zijn nu bewust, van het feit dat ‘Radiosity’ gebruik maakt, van lichtenergie om accuraat te simuleren hoe het licht reageert binnen een omgeving. Nu wordt onderzocht, hoe controle te krijgen over de ‘Radiosity’calculatie. De ‘Radiosity’ engine past de calculatie op een interne kopie van je scènemodel toe. Dit kopie is een foto van ons scènebestand. De ‘Radiosity’oplossing wordt door middel van vertexkleuren aan het model in de scène toegevoegd. Type van belichting, de intensiteit van de belichting, oppervlakte eigenschappen als kleur en doorzichtigheid, en de schaal van het object in de scène hebben invloed op de oplossing van de Radiosity calculatie
Vertexkleur definitie:
Elke polygon bestaat uit twee face’s, elke face bestaat dus uit 3 vertices die het model verbinden. Elke vertex bevat informatie over zichzelf. Kleur is een van de parameters. Als aan een vertex een specifieke kleur toegediend wordt, dan kan deze kleur worden weergegeven in de ‘shaded view’. Deze toegevoegde kleurwaarden wordt gebruikt als de scène gerenderd wordt.
33
3.10 Belangrijke opties binnen het Radiosity dialoog Binnen dit gebied kan de kwaliteit van de ‘Radiosity’berekening op scène niveau worden insteld. Er zijn verschillende manieren om op het niveau van individuele objecten, de kwaliteit te verbeteren. Maar in dit gebied wordt de globale kwaliteit ingesteld. De ‘Radiosity’ dialoogbox
bevat een aantal tabs met componenten die begrepen moeten
worden om tot een goede berekening te komen. Te weten: •
Select Radiosity
•
Radiosity Processing Parameters
•
Radiosity Meshing Parameters
•
Light Painting
•
Rendering Parameters
•
Statistics
Select radiosity tab Deze tab heeft 2 opties: een ‘dropdown’ lijst en een optie om de ‘Radiosity’ actief te maken. Oorspronkelijk is de ‘Radiosity’ engine ontwikkeld als een plugin LightScape, het is daarom mogelijk dat er ook andere ‘Radiosity’ engines ontwikkeld zijn. Daarom is het mogelijk in het dropdown menu een Radiosity engine te kiezen. Met de ‘Active’ vink is het mogelijk de geselecteerde ‘Radiosity’ engine aan of uit te zetten.
34
3.11 Radiosity Processing Parameters Dit menu bevat een aantal opties die de kwaliteit van de ‘Radiosity’berekening beïnvloeden. De 2 gebieden in dit menu zijn de ‘Process’ en ‘Interactive Tools’. Het ‘process’ gebied bevat een aantal opties die we later gaan behandelen. Met de knoppen kan de ‘Radiosity’berekening starten, stoppen en resetten. De ‘progress bar’ geeft een indicatie in welke mate de calculatie is berekend.
Process Gebied •
Reset all: Resets the ‘Radiosity’berekening en resets de geometrie, het reseten van de geometrie is noodzakelijk als we een object in de scène verplaatsen. De berekende Radiosity calculatie is dan niet meer geldig en moeten we de geometrie op deze wijze resetten.
•
Reset: Deze optie resets alleen de berekening. Als wij een materiaal of de intensiteit van het licht veranderen dan gebruiken wij deze optie.
•
Start: Met deze optie wordt de op ‘Radiosity’oplossing de berekening van de
•
Stop: met deze optie beëindigen we de berekening van de Radiosity oplossing
•
Initial Quality: De engine stopt met het berekenen van de oplossing als de ingevulde kwaliteit bereikt is. Hoe hoger de kwaliteit ingesteld is des te langer duurt de berekening. Initial Quality is de eerste berekeningsstap die de engine aan de scène toevoegt. De engine schiet stralen licht vanuit de lichtbronnen. Als deze lichtstralen in de scène weerkaatsen laten zij energie achter op de faces.
•
Refine Iterations (All Objects): bepaald het aantal herhalingen voor de gehele scène. We kunnen de herhalingsparameter naar eigen keuze invullen. Dit is een foutreductie proces ontwikkeld om de variatie in belichting waarden tussen kleine oppervlakten te reduceren.
35
•
Refine Iterations (Selected Objects): voert de zelfde functie uit als Refine Iterations (All Objects) maar berekend dit op het huidig geselecteerde model in de scène. Handig als je de herhalingen wil verhogen op objecten die er noisy uitzien.
•
Process Refine Iterations Stored in Objects: overschrijft de Global refine iterations en gebruikt de waarden gedefinieerd in de object properties dialoog.
Interactive Tools gebied •
Filtering: Mengt het niveau van het licht tussen de vertices en helpt de intensiteit variatie tussen kleine faces te corrigeren. De interactive filtering werk realtime en hinder je niet door te gaan met de Radiosity calculatie
filter=0
filter=2
36
filter=15
•
Logarithmic Exposure Control: Deze settings linken je met de exposure controle tab te vinden in de in de ‘environment’ tab. Hier wordt later op teruggekomen.
•
Display Radiosity in Viewport: Schakelt de weergave van de ‘Radiosity’berekening in de ‘viewports’ aan of uit. De ‘Radiosity’berekening wordt weergegeven in alle ‘viewports’ niet alleen de ‘shaded viewport’. Het is aan te raden alleen van deze optie gebruik te maken als dit noodzakelijk is.
37
radiosity solution en edged faces staan aan
alleen edged faces staat aan
3.12 Radiosity Meshing Parameters Tab ‘Radiosity’ werkt door licht energie in je scène te weerkaatsen van polygon naar polygon. Conclusie: hoe meer polygons we in onze scène hebben des te beter deze Radiosity berekening zal zijn. Het hoeveelheid polygonen hangt af van de manier waarop de objecten in de scène zijn onderverdeeld, voordat deze naar de Radiosity engine worden doorgezonden. Deze parameter heeft een gereedschap waarmee de objecten globaal onderverdeeld kunnen worden. Er zijn mogelijkheden om deze onderverdeling op object basis te doen. Het werken op object niveau is vaak onmogelijk. Deze onderverdeling kan gebruikt worden om de efficiëntie van de Radiosity berekeningen te vergroten..
38
•
Enable: hiermee wordt de Global subdivision aan of uit gezet.
•
Meshing Size: bepaalt de mate van subdivisie op een oppervlakte in units. Hoe kleiner de waarde hoe groter de kwaliteit van het model. Nadeel: des te hoger de kwaliteit van het model des te langer het duurt om de ‘Radiosity’berekening uit te voeren.
•
The Light Painting: biedt de mogelijkheid om na de ‘Radiosity’berekening de lichtintensiteit in je scène te bewerken. Een oppervlak kan lichter of donkerder worden gemaakt door een waarde op het oppervlakte te schilderen. D.m.v. de ‘eyedropper’ kan een waarde uit de scène geselecteerd worden en kan deze waarde worden gebruikt om te schilderen.
3.13 Rendering Parameters Tab Deze tab bevat opties die niet direct de ‘Radiosity’berekening beïnvloeden, dit zijn render opties die de mogelijkheid bieden, het renderproces te versnellen. Ook kan de kwaliteit worden vergroot. •
Re-Use Direct illumination from Radiosity Solution Tab: deze optie renderd de ‘Radiosity‘berekening direct en houd geen rekening met belichting door lampen in de
39
scène, gebruik deze optie als iets snel gerenderd moet worden, deze optie renderd de kwaliteit die zichtbaar is in je view •
Render Direct Illumination: deze method is de volgende stap in kwaliteit, de directe belichting van elke lamp word in deze render meegenomen
•
Regather Indirect Illumination: deze optie herberekent de indirect belichting op een per sample niveau. Vanuit sample punten op ieder oppervlakten worden lichtstralen geschoten in alle richtingen. Deze berekening wordt opgeslagen in de cache en hergebruik binnen een bepaalde radius en tussen frames. Het is een nuttige oplossing om traditionele artefacten van Radiosity zoals het uitlekken van licht en schaduw op te lossen. Deze oplossing brengt het hoogste kwaliteitsniveau met zich mee dat we kunnen bereiken.
•
Rays per Sample: bepaald het aantal lichtstralen dat per sample in willekeurige richtingen word gezonden. Hoe hoger deze waarde is des te minder noise zal zichtbaar zijn in de uiteindelijke render. Uiteraard beïnvloed een hoge waarde de snelheid van de render
•
Rays per Sample: heeft invloed op de radius van de samples in wereld eenheden. Als we deze waarde te laag zetten creëren we teveel samples dan noodzakelijk in de vlakke gedeelten.
•
Clamp Values (cd/lm^2) : begrenst het felste licieropvolgendeht in een scène door elke waarde die boven een gespecificeerde waarde komt in te drukken.
Statics Tab Deze tab geeft algemene informatie over de ‘Radiosity’oplossing. Het eerste gebied, Radiosity process, verstrekt informatie over de kwaliteit van de oplossing en de verfijning herhalingen. Het tweede gebied, Scène informatie, toont informatie over de geometrie en het aantal lichtelementen binnen onze scène. De grote van de ‘Radiosity Mesh’ en het aantal ‘Mesh’ elementen die gebruikt worden om de ‘Radiosity’oplossing te berekenen.
40
3.14 Een radiosity calculatie opzetten en een render maken Open scène Radiosity room screen01 metric 1
In de hier opvolgende beschrijving zullen de eigenschappen in de Radiosity tab gebruiken worden om een Radiosity oplossing te genereren en te renderen. In het process gebied zetten we de initial(start) kwaliteit op 90%, deze waarde geeft de hoeveelheid licht energie aan dat gebruikt zal worden om de oplossing te berekenen. Hoe hoger dit getal is des te meer lichtenergie er gebruikt wordt en hoe accurate de oplossing. Echter rond 95% begint de werking tussen snelheid en kwaliteit te vervagen. Een goed startpunt is op 90%
2
Zet de verfijn herhalingen alle objecten op 2 Dit verfijnt de oplossing, resulteert in een hogere kwaliteit en een meer accurate oplossing. Hogere getallen brengen verfijnde herhalingen en verbeterde kwaliteit met zich mee. Het hangt van de snelheid van je computer af maar een goede waarde is tussen 2 en 5.
3
In het Interactive Tools gebied zetten we de filtering op 2 dit zal de uiteindelijke oplossing verzachten en je een schoner plaatje opleveren.
4
Zet in het interactive Tools gebied de vink bij ‘Display Radiosity in Viewport’ aan
5
In de Radiosity Meshing Tab > global subdevisions zet de vink bij ‘enabled’ aan
6
Zet de meshing size op 0.4 m
7
In de rendering parameters tab zet de vink bij regather indirect illumination aan Laat de rays per sample op 64 en de filter radius op 2.5 staan. Zet de vink bij ‘Values
(cd/m^2)’ aan en geef een waarde van 300 op. Dit voorkomt onregelmatige Licht patronen door de helderheid van de belichting dat op het oppervlakte schijnt te begrenzen 8
Druk op start in de ‘Radiosity’ processing parameters tab. 41
9
in de render scene tab > common parameters tab > zet de vink aan bij ‘Use advanced
lightning’.
10
render het plaatje
42
Hoofdstuk:4 ‘Mental ray’
4.1 Inleiding tot ‘Mental ray’. Binnen de 3D gemeenschap wordt de ‘Mental ray’s’ render engine als fysisch meest accuraat bevonden. Het is dan ook geen toeval dat ‘Mental ray’ geïntegreerd is in bijna alle toonaangevende 3D software. SoftimageXsi, Autodesk Maya, Autodesk Autocad en Autodesk 3ds.Max is 3D software waarin ‘Mental ray’ geïntegreerd is. Autodesk 3ds.Max bestaat al jaren met alternatieve render plugins naast de standaard ‘scanline’render engine.Render plugins als ’Ligtscape’, ‘Radiosity’, ‘Brazil’, ‘Vray’ en ‘Mental ray’ zijn binnen de Autodesk 3ds.Max gemeenschap allemaal tot een bepaalde hoogte gebruikt. In 1997 is een connectie van Autodesk 3ds.Max naar ‘Mental ray’ geïntroduceerd. Ondanks het feit dat ‘Mental ray’ nu zonder extra kosten gebruikt kon worden, bleven een hoop Autodesk 3ds.Max gebruikers hangen op het gebruik van de standaard ‘scanline’ render of de andere render plugins. In Autodesk 3ds.Max 9 heeft Autodesk veel werk gestopt om ‘Mental ray’ meer toegankelijk te maken. Door middel van het vereenvoudigen van de belichtingsinterfase en het toevoegen van een nieuw materialtype, die flexibel genoeg is om het meerendeel van de materialen te creëren. Vanaf versie 9 maakt 3ds.Max gebruik van de Mental Ray 3.5 Versie. 3ds.Max 2008 maakt gebruik van Mental Ray 3.6 ‘Mental ray’ bestaat uit twee delen, te weten ‘GI’(Global Illumination) en ‘FG’(Final Gather). Zowel in de ‘GI’ als in de ‘FG’ kan bij de ‘sample’ instellingen een waarde worden ingesteld die de kwaliteit bepaalt. Net als in de ‘Light Tracer’ zal de ingevoerde waarde niet de hoeveelheid van het licht bepalen, maar slechts de kwaliteit van het licht. Binnen mental Ray zorgen de GIinstellingen ervoor dat er indirect lichtweerkaatsingen binnen de scène verschijnen. ‘FG’ beïnvloedt de kwaliteit van de lichtweerkaatsingen en is een tweede pass, voordat de render uitgevoerd wordt. Deze tweede pass is voor de processor arbeidsintensief. ‘GI’ en ‘FG’ werken samen en zullen over het algemeen dan ook samen gebruikt worden. Als door alleen gebruik te maken van de ‘GI’ de kwaliteit in orde is, dan hoeft ‘FG’ niet gebruikt te worden.
43
4.2 Inleiding ‘Mental ray’ onderzoek Het bewerkstelligen van een realistiche interieure of exterieure render is voor een belichtingsartiest binnen de SG industrie een belangrijke vaardigheid. Elke scène heeft haar eigen problematiek, die overwonnen dient te worden. In het volgende onderzoek wordt de aandacht op de volgende zaken gericht. •
Het bereiken van realistche lichtweerkaatsingen.
•
Het gebruik maken van ‘mental ray’ en/of ‘maya’materialen.
•
Oplossingen onderzoeken om het lichtlekken in de scène te voorkomen.
•
Onderzoeken hoe output-renders in verschillende Lagen te renderen.
•
De output renderen naar een high dynamic image formaat ’HDRI”.
•
De output renderlagen binnen een extern programma als photoshop te bewerken.
Binnen dit onderzoek wordt met verschillende lichtbrontypen gewerkt. De aandacht richt zich op ‘photons’(lichtdeeltjes), ‘photonic’ attributen, ‘mental ray’, ‘maya’ materialen en op verschillende ‘mental ray’ shaders. Onderzocht wordt hoe dit allemaal in een scène samen te brengen. Het eindresultaat is een fotorealistisch plaatje van een interieur.
4.3 Afmetingen De eerste unieke eigenschap die onderzocht gaat worden, is de afmeting van de scène. De afmeting oefent veel invloed uit op de instellingen, die toegepast worden op de 'mental ray' lichten en 'GI' (global illimination) instellingen. Aan de hand van het ‘grid’ (grondvlak) kunnen de afmetingen van de scène worden geschat. Houdt rekening met het feit dat de instellingen, die binnen een scène toepast worden, niet gangbaar zijn binnen een andere scène. Deze instellingen hangen nauw samen met de schaal of afmeting die binnen de scène gehanteerd wordt. Omdat de afmetingen binnen afzonderlijke scènes uniek zijn, heeft elke scène een unieke benadering. Onderzocht wordt hoe tijdens dagbelichting het licht door de deur en ramen een interieur binnenkomt. Vervolgens zal onderzocht worden hoe het licht door de kamer heen en weer kaatst.
44
4.4 Controle over de zichtbaarheid van de geometrie binnen de scène Eerst moet de scène geordend worden om deze overzichtelijker te maken. Aan alle bijbehorende elementen een eigen displaylaag toe kennen is de makkelijkste werkwijze. Het is niet noodzakelijk om bij de eerste belichtingsopzet alle geometrie zichtbaar te hebben. Begin met de basis om vervolgens meer elementen aan de scène toe te voegen. Deze werkwijze zorgt ervoor dat de invloed van de geometrie op de belichting eenvoudig zichtbaar is waardoor het overzicht behouden wordt. Het is eenvoudiger om de geometrie aan of uit te zetten als alle bij elkaar horende elementen hun eigen displaylaag hebben.
4.5 Hoofdlichtbron plaatsen en zichtbaar maken voor ‘mental ray’ Wat de belichting betreft is het maken van een primaire lichtbron die de zon simuleert de eerste stap. Lichtstralen afkomstig van de zon schijnen door de ramen en deuren de kamer binnen. In situaties waar men het directe zonlicht simuleert wordt over het algemeen een directionele lichtbron gebruik. De afmetingen van de scène bepalen in welke mate dit directionele licht wordt weergegeven. ‘Zijn de afmetingen van de scène groot dan moet de schaal van het directionele licht worden
aanpat. De schaalaanpassing zorgt ervoor dat het licht een beter visueel steunpuntis’. De eigenschap van een directionele lichtbron is, dat het licht vanuit een oneindigheid een bepaalde kant op schijnt. Dit in tegenstelling tot de andere lichtbronnen die Autodesk Maya biedt. De andere lichtronnen simuleren licht dat vanuit één punt wordt geworpen. ’Mental ray’ is aanvankelijk ontwikkeld als een ‘ray tracé’ engine. Daarom moet voor de directionele lichtbron in de ‘attribute editor’ ‘use raytraced shadows’ geactiveerd worden om de lichtstralen voor de ‘render engine’ zichtbaar te maken. Omdat de directionele lichtbron licht, dat vanuit de oneindigheid komt, simuleert, voorkomt dit dat de lichtstralen in vreemde samengetrokken vormen de scène verlichten.
’Wordt een ‘Point light als lichtbron gebruikt, dan vindt er binnen de lichtstralen een vervorming plaats’.
45
Omdat de lichtbron licht vanuit de oneindigheid simuleert, is het niet belangrijk op welke plek de directionele lichtbron in de scène geplaatst wordt. Plaats, met het oog op een visuele houvast, de directionele lichtbron pal voor het raam.
4.6 Belichting en materialen toekennen De juiste werkwijze is dat ervoor wordt gezorgd, dat de standaard belichtingopzet klaar is, voordat men de materialen aan de scène gaat toegevoegen. De materialen brengen een groot verschil teweeg op de manier waarop de ‘photons’ in onze scène worden weerkaatst. In dit deel wordt aan het vloer- en muurobject een materiaal toegekend. Bij het toekennen van een materiaal aan een oppervlakte bestaat de keuze uit de ‘standard’’ Maya materialen
en de ‘mental ray’ nodes. Door binnen de place2dtexture de ‘repeat’ UV-
waarden te verhogen, kan de plaatsing van texturen worden aanpast. Met behulp van de Stagger en Mirror UV-optie kan variatie binnen de textuur aanbracht worden. Doordat het zonlicht vaak te intens is, is het gevolg dat de geometrie op sommige plaatsen overbelicht is. Dit probleem kan worden oplost door de intensiteit van de zon te verlagen en de reflectie van de materialen aan te passen. De materialen hebben een pure kleur nodig om de ‘photons’ goed binnen de scène te laten weerkaatsen. Door de diffuse waarden kan de puurheid van de kleur beïnvloed worden.
4.7 Omgeving toekennen Een omgeving toekennen kan behulpzaam zijn om de scène uit te lichten. De omgeving bestaat uit een vlak dat voor de raam- en deuropeningen geplaatst wordt. Aan dit vlak wordt een textuur toegekend. Belangrijk is dat dit omgevingsvlak geen schaduwen en hoogtepunten van lichtbronnen ontvangt. Daarom wordt op dit vlak van een surface shader gebruik gemaakt. De omgevingsgeometrie mag ook geen schaduwen blokkeren. Zet cast/recieve shadows voor dit object uit.
46
4.8 Omgevingsplaatje verscherpen De keuze van het de filtertype is belangrijk. De keuze van het filtertype, dat op het omgevingplaatje wordt toegepast, heeft invloed op de duidelijkheid die dit plaatje in de render heeft. Verander binnen de image map het filtertype van Quadratic naar off dan verschijnt er extra detail in de textuur. Wordt de camera binnen de scène geanimeerd dan kan dit een ruis probleem opleveren. Kiest daarom voor een Box filtertype het gevolg is dat het plaatje nu anders vervaagd wordt. Wordt de camera niet geanimeerd zet dan het filtertype op off. Dit heeft tot gevolg dat het plaatje het meeste detail bevat.
4.9 GI (Global Illumination) Zodra de primaire lichtbron ingesteld is en de basis materialen toegekend zijn, kan het interieur belicht worden. Dit kan bereikt worden door gebruik te maken van GI (Global Illumination). De ‘photons’ (lichtdeeltjes) die worden gebruikt om het interieur te belichten zijn afkomstig van een lichtbron. De primaire lichtbron is de directionele lichtbron. Deze lichtbron simuleert zonlicht dat de ruimte binnenkomt. Het controleren van het aantal photons dat door dit licht wordt voortgebracht is ingewikkeld. Daarom wordt een secundaire lichtbron toegevoegd. Dit secundaire licht zal geen lichtstralen, maar slechts ‘photons’ uitstoten. Dit secundaire omgevingslicht dat alleen photon’s uitstoot zal vanuit een Area lichtbron ontstaan. Door het gebruik van een ‘area’ lichtbron kan bepaald worden in welke richting de photons worden uitgestoten. Nu belanden we in het rendergedeelte. Dit is erg tijdrovend. Met tijdrovend bedoel ik niet de tijd dat de render over het plaatje doet, al is dit wel gekoppeld. Ik bedoel dat het instellen van de GI een tijdrovende klus is. De photons die uit de lichtbron worden geworpen, reageren specifiek op de materialen die zijn toegewezen aan de vloer en muren. Daarom zal vaak geschakeld worden tussen het aanpassen van materialen en photon uitstoot. De GI photonuitstoot staat niet automatisch aan. Deze dient dan ook binnen de render Globals te worden aangezet. Om deze functie te activeren moet binnen de render globals de mental ray tab gekozen worden. Vervolgens kiest men voor de caustics en GI rollout. Een goede beginwaarde is de standaardwaarde van 10000 ‘photons’. Aan de hand van het resultaat wordt bepaald of deze waarde verhoogd of verlaagd dient te worden. Het doel van de ‘Area’ lichtbron
47
is om ‘photons’ uit te stoten. Om te verwezenlijken dat de ‘Area’-lichtbron slechts photons uitstoot moet de lichtbron selecteerd worden en de intensiteit naar een 0-waarde omlaag gebracht worden. Op het moment dat de intensiteit een 0-waarde heeft, stoot het licht geen illuminatie uit, maar slechts photons. De photons reageren op de directionele lichtbron. De schaal binnen deze scène is behoorlijk groot en de photons hebben behoorlijk veel energie nodig om de andere kant van de ruimte te bereiken. Daarom moet de ‘photon’-intensiteit verhoogd worden. Zodra de ‘photon’-intesiteit op een redelijk niveau is, is de volgende stap het toepassen van het GI-effect en het aan passen van de materialen. Het GI-effect is goed zichtbaar binnen de scène. De volgende stappen zijn bedoeld om het GI effect binnen de scène te verfijnen. De eerste stap is om de scène over het geheel uit te lichten. Om de ‘photons’ van de grond naar het plafond en weer terug te laten kaatsen, voegen we het zelfde materiaal dat op de muren zit aan het plafond toe. Omdat ook het plafond nu de witte kleur van de muren heeft, zijn de photons nu beter in de gelegenheid om door de ruimte heen te stuiteren. Het resultaat van de ‘photon’beweging is dat de scene aanzienlijker lichter belicht is. Maya materialen beschikken over individuele controle over de ‘photon’-calculatie. Binnen de ‘mental ray’-tab van het materiaal treft men het photon-attributesgedeelte aan. Standaard zijn de ‘photon’-attributes ingesteld op ontleed van Maya. De waarden worden ontleend, gebaseerd op de ingestelde 'common materiaal attributes'. Dit betekent dat de photonkleur vanaf het houten vloer imagemap wordt afgeleid, die aan het kleurslot is toegekend. Om een beter resultaat te krijgen moeten aanpassingen gedaan worden. Het materiaal moet geanalyseerd worden, zodat de waarden overeenkomen met de waarden die binnen common materiaal attributen terug te vinden zijn. De vink weghalen bij 'derive from Maya' is het eerste wat we doen om dit te bereiken. Daarna kiest men voor 'take settings from Maya'. De kleur is gekoppeld aan de imagemap van de houten vloer. Deze koppeling moet verbroken worden. Is de koppeling verbroken, dan kandoor middel van een monster van de vloer imagemap te nemen een nieuwe kleur aan de photons toegekend worden. Kiest men voor een lichte kleur, zonder de oranjeachtige tint die binnen de image map van de vloer aanwezig is, dan zal het licht dat vanuit de vloer omhoogkaatst van een lichtere aard zijn. Hierdoor verdwijnen de oranje tinten die door de image map omhoog gekaatst worden. Controle kunnen uitoefenen over de
48
photons, zonder de daadwerkelijke eigenschappen van het materiaal te wijzigen, is een sterk gereedschap binnen Autodesk Maya. Door de ‘shininess’ en ‘reflectivity’ waarden binnen de ‘photon’-eigenschappen te verhogen of te verlagen kan bepaald worden hoe ver de photons richting het plafond kaatsen. Momenteel is de vloer behoorlijk glimmend en reflectief, waardoor de vloer een marmer uiterlijk heeft. De aandacht zal zich op de reflectiviteit richten. De reflecties die we op de vloer verwachten, behoren vaag te zijn. Het eerste dat bereikt moet worden is dat de reflecties van de vloer reflectie een vaag uiterlijk krijgen. Omdat we onafhankelijke controlle over de photons en materialen hebben kan de reflectiviteit van het materiaal omhooggebracht worden zonder de reflectiviteit van de photons te verstoren. Met de ‘Reflection blur’ kan de reflectie vervaagd worden. Worden de waarden verhoogd dan heeft de vloerreflectie een meer vaag uiterlijk. Momenteel ondervindt de reflectie ruis. De ruis ontstaat in gebieden waar vage reflecties zichtbaar zijn. Is deze ruis binnen de render zichtbaar dan kan het aantal ’ reflection Rays’ verhoogd worden. Het verhogen van de ‘Reflection rays’ resulteert in minder ruis binnen het vaag reflectief gebied. Het verhogen van de ‘blur’ sampling waarden heeft de zelfde eigenschap. Op de vloer zijn wat heldere en fletse gebieden zichtbaar. Waarschijnlijk moeten we om dit probleem op te lossen de intensiteit van de hoofdlichtbron omlaag brengen. Ook moeten gebieden met ‘GI’ ‘photons’ aanpakt worden. Voordat de rendertijd verhoogd wordt om het ‘GI’ probleem op te lossen wordt eerst het probleem met de vloer aangepakt. Breng de intensiteit van de lichtbron terug van 2 naar 1.5. I.p.v. simpelweg een kleur aan de lichtbron toe te kennen kan een mental ray lichtshader aan de lichtbron worden toegekend voor een realistisch uiterlijk van het zonlicht Kies het “Mib_cie_d” lichttype. Dit lichttype is gebasseerd op temperatuur. De ‘photon’probleem in de GI is zichtbaar in gebieden waar kleurreflectie ontstaan. Binnen deze gebieden komt groepering en verandering van de kleur veel voor. Er zijn verschillende manieren om dit ‘photon’probleem op te lossen. De ‘enable map Visualizer’ optie maakt het aantal ‘photons’ dat de scène wordt ingeschoten zichtbaar in de viewport. De ‘photons’ worden zichtbaar nadat ‘Mental ray’ zijn eerste photoncalculatie volbracht heeft. Om deze
49
‘photon’calculatie te starten moet een render van de scene worden gemaakt. Bij een draadmodel weergave zijn de ‘photons’ duidelijk zichtbaar. In de map visualizer zien we een realistischer weergave van de ‘photons’. Een hoge ‘photons’concentratie is zichtbaar in de gebieden waar deze ‘photons’ rondkaatsen en een lage concentratie richting de achterkant van de kamer. Zijn er binnen de scene te weinig ‘photons’ aanwezig dan krijgen we een vlekkerig resultaat in de render. Daarom is het belangrijk dat de ‘GI’ ‘Photon’waarde hoog genoeg is zodat de render een glad resultaat opleverd. Wat de ‘GI’ betreft is het belangrijk om te onthouden dat de ‘GI’ niet ontwikkeld is om op zichzelf gebruikt te worden. GI is ontwikkeld om in samenhang met ‘FG’ (Final Gather) gebruikt te worden. De ‘FG’ heeft een grote invloed op het vloeiend krijgen van heldere ruis gebieden binnen de ‘GI’.
4.10 FG (Final Gather) Nu de basis GI photons de scène opvullen gaan we onderzoeken wat te doen om het uiterlijk en de rendersnelheid van de GI render af te stemmen. Zoals vermeld kan de ruis worden oplost door ‘GI’ in samenhang met Final Gather te gebruiken. De ‘GI’ radiusoptie binnen de ‘Mental ray’ Tab van de render settings is een belangrijke instelling om rekening mee te houden. De radius bepaald de afstand in wereld eenheden die elke ‘photon’ om zich heen heeft om andere ‘photons’ te vinden. Standaard staat de radius op 0 ingesteld. Een 0 waarden betekent dat Autodesk Maya de schaal van de scène bepaald en hier automatisch de radius voor berekend. Autodesk Maya heeft soms de neiging de radius hoger in te stellen dan noodzakelijk wat resulteert in een te hoge rendertijd.
4.11 de GI radius handmatig instellen De eerst stap is om de ‘GI’ radius handmatig in te stellen en daarna wordt de aandacht op de FG gericht. Door de radius handmatig in te stellen proberen we de rendertijd omlaag te brengen. De Radius is scene afhankelijk en daarom heeft elke scene haar eigen unieke eigenschappen. De radius van een 0 waarde naar een 30 waarde verhogen zorgt ervoor dat elke ‘photon’ een bereik van 30 wereldeenheden om zich heen heeft. In dit gebied komen de ‘photons’ met elkaar in contact en vermengen zich met elkaar. De verschillende radius instellingen hebben invloed op de rendertijd.
Radius = 0 / Rendertijd = 16
50
Radius =30 / Rendertijd = 13 Handmatig de radiuswaarden veranderen van 0 naar 30 leverd een renderversnelling van 3 seconden op terwijl de render outputkwaliteit van een evenredige kwaliteit is. Wordt de ‘GI’ toegevoegd dan zal de behaalde 3 seconden winst in rendertijd merkbaar worden. Omdat het in deze fase eenvoudig is, om vlekken binnen de render waar te nemen, hebben we handmatig de radius ingesteld. Pas dan activere we de FG instellingen. Gedurend de basis GI opstelling is het doel om de rendertijd laag te houden. Wil men later de render verfijnen dan kan de radius waarden als nog in de laatste fase van het GI proces gewijzigd worden. Een radius van 30 is binnen deze scene een goed uitgangspunt. In een later stadium als we dieper op de algemene belichting ingaan komen we bij deze instellingen terug om de ‘accuracy’ aan te passen.
4.12 De FG activeren Elke keer als de final gather in samenhang met de GI gebruikt wordt mogen de FG waarde laag zijn om een goed resultaat te krijgen. De standaard instellingen aanhouden is daarom een goede keuze. Na het activeren van de FG is de drastische verhoging in rendertijd het eerste dat opvalt:
51
De rendertijd FG=off /16.Seconden. De rendertijd FG=on / 1.11 minuten. Het tweede dat opvalt, is dat de vlekken die we na de ‘GI’ berekening overhielden door de ‘FG’ vloeiend gemaakt worden.
De weerkaatsing van het licht met de grond en muren is nu op een realistisch niveau. Aandachtspunten zijn de vlekkerige gebieden die zichtbaar zijn boven de openingen bij het plafon en het helderde gedeelte in de hoek bij de deur. Nu de ‘FG’ calculatie klaar is gaan we onderzoeken hoe de FG oplossing te verfijnen. De rendertijd van 1.11 minuten levert een uitstekend resultaat op en is daarom een goed uitgangspunt.
4.13 De ruis bij het plafon en de hotspots bij de ramen Momenteel zijn de kozijnen te donker van kleur. Als men de materiaalkleur van de kozijnen lichter maakt worden de hotspots bij de ramen beter zichtbaar. De lichter kleur van de kozijnen heeft invloed op de algemene belichting van de scene. Door de ‘diffuse’waarden van de kozijnkleur omlaag te brengen voorkomt men dat de ‘photons’ ver de ruimte in kaatsen. Haalt
52
men de ‘photon’kleurwaarden naar beneden dan zijn de kozijn’photons’ donkerder van kleur en oefenen mider invloed uit op de algemene kleur binnen de belichte ruimte.
4.14 Geheugenoptimalisatie. Geheugenoptimalisatietechnieken zijn bedoeld om de rendertijd extra te verlagen. Binnen de scene heeft de belichtingsopzet een dusdannig niveau bereikt dat we meer geometrie aan de scene toevoegen kunnen. Omdat de scene nu meer geometrie omvat moet het geheugen geoptimaliseerd worden om via deze weg de rendertijd nog meer te verlagen. Zoals eerder vermeld is ‘Mental ray’ een raytracing
engine. Om de reflecties, refracties en raytraced
schaduwen te berekenen maakt ‘Mental ray’ gebruik van (licht)stralen die vanuit de camer de scene in worden geschoten. Een straal maakt geen interactie met elke geometrie driehoek binnen de scene. Als elke straal een interactie met alle aan zou gaan dan zou de rendertijd erg hoog zijn. ‘Mental ray’ verdeeld de scène gedurende het renderproces in kleine 3d reservoirs . Dit heeft tot gevolg dat ‘Mental ray’ enkel de stralen berekend die binnen het 3D reservoir een interactie hebben. Dit heeft tot gevolg dat de rendertijd sneller verloopt. Heeft men toegang tot de manier waarop ‘Mental ray’ de scene tijdens het renderproces in 3D reservoires verdeeld dan is de mogelijkheid aanwezig om deze verdeling in te stellen. Tevens kan controle worden uitgeoefend op de hoeveelheid geometriedriehoeken die aan deze verdeling worden toegekend. De locacatie waar de geheugen optimalisatie instellingen te benaderen zijn hangt af van de versie van Autodesk Maya . Tot Autodesk Maya 8.5 is render globals >> mental ray >> memory and optimizations of memory and performance de locatie waar de geheugenoptimalisatie
benaderd kan worden. Bij Autodesk Maya 8.5 en hoger moet men
binnen de ‘Outliner’ de standaard ‘Mental ray’ render globals openen .Op deze locatie heeft men toegang tot Maya’s ‘Physical Memory en Acceleration Method’.De BSP (Binary Space partition
tree) is Maya’s ‘standard acceleratie method’. De bsp bestaat uit twee gebieden: Bsp size: bepaald binnen de 3d-reservoirs het aantal driehoeken, die tijdens de render ontstaan. Bsp depth: bepaald het maximum aantal verdelingen voor elk 3d-reservoir. Zoals vermeld wordt de scène tijdens het renderprocess onderverdeeld in verschillende 3dreservoirs. Elk 3D-reservoir neemt tijden het renderproces een ingestelde hoeveelheid
53
geometrie voor zijn rekening. In gebieden waar weinig geometrie aanwezig is zijn minder reservoirs nodig. Bestaat de geometrie binnen een 3D-reservoir uit veel detail dan verdeeld ‘Mental ray’ dit 3D-reservoir onder in kleinere stukken. Deze onderverdeling vindt zolang plaats tot dat de ingestelde ‘Bsp Depth’ waarden bereikt is. ‘Mental ray’ verdeeld de 3D-reservoirs om maar een bepaald aantal driehoeken te hoeven gebruiken en om de interactie met driehoeken die ver uit elkaar liggen uit te sluiten. De ‘diagnostics’ Tab binnen de ‘Mental Ray’ render Globals biedt de mogelijkheid om de instellingen van de ‘Bsp size’ en de ‘Bsp Depth’ te visualiseren. Maakt men een diagnose van de ‘Bsp Depth’ dan verschijnt binnen de render een kleurgecodeerde refferentie. Blauwen gebieden bezitten de kleinste onderverdeling, groene gebieden met een gemiddelde onderverdeling, vervolgens gele gebieden en tot slot rode gebieden met de grootste verdeling. Naar mate het detail toeneemt, worden deze reservoirs kleiner. De ideale diagnostieke weergave is tussen blauw, groen en rood. Staat de ‘Bsp Depth’ te hoog ingesteld dan vinden tijdens het renderproces teveel onderverdelingen plaats waardoor de rendertijd hoger is dan noodzakkelijk. Is de ’BSP Depth’ waarden te laag dan zijn er te weinig onderverdelingen dus teveel driehoeken binnen elke onderverdeling dan noodzakelijk. Een Bsp Depth waarden van 30 is een goed uitgangspunt. Vergelijkt men dit met de orginele Bsp Depth waarden van 40 dan merken we een rendertijdwinst van 3 seconden op. Binnen complexe scenes kan deze versnelling van 3 seconden uiteindelijk minuten in rendertijd schelen. Het doel is om een balans in de ‘Bsp Depth’ waarden te vinden. De ‘Bsp’ waarden beïnvloedt enkel de snelheid van de render niet de kwaliteit. Een te lage ‘Bsp Depth waarden veroorzaakt teveel geometrie driehoeken binnen de 3D-reservoirs en een te hoge ‘Bsp Depth’ waarden veroorzaakt dat de 3D-resevoirs zichzelf te veel onderverdelen dan noodzakelijk is. Het physical memory gebied biedt de mogelijkheid om de hoeveelheid geheugen aan te geven die binnen de render gebruikt wordt. Autodesk Maya 8.5 laat in dit gebied de hoeveelheid geheugen zien dat momenteel voor de render gebruikt wordt. Dit gebied toont dus niet de hoeveelheid geheugen dat we voor de render willen gebruiken.
54
De bovenstaand afbeeldingn laat zien dat de laatste render 1.3 GB geheugen verbruikt heeft Binnen Autodesk Maya 8.5 kan de hoeveelheid geheugen dat aan het renderproces toegekend wordt op de volgende locatie veranderen render >> render current frame . De eerste stap is de ‘auto memory’ optie uitzetten. Met de ‘auto memory’ optie berekent Autodesk Maya automatisch hoeveel ramgeheugen nodig is voor een render binnen ‘Mental ray’. Voor de meeste situaties is het aanhouden van deze optie ok. Renderen we een complexe scène dan is het noodzaak om te zorgen dat de hoeveelheid toegekende RAM niet hoger is dan de hoeveelheid RAM binnen het computersysteem. Overschreid de toegekende RAM het aantal RAM dat binnen het computersysteem aanwezig is dan zal de render vastlopen. We kunnen binnen Autodesk Maya een geheugengrens instellen. Wordt de grens overschreden dan wordt de overgebleven informatie op de hardeschijf weggeschreven. Wordt het geheugenlimiet handmatig ingesteld houdt dan rekening met het aantal RAM dat nodig is om het computersysteem te laten draaien. Met de knop calculatie berekent Autodesk maya automatisch het maximum aan geheugen dat te gebruiken is.
55
4.15 Materialen.
4.15.1 Bankmateriaal De rode kleur van de bank vloeit te ver de omgeving in. Om de uitloop van de rode kleur te verminderen moet het materiaal van de bank selecteerd worden en de ‘photonic’attributen worden aanpast. De eerste stap is de vink weghalen bij ‘derive from Maya’ kies vervolgens ‘take settings from Maya’. Wordt de ‘shininess’waarden van het materiaal omlaag gebracht dan vloeien de photons niet zover de scene in. Het vloeien van de photon kan ook beïnvloeden worden door de diffuse waarden omlaag te brengen. Tot slot maken we de rode kleur wat donkerder.
4.15.2 Glasmateriaal Aan de tafel wordt een glasmateriaal toekend. Tijdens het toekennen van dit glasmateriaal willen we de scene zo basis mogelijk houden. Daarom zetten we de laag met de stoelen uit en activeren de laag met tafel en kleed. Een oppervlakte transparant maken vindt niet binnen de shader plaats maar in de render globals. In de render globals moet de ‘ray trace’ waarden worden omhoog gebracht. 1 calculatie staat voor 1 lichtweerkaatsing. Een instelling van 1 houdt in dat als een lichtstraal op een oppervlak stuit deze lichtstraal dan weer terug richting de camera gaat. Het is logisch dat we bij een instelling van 1 geen transparantie hebben. Om het object transparant te krijgen hebben we voor elke objectopervlak een lichtweerkaatsing nodig. Bij de tafel hebben we minimal 4 lichtweerkaatsingen nodig. De eerste lichtweerkaatsing komt aan de bovenkant van de grote tafel binnen. Vervolgen verlaat de tweede lichtweerkaatsing de tafel aan de onderkant dan komt de derde lichtweerkaatsing de kleine tafel aan de bovenkant binnen en verlaat de vierde lichtweerkaasing de kleine tafel aan de onderkant. Verhoog de Reflectie en Refractie waarden naar 4. De ‘Max Trace depth’ moet op zijn minst dezelfde waarden hebben. Om zeker te zijn dat een secundair oppervlak de calculatie niet blokkeerd, is het beter om de ‘Max Trace depth’ iets hoger in te stellen. We nemen wat licht waar op het tapijt aan de onderkant van de tafel. Standaard staan de ‘FG’ stralen die uit de camera worden geschoten op een keer kaatsen ingesteld. Deze lichtbundels kaatsen tegen het oppervlak van het tapijt, komen omhoog en raken de onderkant van de tafel.
56
Vanaf dit punt berekent de straal zich. Het resultaat is dat we een ‘Final Gather’ verlichting onder de tafel hebben. Net als bij de ‘raytrace’lichtweerkaatsingen moet aan de ‘FG’ stralen opdracht worden geven om een aantal reflectie en refractie berekeningen te maken. Deze instelling is te vinden op de volgende locatie: final gather >> final gather options
4.15.3 Chrome tafelpoten Tot slot kennen we aan de tafelpoten een chroom materiaal toe. Een Maya blinn materiaal is een goed uitgangspunt. We geven dit materiaal een chroom uiterlijk. Breng de reflectie omhoog. Zoals in de onderstaande render zichtbaar is heeft de onderkant een reflectief materiaal. Aan de bovenkant net onder het glas verdwijnt deze reflectiviteit. Oorzaak is dat de tafelpoot een nieuwe reflectie met zich meebrengt en dat de raytracing waarde nu te laag is.
57
Nu worden wat belichtings -en arceringproblemen op de glazen tafel besproken. De onderstaande render toont het tot dusver behaald resultaat.
Wordt er door het glas heen naar de tafelpoot gekeken dan merken we op dat de reflectie verdwenen is. Binnen Autodesk Maya 8.5 zijn de ‘Mental ray’ shaders en Maya shaders nog niet 100% verenigbaar. Het dielectric glasmateriaal is een ‘Mental ray’materiaal De tafelpoten maken gebruik van een standaard Maya materiaal. Het dielectic materiaal is niet in staat de reflecties van de Maya shader te berekenen. De oplossing voor dit probleem is relatief eenvoudig. Het standaard Maya materiaal van de tafelpoten moet vervangen worden door een ‘Mental ray’materiaal. Een dielectric materiaal kan de reflecties van een ‘dgs’materiaal verwerken. Maak een ‘Mental ray’ dgs materiaal en voeg dit materiaal aan de tafelpoten toe. Stel dit materiaal zodanig in dat dit het uiterlijk van chroom heeft.
58
In het gebied waar het dielectric materiaal aanwezig is, zijn geen schaduwen waarneembaar. Binnen het raytracing gebied in de render globals kan ook een waarde worden ingevoerd voor het aantal lichtweerkaatsingen, die de schaduwen verrichten voordat ze hun berekeningen stoppen. Om de stralen het glas te laten penetreren zijn minimaal 4 lichtweerkaatsingen nodig. Voor de zekerheid wordt deze waarde op 5 ingesteld. Wordt de scene gerenderd dan is er weinig veranderd. Buiten het aantal ‘rays’ binnen de render globals moet ook het aantal ‘ray’ calculaties dat de lichtbron kan volbrengen worden aanpast. De primaire lichtbron, die schaduwen binnen de scène werpt is het directionele licht. In de ‘ray depth limit’ binnen de schaduwattributen geven we het aantal lichtweerkaatsingen aan dat de lichtbron kan volbrengen. Is de ingevoerde waarde bereikt dan stopt de calculatie. Stel net als binnen de render globals de waarde in op 4 of 5. Nu kunnen de schaduwstralen door beide glasoppervlakten penetreren en is de renderengine in staat om de schaduwen te berekenen. De ovaale schaduw die door de tafelrand veroorzaakt wordt, is een ander probleem binnen de render. Schaduwen die door glazen oppervlakten geworpen worden zijn niet 100% donker. Om dit effect te bereiken moeten we een ‘Mental ray’ schaduwmateriaal aan de tafeloppervlakte toekennen. Het resultaat is dat de stralen door het materiaal heen penetreren en een semi transparante schaduw op de grond werpen. Selecteer het dielectric materiaal binnen de hyperschade en maak de shader groep zichtbaar door op de input-output connections te klikken. Vervolgens kiezen we binnen de ‘Mental ray’ node het schaduw shader gebied. Kies binnen de shading groep het ‘Mental ray’ gebied. Midden klik binnen dit gebied en verplaats de mib_shadow_transparancy node naar de schaduw shader slot. Tot slot moet de shader aan de lichtbron die de schaduwen werpt worden gekoppeld. Deze locatie is een ‘light shape’ daarom kan de lichtbron niet vanaf deze locatie gekoppeld worden. Om de lichtbron te kunnen koppelen hebben we een licht node nodig. Binnen de ‘Outliner’ is de lichtnode toegankelijk. Kies ‘sun’ licht midden klik en sleep dit naar het werkgebied. Kies nu de mib_shadow_transparancy node, midden klik op de ‘Sun’ licht node en sleep deze naar de licht slot. Tot slot veranderen we de modus van standaard naar inclusive en verhogen de transparantie waarden. De onderstaande illustratie is het resultaat.
59
4.15.4 Gordijnen Om de rendertijd laag te houden schakelen we de laag met tafel en tapijt uit. Vervolgens tonen we de laag met de gordijnen. Het gordijnenmateriaal heeft als eigenschap dat de lichtstralen door de stof heenschijnen. Dit effect noemen translucensie(doorschijnendheid). Het materiaal is niet volledig transparant daarom houden de gordijnen wat lichtstralen tegen. Aan het gordijnenmateriaal moet een shader worden toegekend die de lichtstralen in staat stelt door het gordijnenmateriaal heen te schijnen en het materiaal niet volledig transparant maakt. De gordijnen mogen geen reflectieveeigenschappen hebben daarom maken we gebruik van een standaard Maya Lambert. Kennen een witte kleur aan het gordijnenmateriaal toe om dit een zuiver uiterlijk te geven. De ‘translucence’waarde bepaald de hoeveelheid lichtstralen die door het materiaal heen mogen schijnen. Verhoog de ‘translucense’ waarden om meer lichtstralen door te laten. Bekijk wat de invloed op de algemene belichting is. Voor deze vergelijking nemen we een render met en een render zonder gordijnen. In de onderstaande illustratie zien we dat de lichtstralen door het materiaal heeschijnen.
60
Het verschil in belichting is goed merkbaar. De gordijnen blokkeren het naar binnen schijnen van de ‘photons’. Deze blokkade heeft invloed op de algemene belichting binnen de scene. Daarom wordt onafhankelijk ‘photon’conrole op het gordijnenmateriaal uitoefend. De map visualizer toont dat de ‘photons’ zich rondom het gordijn groeperen. In de render zorgt deze groepering voor een gloed in gebieden waar de photons door het gordijn worden tegengehouden en heen en weer kaatsen tussen de muur en het gordijn. Om de gloed te verwijderen moet het gordijnmateriaal selecteerd worden en de vink worden verwijderd bij ‘derive from Maya’ in de ‘photon ‘attributen binnen het mental ray gebied. Kies vervolgens ‘take settings from Maya’ en verhoog de ‘transparency’ instelling. Het resultaat is dat de photons beter door het materiaal heenschijnen en niet achter het gordijn blijven hangen. In de illustraties vergelijken het derive from Maya resultaat en vervolgens de aangepaste instellingen.
In de tweede illustratie zien we dat de ‘photons’ het gordijn meer negeren en daardoor beter in staat zijn de ruimte in te schijnen. Een ‘hotspot’ wordt onder het gordijn zichtbaar. Dit probleem
61
kan op een paar manieren worden oplost. Het verhogen van de ‘photon’attribuut transparantie instelling of het verlagen van de ‘diffuse’instelling. Beiden instellingen zorgen dat het gordijnmateriaal de ‘photons’ in mindere mate terugkaatst. De onderstaande illustratie toont het resultaat van een verlaagde diffuse waarden . Het gevolg is dat de photons in mindere mate richting de muur reflecteren waardoor de ‘hotspot’ nu een beter voorkomen heeft.
Nu aan alle objecten binnen de scene een materiaal is toegekend zijn we klaar met de materiaalinteractie en richten we de aandacht op de algemene belichting.
4.16 Algemene belichting We merken in het plafongebied wat vlekken op. Het verhogen van de ‘GI’ photons kan zorgen dat dit probleem zich verplaatst. Het probleem kan verschillende oorzaken hebben vadaar dat er verschillende oplossingen zijn. Om te beginnen hebben we de visualisatiemap niet meer niet nodig en kunnen deze nu verwijderen. Verwijder de vink bij ‘Enable map Visualizer’ in de
caustics and GI rollout binnen de mental ray tab van de render globals. Nu wordt gekeken hoe de lichte vlekken weg te krijgen. Zoals vermeld zijn er meerdere mogelijkheden om het probleem op te lossen. Oorzaak: De photonradius is breder dan de dikte van de muren. Gevolg: Een photon binnen het exterieurgebied bevat belichtingsinformatie van de exterieureomgeving. Is de photonradius te groot dan kan de belichtingsinformatie van de exterieureomgeving in de interieureomgeving terecht komen.
62
Oplossing: De ‘photon’radius verkleinen of een barrière creëren door de dikte van de buitenmuren te vergroten. Oorzaak: De geometrie sluit niet goed op elkaar aan. Gevolg: Omdat de binnenruimte uit losse delen bestaat kan het buitenlicht door gleuven in de geometrie naar binnen komen. Oplossing: Om gleuven binnen de geometrie te vermijden is het beter de binnenruimte uit een sluitend stuk geometrie te maken in plaats van losse delen voor de zijkanten en bovenkant te gebruiken.
Een andere oplossing is door aan de buitenkant geometrie voor de gleuven te
plaatsen om zo het licht tegen te houden.
Opmerking: Zorg tijdens de modificatie van de geometrie dat de faces niet uit meer dan 4 delen bestaan. Het kan voorkomen dat Mental Ray faces met meer dan 4 delen in de render niet goed verwerkt . Oorzaak: een GI hotspot ontstaat door foutief gedrag van de photons. Gevolg: een GI hotspot ontstaat doordat de photons in een hoek blijven steken en heen en weer blijven kaatsen. Oplossing: Door de hoeken van de geometrie van een bevel te voorzien voorkomen we dat de photon in een hoek blijven steken.
63
4.17 De final gather radiusoptie binnen de render globals Door de ‘FG’ radiusoptie aan te passen kan de vlekkerigheid in de render worden opgelost. De ‘FG’ radiusoptie en de ‘GI’ radiusoptie werken op een evenredige manier. De radiusoptie stelt een straal in en berekent waar binnen het bereik van de straal oppervlakten geraakt worden. Vervolgens wordt naar andere stralen binnen de omliggende ruimte gekeken. Het gebied waarbinnen deze stralen worden gezocht wordt in de ‘Max distance’ aangegeven. Is de ‘Max distance’ optie uitgeschakeld dan maakt Autodesk Maya gebruik van haar eigen instellingen die gebaseerd zijn op de omvang van de scène. Is de ‘Max distance’ aktief dan kan een eigen ingevoerde waarden worden opgegeven. De ‘Max distance’ op 0.00 of op niet aktief ingesteld hebben geeft het zelfde effect binnen Autodesk Maya. De ‘Max distance’ wordt dan berekent gebasseerd op de omvang van de scene. Wordt de‘Max distance’ waarden handmatig ingevuld dan is de instelling afhankelijk van de omvang van de scène en dus binnen elk project uniek.
4.18 Omvang van de scene meten Het ‘measure’ gereedschap wordt gebruikt om de omvang van de scene vast te stellen.In het zijaanzicht wordt het gereedschap gebruikt om de afstand van links naar rechts binnen de scène te meten. Max radius. Een goede vuistregel voor de Max final gather instellingen is 10% is van de maximale scène omvang. 366 / 10 = 36 Min radius. Als vuistregel voor de min radius 10% van de uitkomst in de Max radius gebruikt. 36 / 10 = 3.6 Zijn de waarde ingesteld dan kan terwijl de kwaliteit behouden blijft de output naar elke resolutie plaatsvinden. De View [Radii in Pixel Size] optie heeft tot gevolg dat de ‘FG’ oplossing niet langer door de omvang van de scène wordt bepaald. De ‘FG’ oplossing wordt nu gebaseerd op de ‘view size’. Een waarde van 36 komt nu overeen met 36 pixels in plaats van 36 units. De ‘FG’ wordt nu
64
door de afmetig van de output bepaald. Een output van 320X240 levert in vergelijking met een output van 640X480 een ander resultaat op. In het volgende onderzoek maken we gebruik van de view[Radii in Pixel Size] optie omdat, met de outputinstellingen in het achterhoofd, de mogelijkheid bestaat om deze waarden te visuliseren. we merken op dat de renderoplossing een gladder resultaat heeft en dat de rendertijd sneller is. Een nadeel is dat detail veloren gaat. Een manier om het detail in de render terug te krijgen, is door het aantal ‘FG’ ‘rays’ te verhogen. Het verhogen van de ‘FG’ ‘rays’ is echter nadelig voor de rendertijd. Om het detail in de render terug te krijgen maken we later in het onderzoek gebruik van een apparte ‘ambient occlusion pass’. De ‘ambient occlusion pass’ simuleert de verloren zachte schaduwenpartijen. Tevens is de rendertijd van een ‘ambient occlusion pass’ velen malen sneler dan bij een FG oplossing.
4.19 Intensiteit van de belichting Nu het ruis voor 99% uit de render verdwenen is richten we onze aandacht op de intensiteit van de belichting. Wordt een lichtbron geselecteerd dan is de ‘photons’intensiteit zichtbaar. Het verschil in de photon -en lichtintensiteitwaarden beinvloeden de intensiteit van de belichting. De makkelijkste manier om de intensiteit van de belichting te vergroten is door de ‘GI photon’ intensiteit te verhogen.
4.20 Mia Simple exposure’ lens shader Autodesk Maya 8.5 biedt een gereedschap dat met het oog op de belichting van dienst is. Dit gereedschap is een lens shader die aan de camera gekoppeld wordt. Seleceer de camera en voeg in de camera attributen binnen de ‘Mental ray’ Tab de ‘Mia Simple exposure’ lens shader toe.
Gebruik de standaard instellingen. Is de lens shader gekoppeld dan verschijnt er een
exposurewaarde binnen de scene. Nu kan met behulp van de exposureinstelling en zonder de lichtinstelling te hoeven wijzigen de helderheid bepaald worden. De render levert met de standaard
‘simple_exposure’
lensshader
een
lichter
resultaat
op
en
de
donkere
schaduwgebieden zijn verdwenen. Ook de waarden in de hotspotgebied zijn omlaag gebracht. We mogen concluderen dat de standaardinstellingen iets aan de hoge kant zijn. Het doel is om
65
voornamelijk de gammainstelling omlaag te brengen. Momenteel is de gamma ingesteld op een waarde van 2.1. Breng dit omlaag naar een instelling van 1.5. Het verlagen van de gamma instelling levert meer contrast binnen de render op. Een overweging is om de het aantal ‘photons’ iets omlaag te brengen. Met het kneeattribuut van de lensshader wordt de helderheidsintensiteit ingesteld. Als de intensiteit bereikt is dan vind er ‘clipping’ plaats. De kneeattribuut stelt de intensiteitwaarde in vanaf waar de
clipping begint. Om het wit in de render meer te laten spreken wordt de
kneeintensiteit omhoog gebracht van een waarde van 0.5 naar een waarde van 0.7. Binnen de ideale render zijn de donkerste gebieden van het schaduwgebied beter benadrukt als de witwaarde nog meer spreekt. Deze aanpassing wordt niet binnen Autodesk Maya gedaan. Deze handelingen worden binnen Adobe Photoshop verricht. De belichtingopbouw in de render voor 90% klaarmaken binnen Autodesk Maya om de output vervolgens binnen software als Adobe Photoshop te bewerken is een werkwijze dat veel tijdwinst opleverd. In deze fase zijn de laatste aanpassingen nauwkeuriger en sneller binnen Adobe Photoschop. Daarom is het rendergedeelte binnen Autodesk Maya nu beindigd en maken we gebruik van de gereedschappenset in Adobe Photoshop.
Opmerking: Voordat we aan de verschillende render passes beginnen moeten nog een ding gebeuren.
4.21 Glazen Ramen De ruiten moeten van shaders voorzien worden. Is de shader toegekend dan worden de secundaire render passes bekeken. Voor het glas wordt een nieuw dielectric materiaal gebruikt. Selecteer de glazen ruiten en voeg een nieuwe dielectric materiaal toe. Het glas zal nu het directe licht en de schaduwenpartijen afkomstig van de directionele lichtbron blokkeren. In de illustratie zien we dat sommige ramen niet transparant zijn.
66
Het oppervlak waar het dielectric materiaal op gebruikt wordt moet een bepaalde dikte hebben. De geometrie van de glazen raamdelen die in de illustratie niet transparant is wordt door een ‘plane’ opgebouwd. Door dit platte oppervlak verloopt de calculatie van het dielectric materiaal niet op de juiste manier. Om de geometrie dikte te geven moet op dit platte oppervlak een extrude plaatsvinden. Een andere belangrijke eigenschap van het dielectric materiaal is dat de normals de juiste kant opwijzen. Daarom is het belangrijk om de normals te visualiseren en de normals die de verkeerde kant opwijzen te ‘reverse’. Het licht wordt nu doorgelaten enkel is het licht dat wordt doorgelaten te weinig. Om meer licht door te laten moet een wijzingen binnen de renderattribuut van de raamgeometrie plaatsvinden. Selecteer de ruiten een voor een en zorg in de attributen editor dat ‘cast en receive shadows’ uitstaat. Nu het directe licht de mogelijkheid heeft om door het glas te schijnen zal de scene er nog steeds te donker uitzien. Open de ‘map visualiser’ opnieuw. Om een goede ‘photon’interactie met het glas te krijgen simuleren we dat het glas niet aanwezig is. De transmit_photon shader zorgt ervoor dat de ‘photons’ reageren alsof het dielectric materiaal er niet is. Voeg binnen het dielectric materiaal een ‘photon’shader toe. De ‘photon’shader die we toevoegen is de Transmat photon shader. Koppel in het custom shaders gebied van de ‘Mental ray’ Tab binnen de attributen editor de transmit photon shader in de Photon shader slot. In de illustratie zien we dat de photons niet meer door de ramen worden geblokkeerd.
67
4.22 Occlusion laag De occlusion pass is een op afstand gebaseerde shader. En wordt ook wel ‘dirtmap’ genoemd. Nu de ramen klaar zijn is het tijd de secundaire render passes in te stellen. De secundaire render passes brengen het verloren detail terug. Een ambient occlusion render pass opzetten doen we door gebruik te maken van Maya’s render layer optie. Stap een is het omschakelen van display naar render layers en een master render layer aanmaken. Om de master render layer te maken moeten alle objecten in de scène geselecteerd zijn. Kies vervolgens voor de new layer knop om een laag met alle geselecteerde objecten aan te maken Nu gebeuren er twee dingen. 1- een master layer met alle geselecteerde objecten wordt aangemaakt. 2- Boven de master layer wordt een laag genaamd layer1 aangemaakt. Hernoem layer 1 naar ColorLayer. Maak met alle objecten geselecteerd een nieuwe laag en hernoem deze naar occlusion. Binnen Autodesk Maya is het opzetten van een occlusion render pass vrij simpel. Als we met de rechter muisknop op de nieuwe laag klikken zien we dat Autodesk Maya een occlusion preset heeft. Omdat de ‘photon’materialen geen correcte interactie hebben met de ‘Mental ray’ of Maya surface shaders die aan de occlusielaag in onze viewport zijn toegevoegd duurt het renderen erg lang. Autodesk Maya mag geen gebruik
68
maken van de ‘GI’ of ‘FG’ calculaties binnen de gebieden waar de occlusion wordt gebruikt. Selecteer de occlusion laag. Vervolgens zien we binnen de render globals gebied in het oranje geschreven “Render using”. Dit betekend dat in het gebied van een materiaal override gebruik wordt gemaakt. De mogelijkheid bestaat om een eigen materiaal override te creeren. De occlusionlaag mag geen ‘GI’ calculatie hebben. Klik met de rechter muisknop op de ‘GI’ en maak een override aan. Verwijder de vink bij de ‘GI’. Nu de vink verwijderd is staat de ‘GI’ voor de occlusionlaag uitgeschakkeld. Herhaal de handelingen om de ‘FG’ uit de occlusionlaag te verwijderen.
In de bovenstaande illustratie is de render wat aan de donkere kant. Op de occlusionlaag moet een modicatie binnen de occlusion shader worden gedaan. De occlusion shader is door middel van een preset gemaakt. De materiaal sphere kiezen is voldoende om toegang tot de occlusion shader te krijgen. De oorzaak dat de render zo donker is ligt binnen de Max_distance instelling. Omdat de instelling gebaseerd is, op wereldeenheden is deze instelling uniek en moet dit binnen elke scene apart worden ingesteld. Een Max_distance instelling van 10 is een goed startpunt omdat de omvang van de scene behoorlijk groot is. Binnen de occlusion render zal het detail nu beter zichtbaar zijn. De occlusionlaag wordt in de eindfase over de kleurrender gecomposit. Het detail dat binnen de kleur render pass verloren is gegaan, wordt door de occlusion render pass terug gebracht. Verhoog de Max_distance instelling naar 30 om meer detail binnen de occlusion render te krijgen. In de illustratie is de nieuwe occlusion render pass zichtbaar.
69
Een nadeel van de occlusion shader is dat het uiterlijk omi directioneel is. Dit betekent dat de occlusion gelijkmatig over het omringende gebied plaats vindt. In de werkelijkheid zal de occlusion zich als het licht door de ramen naar binnen komt niet gelijkmatig verspreiden. De occlusion zal zich in een bepaalde richting uitstrekken en daarmee een afspiegeling van de lichtbroneigenschappen zijn. Omdat ‘Mental ray’s’ occlusion shader een omni directionele shader is kan deze shader geen natuurgetrouw effect simuleren. Om een natuurgetrouw occlusion effect te bereiken maken we gebruik van een 3d party shader.
4.23 3d party Ctrl_occlusion shader. Deze shader heet Ctrl_occlusion en is gratis op http://www.mymentalray.com te downloaden. Binnen de mental ray shader sessie vinden we de ray control tab waar deze shader met de installatie instructies is te vinden is .Eenmaal geïnstalleerd vinden we de shader in de ‘create mental ray node. De shader wordt gebruikt door met de rechter muisknop op de occlusion laag te klikken en i.p.v een preset te gebruiken een nieuwe materiaal override te maken. De attributen van deze shader werken op een gelijkwaardige manier als de attributen van de standaard occlusion shader. We beginnen met een ‘far clip’ waarde van 30. De instelling is gebaseerd op de wereld eenheden en is uniek. We gaan een unieke eigenschap binnen deze ctrl_shader gebruiken. Binnen deze Ctrl shader hebben we de mogelijkheid om een lichtbron toe te voegen. Deze lichtbron kan als een koers voor de straalrichting worden gebruikt. Voeg het zonlicht toe en zet een vink bij de ‘light vector’ checkbox. Dit zorgt dat de gekozen lichtbron als een vector offset voor de stralen gebruikt wordt. Let op dat de gekozen lichtbron opgenomen is binnen de occlusion laag. Om zeker van onze zaak te zijn moeten het licht in de outliner geselecteerd worden, rechts klik vervolgens op de occlusion laag en voeg de lichtbron
70
toe. Om deze vector offset correct op de stralen te laten werken moet nog een stap ondernomen worden. De dir blend waarde moet worden verhoogd. Deze waarde zorgt dat er een vermenging plaats vind tussen de offset en de omni directionele vectoren. De onderstaande vergelijking toont het verschil tussen de omni en de directionele occlusion pass. De Ctrl_shader heeft ook de mogelijkheid om de verspreidingshoek van de stalen in te stellen. Dit heeft tot gevolg dat het eind resultaat naar keuze kan worden ingesteld. Voor deze scène wordt de verspreidinghoek iets omlaag gebracht. Het resultaat is een iets scherpere directionaliteit van de schaduwen. Het is nu tijd om voor de uiteindelijke kleur binnen de render globals waarden een occlusion renders in te stellen. We beginnen met een naam aanduiding voor de output render aan te geven. Vervolgens verhogen we de Anti-Aliasing kwaliteit om de blokkerigheid uit de render te verwijderen. Verhoog in de ‘Caustics and Global Illumination’ rollout de Accuracy waarden van 500 naar 1000. Dit zal de kleine artefacten binnen de ‘GI’ oplossen. In de meeste gevallen werkt een waarde van 1000 goed. 1000 is niet het limiet de waarde kan veel hoger worden insteld.
4.24 32 bit floating Point I.p.v. een reguliere 8 bit plaatje te renderen gaan we hier een 32 bit floating Point plaatje renderen. De kleur informatie is binnen een 32 bit floating Point is vele malen hoger. Als we onze 32 bit floating Point render later in photoshop importeren zullen we meer vrijheid hebben om aanpassingen te verrichten. Deze instellingen zijn binnen de Frame buffer rollout te vinden. Voor dit plaatje is geen alpha channel nodig vandaar de keuze voor RGB i.p.v. RGBA Omdat geen alpha channel nodig is, wordt deze in de Renderable Camera rollout uitgezet. Zorg ervoor dat de keuze van image formaat geschikt is voor een 32 bit floating Point plaatje. Tiff uncompressed ondersteund 32 floating Point andere opties zijn HDR, OpenEXR (exr). Voor de import naar photoshop en maximale compatibility kiezen voor tiff. Omdat we individuele controle over de occlusion -en kleurrender hebben moeten we controleren of we voor beide de zelfde instellingen hebben.
71
4.25 Batch renderen Om de batch render correct te kunnen uitvoeren. Moeten we zorgen dat in de Global Illumination Option Rollout het veld bij Photon Map file leeg is. Maya wordt op deze wijze gedwongen een nieuwe ‘Photon’ map aan te maken. Nu gaan we deze 2 lagen batch renderen. Als de render klaar is hebben we 2 render passes 1 voor de kleur laag en 1 voor de occlusion laag. Deze zijn terug te vinden in hun eigen dir binnen de image folder van de scene.
4.26 Laatste aanpassingen binnen Adobe Photoshop We beginnen met de kleurlaag. Open de kleurlaag in Adobe Photoshop
Het plaatje is behoorlijk licht. De oorzaak dat het plaatje zo lichtis komt in dit geval door de camera lens shader(mia_Exposure) die binnen Autodesk Maya gebruikt is. Omdat een 32 bit image gebruikt wordt is het kleurbereik groter dan bij een 8 bit render. Het is nu makkelijk om in photoshop de problemen op te lossen. Ga binnen Adobe Photoshop naar Image >> Adjustments >> Exposure.
De exposurewaarden kan nu naar eigen
inzicht ingesteld worden.
72
In de illustraties is de vergelijking zichtbaar tussen de render uit Maya en de aanpassing in photoshop.
Binnen de Image >> Adjustment >> Photo Filter kan de algemene kleurtoon veranderd worden. In dit voorbeeld wordt gekozen voor een filter die een koudere tint geeft. Met de ‘density’ instelling wordt ingesteld hoe nadrukkelijk de filter aanwezig is. De onderstaande illustraties vergelijken de aangepaste exposure en de Photo Filter.
Nu is het moment aangebroken dat de occlusion laag aan het plaatje wordt toevoegd. De occlusion is net als de kleur render een 32 bit floating Point. Photoshop kan 32 bit plaatjes niet op elkaar ‘compositen’. Nu we de kleur pass hebben brengen we deze terug van een 32 bit naar 8 bit. Gebruik de standaard setting om alles te laten zoals het is. Doe hetzelfde voor het occlusion plaatje. Nu kan de occlusion laag in Photoshop boven op het kleurplaatje gesleept worden. Zet de bovenste laag op ‘multiply’ en het resultaat is direct zichtbaar.
73
De onderste illustraties vergelijken het subtiele verschil tussen het plaatje zonder en het plaatje met occlusion laag. Let op het verschil in zachte schaduwen.
74