Optische vertekeningen kunnen problematisch zijn, vooral bij motion-tracking. Hoe kleiner de brandpuntsafstand, hoe meer het vertekeningseffect zich manifesteert naar de randen toe, zodat je moet beslissen of het bronmateriaal direct bruikbaar is, of dat een voorbehandeling van het beeld- of filmmateriaal of een aanpassing van de 3D-elementen nodig is. In deze tutorial presenteer ik beide variaties. Als basis heb ik een eenvoudige smartphone-opname gebruikt.
De Cinema 4D-projecten, het oorspronkelijke beeld en het resulterende lenseprofiel zijn zoals altijd te vinden in de werkmaterialen voor deze tutorial.
Voorbereiden van het lensevervormingsgereedschap
In tegenstelling tot motion-tracking of het kalibreren van een camera, is er in Cinema 4D geen apart object om een lenseprofiel aan te maken, maar alleen het gereedschap Lensevervorming in het Gereedschappen-menu.
Dit gereedschap biedt in zijn instellingendialoog alles wat we nodig hebben om het lenseprofiel aan te maken. Op de Beeld-pagina vinden we de basisinstellingen voor de weergave van het geladen beeld. Dit gebeurt zoals gebruikelijk via de knop naast het Beeld-veld.
We laden het beeldmateriaal via de keuzedialoog in het Beeld-veld van het Lensevervormings-gereedschap om de vervorming te bepalen.
Indien het nog niet correct is ingesteld, past de Beeldratio zich aan het ingeladen beeld aan. Niettemin kan het geen kwaad om deze instelling na de import te controleren.
Aanmaken van het lenseprofiel
Op de Lensevervorming-pagina bevinden zich de functies voor het bepalen van de Lensevervorming en voor het berekenen van het lenseprofiel op basis daarvan. De vervorming wordt bepaald aan de hand van zogenaamde n-puntlijnen, die we in de bewerkingsweergave op geschikte plaatsen in het beeld plaatsen. Door te klikken op de knop n-Puntlijn toevoegen voegen we de eerste lijn toe aan ons beeld.
Deze eerste n-Puntlijn bevindt zich nu schuin in het midden van onze bewerkingsweergave, waar we deze kunnen bewerken met behulp van de oranje puntverplaatsers. Omdat de achtergrond van het geladen beeld oorspronkelijk behoorlijk helder is, verduisteren we het beeld tijdelijk tijdens het werken met de n-puntlijnen.
Hiervoor schakelen we kort over naar de Beeld-pagina van de instellingendialoog en verlagen we de Helderheid van het geladen beeld naar ongeveer 10% tot 15%.
De n-puntlijnen zijn nu veel beter zichtbaar voor het beeld, en ook de relevante beeldelementen zijn nog steeds goed herkenbaar. Voor mijn eerste n-Puntlijn koos ik de onderkant van het opgestoken bovenste plankdeel uit. Tijdens het verplaatsen van de punten wordt de positie van de punt vergroot weergegeven door middel van een zoomfunctie.
Omdat er geen extreme vervorming is in mijn oorspronkelijke beeld, kunnen we de rand in het beeld goed nabootsen met de drie punten van de n-Puntlijn. Extra punten kunnen overigens worden toegevoegd door te klikken met de ingedrukte Ctrl-toets op de gewenste plek van de lijn.
De eerste n-Puntlijn is correct geplaatst, dus voegen we meteen een extra n-Puntlijn toe aan de weergave via de knop n-Puntlijn toevoegen in de instellingendialoog.
Nadat we met deze eerste n-Puntlijn een rand hebben nagebouwd die de diepte in loopt, moet onze tweede lijn zo breed mogelijk het beeld beslaan. In ons geval dus vanuit de achterste linker benedenhoek ...
... tot waar het boek de rand bedekt.
Meer ingebouwde n-puntlijnen betekent niet altijd per se een beter resultaat. We concentreren ons op de beeldranden die echt duidelijk zijn en zoveel mogelijk gebieden van het beeld bestrijken. Dit omvat uiteraard de achterrand van het boekenrek …
... evenals de voorranden van de plank van het boekenrek …
... evenals de lamellen van het plankenrolgordijn, voor zover ze zich goed genoeg onderscheiden van de achtergrond om de n-puntlijnen te tekenen.
Omdat we weten dat de vervormingen van de optische lenzen naar de randen toe toenemen, is het natuurlijk belangrijk om vooral daar geschikte plekken te zoeken voor onze n-puntlijnen.
Als alle belangrijke delen van de afbeelding zijn voorzien van n-puntlijnen, berekenen we op basis van deze informatie het Lensprofiel.
In het instellingendialoog van de lensvervormingstool op de Lensvervorming-pagina vinden we een menu met gangbare modellen voor lensvervorming. Voor onze smartphone-opname kiezen we het model 3DE Standaard Classic.
Na het klikken op de knop Automatisch berekenen worden de lensvervormingsparameters die zijn berekend uit de n-puntlijnen ingevoerd.
In de editorweergave is de correctie te zien aan de licht kussenvormige vorming aan de randen. Ook goed te zien: omdat er aan de rechterkant bijna geen informatie in de vorm van n-puntlijnen beschikbaar is gesteld, is er hier ook nauwelijks correctie te zien. Voor ons doel volstaat echter het goed gedekte hoofdactiegebied.
We kunnen dit voltooide Lensprofiel nu gebruiken om de oorspronkelijke afbeelding te corrigeren zoals te zien is in de editorweergave. Met het lensprofiel kunnen we echter ook de 3D-elementen in de respectievelijke gebieden gemakkelijk vervormen om ze aan te passen aan de ongewijzigde oorspronkelijke afbeelding.
Voordat we in deze tutorial kort beide varianten doorlopen, slaan we het Lensprofiel op met de bijbehorende knop.
Om duidelijk te maken dat ons zojuist gemaakte Lensprofiel bij de plankfoto hoort, is het zinvol om dit ook in de gebruikte bestandsnaam bij het opslaan vast te leggen.
Gebruik van het Lensprofiel voor het corrigeren van een opname
Ook al zien we de gecorrigeerde opname nog steeds in de editorweergave: dit heeft uitsluitend te maken met de lensvervormingstool en maakt nog geen deel uit van onze scène. Om de afbeelding als achtergrond in een scène te gebruiken, moeten we dit doen via de camerakalibratie in combinatie met een achtergrondobject.
Voor meer informatie over camerakalibratie vind je een uitgebreide tutorial op PSD-tutorials.de, daarom beperk ik me hier tot de belangrijke functies voor lensvervorming. Voor de camerakalibratie creëren we een cameramateriaal en wijzen we het via het contextmenu met de rechtermuisknop of via het menu Tags>CINEMA 4D Tags van de Object-Manager een camerakalibreren-tag toe.
In het instellingendialoog van de camerakalibreren-tag openen we de Afbeelding-pagina en laden onze plankfoto in het daarvoor bestemde veld Afbeelding. In het tweede gedeelte van het dialoogvenster vinden we het veld Lensprofiel, waar we met de rechterlaadknop van het bestandbeheerder kunnen oproepen ...
... en het door ons opgeslagen Lensprofiel voor de plankopname laden we in.
Dankzij het geladen lensprofiel kunnen we bij de calibratie van de scène teruggrijpen naar de gecorrigeerde afbeelding.
We laten de kalibratie even links liggen en richten ons op de vraag hoe we de gecorrigeerde afbeelding ook bij het renderen in de scène krijgen. We maken eenvoudig op de Calibrate-pagina via de knop Achtergrondobject een correct gemapte achtergrond, inclusief onze plankfoto als toegewezen materiaal.
We openen het materiaal via de Attribuut-manager en vinden in het Kleur-kanaal als Textuur onze plankfoto gekoppeld, echter nog in de vervormde versie. Om deze textuur nu te corrigeren met ons Lensprofiel, laden we via het pijlknopmenu Effecten de lensvervormingsshader erbij.
Doordat we de planktextuur niet eerder hebben verwijderd, wordt deze automatisch als textuur in de shader overgenomen bij het laden van de lensvervormingsshader. We hoeven nu alleen nog maar het Lensprofiel via de rechterknop in het bijbehorende veld te laden.
Nu kunnen we eindelijk ook bij het renderen terugvallen op het gecorrigeerde beeldmateriaal. Voor de kalibratie van de scène of de camera voor het integreren van 3D-elementen hebben we de gecorrigeerde opname al in de Camera kalibreren-tag.
Analoog aan de Camera kalibreren-tag kunnen we natuurlijk ook door ons gemaakte lensprofielen gebruiken voor het corrigeren van Footage-materiaal in de Motion-Tracker. Door de correctie krijgen we ook betere trackingresultaten.
Het lensprofiel gebruiken om de 3D-scène te vervormen
Zoals gezegd kunnen we het door ons gemaakte lensprofiel ook gebruiken om de 3D-elementen lichtjes te vervormen om ze aan te passen aan de originele opname. In dit geval zien we natuurlijk af van de correctie van de afbeelding in de Camera kalibreren-tag en ook in het Materiaal voor de achtergrond.
Voor dit tweede voorbeeld heb ik dus het Achtergrondobject verwijderd en in het instellingendialoogvenster van de Camera kalibreren-tag het ingestelde lensprofiel voor correctie verwijderd.
De camera- of scènecalibratie gebeurt dus op basis van de originele opname. Op het vlak van het rek ligt de Vlakconstraint voor het bepalen van de X- en Z-as. De spijker voor het bepalen van de oorsprong van de scène heb ik in de achterste linkerhoek geplaatst.
Voor het renderen van de achtergrond hebben we ook geen gecorrigeerd beeldmateriaal nodig. Ofwel maak je via de knop Achtergrond genereren in de Camera kalibreren-tag gewoon een volledig nieuw getextureerd achtergrondobject aan, of je verwijdert de lensvervormingsshader door de Textuur van het rek gewoon van de shader naar het Textuur-veld van het Kleur-kanaal te kopiëren.
Bij de drie in de rekopname aanwezige marmeren piramides heb ik in Cinema 4D een Piramideobject aangemaakt en er een Afschuindeformer aan toegevoegd om de randen glad te maken. Een Puntlicht zorgt voor verlichting van het 3D-object Piramide passend bij de opname.
Dankzij de gekalibreerde scène kan de piramide goed in de scène worden geïntegreerd, voor mijn eerste test positioneer ik deze centraal tussen de andere drie piramides.
Zoals verwacht doet de geplaatste piramide het ook goed in het renderen, hier is het effect van de vervorming door de optische lens minimaal.
Zodat de piramide (en natuurlijk alle andere 3D-objecten) zich ook op andere plaatsen in de scène gedragen volgens de lensvervorming, zorgen we via een render-effect voor de lichte vervorming van de 3D-elementen. Net als alle andere effecten bevindt het effect van de lensvervorming zich in de Renderinstellingen, die we oproepen via het Renderen-menu.
We activeren het effect lensvervorming via de knop Effecten... in de Renderinstellingen voor het renderen.
Op de bijbehorende pagina van het effect in de Renderinstellingen vinden we het veld voor ons lensprofiel. Door het door ons gemaakte lensprofiel toe te voegen, zorgt het lensvervormingseffect voor de juiste vervorming van de 3D-elementen bij het renderen.
Om de interactie tussen de originele opname en de vervormde geometrie te testen, positioneren we de piramide in de rechterbovenhoek van het rek en starten we het renderen in de weergave of in de Beeldmanager.
Aangezien we te maken hebben met een gewone smartphonefoto en niet met een groothoekopname, is het effect van de vervorming natuurlijk niet extreem uitgesproken. De piramide lijkt ten opzichte van de editorweergave iets platter en iets samengedrukt. Dankzij ons lensprofiel zorgt Cinema 4D vanaf nu zelf voor de aanpassing van de geometrie aan onze originele opname.