Uanset om det er til en animation eller en enkeltbilledkomposition: Kravet om at integrere 3D-objekter i virkelige film eller virkelige billeder bliver stadig mere almindeligt. Med Kalibrering af kameraet er dette heller ikke svært i CINEMA 4D. For at I kan følge tutorial'en trin for trin, finder I filen "PSD_C4D_R14_Kamera-Matching_start.c4d" med udgangssituationen i arbejdsfilerne.
Sceneopbygning
For at vi straks kan begynde med at indrette og justere kameraet, har jeg i startfilen stillet et lille Partikelsystem til rådighed, som vi senere vil integrere i scenen genereret ved hjælp af Kamera-Matching.
En relativ flad, men til gengæld bred Emitter skaber tre farverige kugler. Takket være den integrerede Gravitationsmodificator bliver kuglepartiklerne ikke kun skudt ud, ...
... men falder også i henhold til tyngdekraften nedad, som vi kan konstatere efter et klik på afspilknappen. Når vores scene har et gulv, vil vi også lade kuglerne hoppe.
Indstilling af kameraet
For at kuglerne ikke er i vejen i de næste trin, slår vi simpelthen Emitteren fra ved hjælp af Trafiklysknappen i Objektstyreren, så den er usynlig.
Vi begynder med at integrere det virkelige billede ved at oprette et nyt Kameraobjekt. Dette Kameraobjekt tilpasser sig det fotografiske billedmateriale ved vores efterfølgende kalibrering. For at give kameraet funktionalitet til kalibrering tildeler vi Kameraobjektet et Kalibrering af kameraet-tag via en højreklik eller via menuen Tags>CINEMA 4D Tags i Objektstyreren.
I indstillingsdialogen for Kalibrering af kamera-taget finder vi på Billedsiden funktionerne til at indlæse og justere billedmaterialet. På dette tidspunkt skal I have tjekket, hvilket Billedformat billedmaterialet har. Vi klikker på knappen ved siden af feltet Billede ...
… og indlæser det ønskede virkelige billede i kameraet via Filåbningsdialogen. Til denne tutorial har jeg leveret et billedområde af et virksomhedsområde som billedfil "Billedområde.jpg". Billedets metadata viser det tilsvarende Billedeformat: 3264 x 2448 = 4:3.
Efter bekræftelsen via Åbn-kommandoen finder vi det indlæste billede i vores kameras synsfelt.
Før vi begynder at kalibrere kameraet til billedet, aktiverer vi kameraet ved at trykke på Kamerasymbolet i Objektstyreren (hvid).
Kalibrering af kameraet
Til den kommende Kalibrering af kameraet skifter vi i indstillingsdialogen for Kalibrering af kamera-taget til Kalibreringssiden.
Som I kan se, lyser alle trafiklys rødt på kalibreringsstatusgrund af mangel på flugtpunkter - det skal ændre sig nu.
Da det på grund af billedindholdet nærmest tilbyder sig selv at arbejde ikke med enkelte linjer, men med et firkantet Gitter, skaber vi et gitternet via knappen Opret gitter til første trin i kalibreringen.
Det er ikke svært at finde "lodret på hinanden" løbende linjer på vores billede. Til det første punkt på gitteret er det bedst at bruge en af hjørnerne under rampen.
Med det andet punkt på gitteret strækker I gitternettet så præcist som muligt "parallelt" med forløbet af rampens kant. Jeg har placeret dette hjørnepunkt i hjørnet af tagrenden under rampen.
Ved det tredje hjørnepunkt begynder vi den gitternetets perpendicular kant til den første side. Det er bedst at orientere sig på den korte del af brostenen og flytte hjørnepunktet så langt til venstre, at gitterlinjen løber parallelt med rampestøtten.
Fjerde hjørnepositionen er uden for det faktiske billede, men udgør stadig ikke noget problem for tilpasningen af gitteret. Sørg blot for, at linjerne ligger helt parallelt med kanterne på betonrampen.
Efter at gitteret nu er placeret på billedet, skal vi tildele de tilhørende kanter akseretningerne for at beregne flugtpunkterne. Til dette placerer vi musen på en af gitterets kanter og klikker med skiftenøglen holdt nede så mange gange på kanten, indtil den korrekte aksefarve for gitterlinjerne vises. I mit tilfælde definerer den røde kant på betonrampen X-akseretningen, og den tilsvarende blå kant heraf Z-aksen.
Et kig på lysskiltet i indstillingsdialogen for kamera-kalibreringstagen afslører, at kamerablænden og kameraets justering allerede er beregnet ud fra det placerede gitternet. Ved at klikke på knappen Opret linje laver vi nu en linje for at definere Y-aksen.
For at positionere linjen for Y-aksen finder vi en kant, som er lodret på gitternettet - i mit tilfælde den forreste kant af betonstøtten.
Denne linje skal også have tildelt, hvilken akse vi vil definere med den. Igen ved at klikke med skiftenøglen holdt nede farver vi linjen grøn for at fastlægge Y-aksen for billedet.
Efter at have tegnet alle tre koordinatakser på billedet, mangler der stadig originale, aksernes nulpunkt for scenen til sikker orientering. Dette indsættes i billedet med en søm, som vi får ved at klikke på knappen Opret søm.
Vi tager fat i sømmet med musen og placerer det på det nederste punkt af den grønne Y-akse linje. Dette vil være aksernes nulpunkt for denne kamera i fremtiden.
Vi kigger igen på indstillingsdialogen for kamera-kalibreringstagen og konstaterer, at kamerapositionen kunne beregnes ud fra de flugtpunkt- og akseoplysninger, vi har leveret. Du vil få endnu flere grønne felter med yderligere vejledning i form af ekstra flugtpunktlinjer.
Opretning af scenen
Vores kamera er nu kalibreret til det af os angivne billedemateriale. Nu skal vi udstyre scenen med alle de objekter, der er nødvendige for vores animation.
Praktisk giver kamera-kalibreringstagen os straks en automatisering til oprettelse af en baggrund. Ved at klikke på knappen Opret baggrund genererer vi et baggrundobjekt med færdigmappe baggrundtekstur baseret på vores kamerabilledemateriale.
Til dette blev der oprettet et material og påført teksturtaget til baggrundobjektet. Et kig på basissiden af materialet viser, at kun farvekanalen bruges her.
For at de kugler, der udstødes via partikelsystemet, får en kollisionsflade i form af en bund, tilføjer vi et plant-objekt til scenen. Det velkendte bundobjekt er ikke egnet til vores formål, da det strækker sig uendeligt og ville kunne skabe problemer med korrekt skyggekast.
I indstillingsdialogen for plant-objektet kan I se den angivne bredde og dybde for objektet, sammen med en forskydning på -1500 cm i Z-retningen langs koordinaterne.
Da vi ønsker, at de indkommende kugler kun skal kaste skygge på gårdspladsens frie flade (alt andet ville ødelægge den tredimensionale effekt), bør bunden kun strække sig lige bag kanten af læsserampen. Om nødvendigt kan I nemt justere dette ved at trække i parametergrebet på plant-objektet.
Dette nyintegrerede objekt i scenen kræver naturligvis også en passende tekstur. For dette går vi kortvarigt tilbage til indstillingsdialogen for kamera-kalibreringstagen og bruger automatiseringen til at oprette en kamera-maptag.
I modsætning til baggrundselementet har vi brug for projektionstypen Kamera-mapping til korrekt teksturering af Lag-objektet, som vi får adgang til gennem denne knap.
Vi flytter det nye teksturtag på Kamera-objektet til den rigtige position i Objekt-administrator, naturligvis på Lag-objektet.
Ved oprettelsen af det nye teksturtag opstod der også et nyt materiale med teksturen af lastområdet. Dette materiale er dog uegnet til vores formål, da teksturen ligger i lys-kanalen og ville undertrykke kuglernes skygger på jorden.
Vi kan nemt rette dette ved blot at bruge det allerede eksisterende materiale (ikke teksturtaget!) fra baggrundselementet til teksturering af Lag-objektet. Dertil trækker vi materialet enten direkte til teksturtaget i Objekt-administratoren eller i feltet materiale på teksturtaget i Attribut-administratoren.
For at forhindre, at det teksturerede Lag-objekt får mørke skyggeområder, når lyset senere rammer det, giver vi det en Rendere-tag via kontekstmenuen med højre musetast eller via menuen Tags>CINEMA 4D Tags i Objekt-administratoren, …
… hvor vi aktiverer indstillingen Baggrunds-compositing. Nu er Lag-objektet optimalt integreret i scenen og opfører sig som et element i det virkelige billede.
For at integrere partikelsystemet i scenen, skifter vi Emitteren til synlig via trafiklysikonet i Objekt-administratoren og deaktiverer midlertidigt det oprettede og kalibrerede Kamera. Dette kan nemt gøres via kameraikonet i Objekt-administratoren eller via menuen Kameraer i Redigeringsvisningen.
Set fra denne perspektiv ser vi for første gang det kalibrerede kamera som et element i scenen og - meget nyttigt for os - den del af laget, der er tekstureret ved hjælp af kamera-matching. Juster nu emitteren ved hjælp af aksehåndtagene eller de værdier, der er angivet i Attribut-administratoren, så kuglerne hopper på tværs af billedets flade.
For at forhindre, at de udsendte kugler falder gennem laget, men i stedet hopper tilbage og videre, opretter vi en reflektor udover tyngdekraften. I Simulér>Partikelsystem kan I finde denne modifikator.
I indstillingsdialogen for Reflektor-objektet justerer vi elasticiteten til 70%, så kuglerne efter sammenstødet kastes tilbage over mere end to tredjedele af faldhøjden. En størrelse på 10000 cm i X- og Y-retning bør være tilstrækkelig til at holde alle udsendte kugler på jorden i løbet af animationen.
Som I kan se på Y-koordinaten for reflektoren, ligger reflektorplanet lige over Lag-objektet. For vores simple partikelsystem er det vigtigt at ligge med midten af partikelobjektet (radiusen af kuglen = 30 cm), derfor har vi brug for denne forskydning. Jeg har forresten trukket 5 cm fra for at lade kuglerne let synke ind i overfladen.
Set forfra vil I tydeligt se, hvordan de udsendte kugler falder ned til den gule reflektørlinje og hopper tilbage derfra.
Scenebelysning
Når kameraet er kalibreret, og 3D-objekterne i form af partikelsystemet er integreret i scenen, skal vi stadig sørge for passende belysning.
Vi opretter et Lys-objekt for den skyggekastende hovedbelysning af scenen, som vi giver en let blålig farve på Generelt-siden af indstillingsdialogen. Dette skal bringe den blålige glans, som himlen skaber på bygningen og jorden, også til kuglerne.
Derudover aktiverer vi en blød skygge eller efter valg også en fladskygge for hovedlyset i scenen.
På Skygge-siden af indstillingsdialogen har jeg reduceret densiteten af min bløde skygge til 70% og valgt en skyggekort på 500x500. Dette får skyggen til at se mere naturlig ud, da den efterligner oplysninger fra indirekte lys.
For at placere dette hovedlys er det værd at skifte til standardkameraet i en kort periode for at sikre, at lyskilden er langt over det belyste område. Til sidst skal sollyset simuleres nogenlunde troværdigt. Placer lyskilden, så vores hovedlys falder så lodret som muligt på objekterne eller gulvet - dette svarer også til lysindfaldet på vores virkelige billede.
Da de udsendte kugler hidtil kun er blevet belyst ovenfra, har vi brug for yderligere lyskilder til at simulere den indirekte belysning fra kameraretningen. Vi opretter derfor to identiske punktbelysningskilder med en let gul farve og reducerer deres intensitet til ca. 58%, så disse lyskilder ikke virker for dominerende.
Den første af disse to såkaldte fyldlys positionerer vi til venstre for kameraet. I Y-retningen kan den forblive på højde med gulvet, da vi kun ønsker at simulere den indirekte belysning fra siden og fra gulvet.
Det andet fyldlys positionerer vi modsat det første fyldlys på den anden side. Hvis du er usikker på, om der kommer tilstrækkeligt med lys på kuglerne fra belysningen, så lad animationen køre kort, og aktiver også Gouraud-shading i de ortogonale visninger.
Med aktiveret udvidet OpenGL i redigeringsvisningen inklusive skyggemontering, kan scenen nu vurderes meget godt. Ikke kun skyggerne virker troværdige, den simulerede indirekte belysning sikrer også, at kuglernes undersider ikke er i mørke.
Her er det rendrede resultat af vores nu færdige tutorial til sammenligning. Vores 3D-objekter integreres troværdigt i scenen, der i virkeligheden kun består af et simpelt foto.