Uitgangspunt voor deze zelfstudie zijn twee LEGO-stenen uit een eerdere modelleringsworkshop. Jullie vinden het startbestand in het pakket met werkbestanden voor deze zelfstudie. Er valt eigenlijk niets aan te merken op het modelleren van de LEGO-stenen, maar speelgoed ziet er toch aanzienlijk authentieker uit als er ook gebruikssporen zoals kleine krassen, afgesleten randen en doffe plekken op te zien zijn.
Instellen van de Inverse AO-Shaders
Zoals aan het begin vermeld, zal de Inverse Ambient Occlusion (IAO) ons de meest getroffen plekken door gebruikssporen leveren. Om het werk van de shader goed te kunnen beoordelen, richten we ons eerst helemaal op de IAO. De groene LEGO-steen is natuurlijk geschikt, waardoor we in het bijbehorende groene materiaal van de steen op de Basis-pagina tijdelijk alle actieve materiaalkanalen uitschakelen en in plaats daarvan het Leuchten-kanaal activeren.
In het Leuchten-kanaal van het materiaal openen we via de Textuur-knop het Shader-menu en kiezen in het submenu Effecten de Ambient Occlusion-shader. De inverse AO bestaat dus niet als een aparte shader, maar als een kleine, maar fijne instelling in de normale Ambient Occlusion-shader.
Nadat we de Ambient Occlusion-shader hebben geladen, zoomen we iets dichter in op de LEGO-steen in de Editor-weergave en starten we een eerste testrendering. Omdat de AO-shader in de normale modus werkt, krijgen we momenteel natuurlijk de schaduwgebieden van de LEGO-steen te zien.
Om het verschil tussen de beide werkwijzen te verduidelijken, openen we door te klikken op de Shader-knop of door het Textuur-gedeelte uit te klappen de Ambient Occlusion-shader en activeren als eerste de optie Tegenrichting.
We starten weer een testrendering in de Editor-weergave en krijgen nu de werkende Ambient Occlusion in Tegenrichting te zien. Zoals de vergelijking van de twee renderings aantoont, is de IAO niet alleen een omgekeerde AO, maar een compleet andere werkwijze. De verkregen IAO is echter nog niet echt bruikbaar voor onze doeleinden, daarom zullen we nu aan de finetuning werken.
Aangezien onze LEGO-stenen hun gebruikssporen voornamelijk op de hoeken en randen moeten dragen, storen de uitgesproken grijze gebieden op de oppervlakken. Als eerste stap verlagen we daarom de Maximum Straallengte naar 30 cm.
Om de impact van deze verandering te beoordelen, maken we opnieuw een testrendering in de Editor-weergave. De donkere gebieden bevinden zich nu zoals gewenst bijna uitsluitend op de hoeken en randen van de LEGO-steen, maar de grijze gebieden zouden wat donkerder mogen zijn.
Dit doen we met de Kleur-schuifregelaar in de Ambient Occlusion-shader. We verplaatsen de zwarte regelaar van de gradiënt hiervoor een eind naar rechts om de donkere gebieden gericht te versterken.
Bij deze gelegenheid activeren we ook de optie Alleen Eigenbeschaduwing. Aangezien de blauwe steen op de groene steen ligt, zou dit namelijk de berekening van de AO ongewenst beïnvloeden.
Zoals een nieuw testrendering aantoont, hebben de wijzigingen zoals gewenst gewerkt, zodat we met de nu voltooide Inverse AO-shader de creatie van de gebruikssporen kunnen aanpakken.
Uitbreiden van de shader voor de gebruikssporen
We blijven voorlopig in het Leuchten-kanaal, omdat deze weergavevorm al effectief is gebleken bij de beoordeling van de IAO-shader. Om de voltooide IAO-shader te kunnen verwerken met andere shaders, roepen we via de Textuur-knop bij de Ambient Occlusion-shader een Vlak-shader op.
Nadat we hebben geklikt op de Shader-knop van de Vlak-shader, belanden we in het lagenbeheer van de shader. De door ons gecreëerde IAO-shader staat daar al klaar als laag. Via de knop Shader... creëren we een tweede laag met een Noise-shader.
Met de Standaardruis zijn we natuurlijk niet tevreden met onze gebruikssporen. Door te klikken op de kleine shader-voorbeeld komen we in de instellingen van de Ruis-shader en kiezen daar de Ruis-soort Nutous, die veel beter geschikt is. Als globale grootte gebruiken we 80%, de overige parameters laten we op de standaardwaarden.
Met de pijl die omhoog wijst aan de rechterbovenhoek gaan we terug naar het lagenbeheer en zien daar dat de Ruis-shader door zijn mengmodus de Ambient Occlusion-shader volledig bedekt.
We hebben echter de Ruis-shader eigenlijk nodig om de IAO-shader gericht aan te passen - deze taak wordt voor ons overgenomen door de mengmodus Levr.
Hoe dit precies van invloed is op de inverse Ambient Occlusion-shader, bepalen we in een testrendering. Omdat de Ruis-shader met 100% op de IAO-shader werkt, is het resultaat te contrasterend, er zijn helemaal geen middentonen.
Terug in het instellingendialoog van de laag-shader is dit echter snel gecorrigeerd. Een waarde van 40% voor de mengmodus Levr laat nog genoeg van de middengrijze gebieden over.
Met deze afgewerkte shader-combinatie willen we nu eindelijk de gebruikssporen op onze 3D-Lego-stenen aanbrengen.
Aangezien we ons momenteel nog steeds in het Verlichting-kanaal bevinden, maar onze gebruikssporen-shader in andere materiaalkanalen willen gebruiken, kopiëren we hem via het Shader-menu in de Textuur-knop met de opdracht Shader/Afbeelding kopiëren.
Creëren van de gebruikssporen via het alpha-kanaal
In Cinema 4D leiden vele wegen naar Rome, zoals bekend. We zouden onze gebruikssporen-shader bijvoorbeeld ook in het Kleur-kanaal als Laag kunnen gebruiken. In deze tutorial heb ik echter gekozen voor het Alpha-kanaal, zodat we door het overlappen van verschillende materialen even flexibel kunnen werken.
Op de Basis-pagina van het groene Lego-materiaal deactiveren we het nu niet meer benodigde Verlichting-kanaal en activeren in plaats daarvan weer het Kleur- en Reflectie-kanaal. Voor beide Lego-materiaal activeren we het Alpha-kanaal voor onze gebruikssporen-shader.
Aangezien we de gebruikssporen-shader voor beide Lego-stenen willen gebruiken, selecteren we in de Materiaal-manager beide Lego-materialen om ze tegelijkertijd te kunnen bewerken. In het geactiveerde Alpha-kanaal voegen we onze gebruikssporen-shader toe via de opdracht Shader/Afbeelding invoegen uit het Shader-menu van de Textuur-knop.
Na het invoegen van de gebruikssporen-shader voor beide materialen moeten we de optie Alpha-afbeelding uitschakelen, zodat de als textuur geladen laag-shader correct geïnterpreteerd wordt.
De hoofdmaterialen voor de gebruikssporen op onze Lego-stenen zijn nu klaar. Als we nu een testrendering starten, zien we dat er op de met IAO bepaalde, blootgestelde plekken geen materiaal op onze Lego-stenen zit. Voor een geloofwaardige vuilaanbrenging zou dit in principe al voldoende zijn.
Materiaal voor de gebruikssporen
Echter, in deze tutorial gaat het om versleten plekken en krassen. Terwijl de eerste twee Lego-materialen het onbeschadigde oppervlak bedekken, zullen twee andere materialen zich nu richten op de gebruikssporen. Daarvoor heb ik in de Materiaal-manager al twee iets lichtere groene respectievelijk blauwe materialen voorbereid. We laten bij beide materialen de door het Reflectie-kanaal gegenereerde hooglichten achterwege om de matte, versleten uitstraling te benadrukken.
We wijzen beide Lego-materialen via slepen en neerzetten vanuit de Materiaal-manager naar de Object-manager toe aan de respectievelijke Lego-stenen en letten op de juiste Tag-volgorde. Omdat het zojuist toegewezen gebruikssporen-materiaal als laag onder het onbeschadigde Lego-materiaal moet liggen, staat zijn Textuur-tag in de Object-manager links.
Bij de volgende testrendering is goed te zien dat ons iets lichtere Lego-materiaal te zien is op alle blootgestelde plekken. Nu lijken onze Legostenen niet vies, maar versleten door het spelen.
Nu hebben we gezorgd voor het plastic dat door het spelen wordt veroorzaakt, maar het kan wel voorkomen dat het speelgoed wat ruwer wordt behandeld en daarbij deuken en krassen oploopt. Hier helpt ons weer de door ons gemaakte Gebruikssporen-laag-Shader verder.
Voor het geval dat de laag-Shader zich niet meer in ons klembord bevindt, kopiëren we hem eenvoudig van het alphakanal van een LEGO-stenenmateriaal door middel van de opdracht Shader/Afbeelding kopiëren uit het Shader-menu van de Textuur-knop.
Vervolgens selecteren we de twee lichtere materialen van de versie van het versleten materiaal via de Materiaal-Manager en activeren op de Basis-pagina van de instellingendialoog voor beide materialen het Reliëf-kanaal.
Met de opdracht Shader/Afbeelding plakken uit het Shader-menu van de Textuur-knop voegen we de gekopieerde shader in als textuur in het Reliëf-kanaal van beide materialen.
Op basis van de shader voor de slijtagesporen kunnen we eenvoudig een variant maken voor de deuken en krassen die zijn gegenereerd via het Reliëf-kanaal. We weten hoe de blendmodus Levr werkt, dus we zouden het contrast iets moeten verhogen om de op deze manier gemaakte Bump-Map te verminderen tot krassen. We verhogen de Levr naar 60%.
Om de krassen nog verder te individualiseren, openen we de instellingen van de Ruis-Shader en zetten we daar het Onderkapping op 30%. Zoals al te zien is in de voorvertoning, worden hierdoor de lichtere gebieden gericht afgesneden of verminderd.
De shadertak die bedoeld is voor de deuken en krassen is nu al ingesteld, zodat we alleen nog maar de Intensiteit van het Reliëf-kanaal hoeven vast te leggen - ik ben bij de standaardinstelling van 20% gebleven. De nieuwe Parallax-functies in versie 18 worden hier alleen voor de volledigheid genoemd, er is geen zichtbaar kwaliteitsverschil voor dit gebruiksscenario.
Ik wil de LEGO-stenen in deze tutorial niet verder 'martelen'. Zoals de close-up laat zien, geven de kleine krassen en afschilferingen de LEGO-stenen de gewenste laatste 'touch', ...
... die de geloofwaardigheid van onze uiteindelijke rendering aanzienlijk verhoogt.