Vi starter dette tutorial med en tom projektfil, eller alternativt kan I bruge projektet "PSD_C4D_R18_ObjectTracker_start.c4d" fra arbejdsfilerne, så har I også logoet, som skal animeres, med det samme i scenen.
Forberedelse af bevægelsessporeren
I dette tilfælde vil vi fokusere på at rekonstruere en objektbevægelse, så vi har kun brug for Motion Tracker til at indlæse videooptagelsesfilen og til at oprette og spore sporingspunkterne. I dette eksempel kan vi undlade at rekonstruere kamerabevægelsen eller omgivelserne.
Så det første, vi gør, er at hente et Motion Tracker-objekt fra menuen Motion Tracker.
I indstillingsdialogen for Motion Tracker-objektet tager vi os først af at indlæse videosekvensen. På Footage-siden klikker vi på Indlæs-knappen på Footage-linjen.
Via din computers Fil åben-dialog vælger du videosekvensen "Schreibtisch.mov", som medfølger i arbejdsfilerne til dette tutorial.
Afhængigt af din computers ydeevne kan du justere en endnu højere Resample-værdi for Billedkvalitet under sporingen, men 75 % er mere end fint til vores projekt.
Placering og sporing af sporingspunkter
Når vores optagemateriale nu også er klar i Editor-visningen, kan vi begynde at placere sporingspunkterne. Skift i indstillingsdialogen for Motion Tracker til siden 2D-Sporing og vælg Manuel sporing.
På skrivebordets papir ser vi i alt 20 tilgængelige punkter, som egner sig til sporing. Cinema 4Ds Objekt Tracker kræver mindst syv sporingspunkter for en succesfuld rekonstruktion af en bevægelse senere.
For at placere et sporingspunkt klikker du med den trykkede Kommando-tast på det ønskede sted i Editor-visningen. Derefter kan du flytte punktet til det præcise sted ved at røre ved det indre mønsterkvadrat og bruge den indlejrede lup til at justere det. Ved at trække i det indre Mønsterkvadrat eller det ydre Søgekvadrat kan størrelsen tilpasses begge.
Hvis en bestemt Søge- eller Mønstestørrelse anbefales for alle sporingspunkter, kan du forindstille dette på siden 2D-sporing i Indstillinger-sektionen. Ved denne lejlighed aktiverer vi også indstillingen Ekstrapolere søgepositionen, som nogle gange kan hjælpe sporingen på vej.
Det ville ikke være dramatisk, hvis kun syv komplette sporingspunkter var tilbage ved slutningen af videosekvensen fra de 20 oprindelige punkter. I mit eksempel vil jeg dog forsøge at bevare alle punkter helt til slutningen.
Når alle sporingspunkter i Editor-visningen er placeret og justeret, kan vi starte sporingen. Sørg for at alle Spor på listen eller i Editoren er markeret, og klik herefter på knappen Manuel sporing.
Det tager lidt tid, før Motion Tracker har fulgt vores sporingspunkter på alle billeder.
Når vi derefter bevæger os gennem animationen efter sporingsarbejdet, vil vi sandsynligvis allerede efter nogle billeder bemærke det første sporingspunkt, som er udeladt og markeret med rødt.
Det er let at rette op på dette ved simpelthen at gribe det forskydte sporingspunkt med musen og placere det på det rette sted. Dette resulterer i en ny Nøgleframe på dette tidspunkt, og Motion Tracker tilpasser tilstanden før og efter korrektionen ved kort efter-sporing af dette punkt.
På denne måde kontrollerer vi nu hele forløbet af den trackede videosekvens for sporfølgefejl og korrigerer dem om nødvendigt.
Som nævnt tidligere, har jeg i mit eksempel bevaret alle 20 sporingspunkter og rettet dem, når det var nødvendigt. Når du er tilfreds med dit resultat, så lad animationen køre helt igennem som en test for at opdage eventuelle spring eller udskiftninger af punkter.
Rekonstruktion i objekt-sporeren
Behandlingen af vores sporingspunkter sker - da vi ønsker at rekonstruere objekt- og ikke kamerabevægelse - ikke i bevægelses-, men i objekt-sporeren. Først skal de punkter, vi har genereret og sporet, dog stadig overføres. Til dette selekterer vi først alle manuelt oprettede spor i listen over Bruger-spor.
Nu henter vi fra menuen Bevægelses-sporeren objekt-sporeren. Når Bevægelses-sporeren er valgt i objekt-manageren, bliver objekt-sporeren straks forbundet med den.
Tildelingen af de stadig selekterede spor sker via indstillingsdialogen for objekt-sporeren på sporer-siden via knappen Tildel selekterede nederst til venstre. Her kan vi også se, at den af os genererede Bevægelses-sporer er gemt der.
Efter dette trin er listen over de spor, der er tildelt objekt-sporeren, nu fyldt med vores bruger-spor.
For at hjælpe objekt-sporeren med rekonstruktionen skifter vi tilbage til Bevægelses-sporeren på rekonstruktions-siden og indstiller der linsevidden til Kendt og konstant, med en klassisk brændvidde på 36 mm.
Tilbage i indstillingsdialogen for objekt-sporeren finder vi på rekonstruktions-siden en knap til 3D objekt-rekonstruktion. Når alle forberedelser nu er lavet, kan vi begynde rekonstruktionen.
Derefter vil lidt tid gå, før objekt-sporeren har rekonstrueret en objektbevægelse ud fra de tilgængelige oplysninger.
Men efter denne korte ventetid kan vi allerede se objektaksen for objekt-sporer-objektet ved vores sporingspunkter. Hvis rekonstruktionen er vellykket, vil objekt-sporer-objektet følge alle bevægelserne på papiret på skrivebordet, når animationen afspilles.
Tilpasning af rekonstruktionen
Ligesom ved sporing af et kamera har objekt-sporeren brug for nogle referencepunkter for at kunne justere sine akser korrekt og sætte enhederne i vores scene i den rigtige skala.
De nødvendige Constraint-tags findes i kontekstmenuen med højreklik under Bevægelses-sporer-tags. Vi starter med en Vektor-Constraint til justering af en akse, hvor Constraint direkte tildelt til objekt-sporeren.
I editor-visningen placerer vi det første Vektor-Constraint fra øverst til venstre til øverst til højre sporingpunkt på papiret.
I indstillingsdialogen for Vektor Constraint-tag definerer vi den ønskede aksejustering, i vores tilfælde X-aksen. Samtidig kan vi ved angivelse af en kendt Længde fastsætte scenens skala. I vores tilfælde er der præcis 12 cm mellem de to mål.
For at angive en anden akse henter vi endnu en Vektor-Constraint fra kontekstmenuen med højreklik eller via menuen Tags>Bevægelse Tracker Tags i objekt-manageren.
I editor-visningen placerer vi det andet Vektor-Constraint fra øverst til venstre til nederst til venstre sporingpunkt på papiret. Som vi kan se, har vores første Vektor-Constraint allerede medført korrekt justering af den røde X-akse.
For det andet Vektor-Constraint er det tilstrækkeligt i dets indstillingsdialog at angive den tilstødende Akse, i vores tilfælde altså Z-aksen.
Flere Constraints er ikke nødvendige for tilpasning af rekonstruktionen af objekt-sporeren. Som det kan ses i editor-visningen, stemmer objekt-sporerens akseposition nu overens med vores scene.
Selve Objekt Tracker er et objekt, der er animeret per keyframes efter vores rekonstruktion - naturligvis uden geometri. Gennem denne objektanimation kan vi nu integrere og animere vilkårlige 3D-objekter i scenen.
Integration af et 3D-objekt
Overskriften er generel, da I naturligvis kan integrere ethvert vilkårligt 3D-objekt i den nuværende animation. I princippet behøver vi blot at underordne vores objekter til Objekt Tracker via Objekt-Manager, men dette er lidt klodset og uoverskueligt i mere komplekse scener.
I stedet for opretter vi et Null-objekt via menuen Opret>Objekt, som vi kan underordne vores 3D-objekter til. Null-objektet tilsluttes derefter via en Constraint.
Giv Null-objektet et passende navn til det 3D-objekt og tilføj derefter en Constraint-tag til det Null-objekt fra Karakter Tags menuen via højreklik-kontekstmenuen.
I indstillingsdialogboksen for Constraint-taget vælger vi først typen af Constraint på Basis-siden, i vores tilfælde PGW (Position, Størrelse, Vinkel). På den nu tilgængelige PGW-side aktiverer vi nederst for Målstilling og Vinkel.
Derefter kan vi trække Objekt Trackeren fra Objekt-Manageren til Mål-feltet af Constraint-taget ved hjælp af træk-og-slip.
Null-objektet indtager straks Objekt Trackerens position og vinkel og vil fortsætte med at gøre det under alle bevægelser uden behov for, at vi griber ind i objekttrackens hierarki.
Som allerede nævnt kan I bruge ethvert vilkårligt objekt til at integrere det i animationen, jeg har f.eks. oprettet en farvet PSD-tekst. Underordn 3D-objektet til Objekt-Manageren med det via en Constraint styrede Null-objekt. Koordinaterne for objekt-koordinaterne i Attribut-Manageren af det Udblæse-objekt viser, at det endnu ikke er tilpasset vores trackede bevægelse.
Men det er hurtigt klaret, vi skal blot 'nulstille' positions- og vinkel-parametrene i Attribut-Manageren, så der ikke er nogen forskydning til det overordnede Null-objekt.
Den endelige positionering af 3D-objektet eller tekstlogoet udføres i Editor-visningen. Vi flytter 3D-objektet midt på papiret ved hjælp af Aksegribberne for 3D-objektet, der er underordnet Null-objektet.
Integrere en baggrund
Da vi ikke har oprettet et miljø eller tracket separat, får vi ved en rendering kun et bevægeligt 3D-objekt foran en sort baggrund som resultat. Vi har dog brug for mindst det baggrundsfootage-materiale, der kører i baggrunden.
Derfor henter vi et Gulv-objekt fra miljøobjektpaletten og underordner det på samme måde som 3D-objektet eller teksten til Null-objektet. For at sikre, at Gulv-objektet også er i korrekt position og vinkel som det animerede Null-objekt, nulstiller vi positions- og vinkel-koordinaterne for Gulv-objektet via Attribut-Manageren.
For at få en passende tekstur til Gulv-objektet, skifter vi kortvarigt til indstillingsdialogen for Motion Trackeren. Her finder vi knappen Opret baggrund-objekt på Footage-siden.
Efter at have klikket på denne knap opretter Motion Trackeren et Baggrund-objekt med et teksturtag defineret korrekt med Frontal-Mapping, som er af interesse for os. Vi flytter blot teksturtaget fra Baggrund-objektet til vores Gulv-objekt i Object-Manageren. Derefter kan vi sikkert slette Baggrund-objektet.
Da Gulv-objektet kun skal fungere som baggrund ved rendering, tildeler vi det et Render-Tag fra Tags>Cinema 4D Tags menuen i Objekt-Manageren.
I indstillingsdialogen for Render-taget finder vi på Tag-siden den vigtige indstilling for os, Baggrundssammensætning. Dette gør, at scenebelysningen ikke påvirker Gulvobjektet, men det kan stadig modtage Skygger.
Indføring af skyggeområder via Ambient Occlusion
Når vi nu renderer vores scene, har vi både vores 3D-objekt og vores optagemateriale som ønsket i det renderede billede. Hvad der stadig mangler, er mangel på skyggekast fra PSD-logoet. Da der er relativt diffuse lysforhold i skrivebordsscenen, bør tilføjelsen af Ambient Occlusion under renderingen allerede give et bedre resultat.
For at aktivere Ambient Occlusion som render-effekt, åbner vi renderingsindstillingerne via menuen Rendering eller genvejen Cmd + B og åbner Renderindstillingerne under knappen Effekter.... Øverst i menuen findes allerede Ambient Occlusion til vores rådighed.
For at skyggeeffekten ikke bliver for kraftig og passer til vores optagemateriale, har jeg næsten efterladt Farvegradienten på standardindstillingen og kun reduceret Maximal strålelængde til 10 cm. Med de angivne værdier for Præcision og Prøver får vi tilstrækkeligt bløde renderede skyggeområder.
Nu ser PSD-logoet allerede meget mere indarbejdet i videosekvensen. Hvis man ønsker at gøre mere ud af det, kan 3D-objekterne selvfølgelig også belyses passende med lyskilder.
Med dette ville vi være nået til slutningen af denne objekt tracking-guide. Til den endelige rendering af dette projekt har jeg valgt det bedste, roligste klip af det selvoptagede optagemateriale (fra billede 70 og frem).