Før vi går i gang med at lave animationen ovenfor, skal vi først se på, hvordan kollisionsdeformatoren fungerer. Som navnet antyder, er det et deformationsobjekt, der grundlæggende i CINEMA 4D skal grupperes eller underordnes det objekt, der skal deformeres.
Deformation med et simpelt ringobjekt
I arbejdsfilen "PSD_C4D_R13_Kollisionsdeformer_1.c4d" finder I mit første eksempel, hvor et parametrisk plan-objekt skal deformeres med et ligeledes parametrisk ring-objekt.
Lad os kort se på elementerne i scenen. Plan-objektet er stort nok til at rumme alle deformationer fra ring-objektet. Lige så vigtigt er den relativt høje opdeling (segmentering) i bredde og højde. Med utilstrækkelig opdeling kan der ikke opnås en blød deformation, når der sker en kollision med et andet objekt; overfladerne vil i stedet se takkede og trappeformede ud.
Jeg har heller ikke sparet på opdelinger på ring-objektet. Denne segmentering er også nødvendig, for at det deformerede objekt kan kollidere præcist.
Kollisionsdeformatoren findes, som forventet, i paletten med de andre deformationsobjekter.
Vi trækker kollisionsdeformatoren fra objekthåndtereren over på plan-objektet, for at få deformatoren til at virke på planet. Næste skridt er at fortælle deformatoren, hvilke objekter der må deltage i deformationen. Da ring-objektet i mit tilfælde skal stå for deformationen, trækker vi det ved træk og slip ind i feltet objekter på kollisionsiden af indstillingsdialogen.
Til de første tests kan vi bruge solver-indstillingen Gennemtrængning. Her bestemmer kollisionsdeformatoren selv, baseret på objekternes placering, om deformationen foregår inden eller uden for det objekt, der skal deformeres.
På objektsiden finder vi finjusteringerne til implementering af deformationen ved kollision. Med parameteren Afbidning kan I angive, om og på hvilken måde (ved brug af UV-koordinater, afstand, baseret på overfladen eller kollision) yderligere deformation skal aftage. Derudover er der også parametre for størrelsen (afstanden) samt styrken af kollisionsaftagningen.
Vi vil gå mere i detaljer med parameteren genoprette form senere. Med den kan vi sikre, at deformationen ikke vender tilbage, men forbliver som et præg eller en form.
Allerede i udgangspositionen efterlader ring-objektet tydelige spor på planet. Da vi har valgt solver-indstillingen Gennemtrængning, kan ring-objektet for det meste trykkes ind i planet gennem forskydning, …
… indtil ring-objektets position informerer kollisionsdeformatoren om, at det befinder sig inden i planet og danner en udformning.
Da denne automatiske genkendelse ikke altid er ønsket, ændrer vi hurtigt solver-indstillingen til Inden (Strækning). I modsætning til den normale Inden-indstilling sørger Strækning for, at det deformerede objekt kan deformeres så længe som muligt ved strækning.
En utilsigtet skift til Udenfor er nu forhindret, så vi til enhver tid problemfrit kan flytte ringen under plan-objektet.
På denne måde er det let at realisere dækkede objekter, som naturligvis også må bevæge sig.
Lad os sammenligne med indstillingen Udenfor. Her angiver vi, at det deformerede objekt grundlæggende er placeret uden for det objekt, der skal deformeres. Her har vi også mulighed for at give objektet mere mulighed for deformation ved at tilføje volumen.
Nu kan ring-objektet nemt flytte sig ind i det deformede plan-objekt, så langt vi ønsker.
Forvridning med en animeret kugle
Dermed har vi belyst de vigtigste indstillinger for kollisionsobjektet i stor udstrækning, så vi kan vove os ud i en lille animation. I arbejdsfilen "PSD_C4D_R13_Kollisionsdeformer_2.c4d" finder du den færdige animation til sammenligning.
Vores scene består af det velkendte planobjekt, en parametrisk kugle samt en flad heliks som animationssti for kuglen.
Helixen er flad, fordi højde er indstillet til værdien 0. Ud over retningsudførelsen af planet i XZ-retning er det vigtigt med fordelingen af mellempunkter for at sikre, at kuglens animation senere forløber jævnt.
For at opnå en så glat og problemfri deformation ved kollision med kuglen øger vi opdelingen af planet i indstillingsdialogen for planobjektet til 120 segmenter hver.
Inden vi fortsætter med den egentlige deformation, skal vi først sørge for kuglens animation.
For at kuglen kan bevæge sig langs heliksplinen, har den brug for en Align to Spline-udtryk fra menuen CINEMA 4D Tags, som vi åbner med højreklik.
I indstillingsdialogen for Align to Spline-udtrykket trækker vi heliksplinen som splinesti ind i det dertil afsatte felt. Kuglens egentlige animation sker nu via parameteren Position. Vi placerer tidsmarkøren i animationspaletten enten ved at trække den eller indtaste det ønskede billede (for mig billede 0) som starttidspunkt og sætter for parameteren Position en keyframe ved at klikke på parameterfeltet mens Ctrl-tasten holdes nede.
Ved animations sluttidspunktet (for mig billede 200) når vi frem på samme måde. Her indtaster vi værdien 100% i parameteren Position for at fuldføre nåelsen til splinestiens slutpunkt og genererer også her en keyframe ved at klikke på parameterfeltet mens Ctrl-tasten holdes nede.
Kuglens animation er dermed allerede færdig; ved at klikke på afspil-knappen i animationspaletten kan du lade kuglen vandre langs splinestien. Da kuglen ikke har nogen specielle kendetegn som mønster eller markering, behøver vi i dette tilfælde ikke bekymre os om dens rotation.
Når alle elementer, der er involveret i animationen, er klargjort, er det nu tid til at realisere deformationen udløst af kuglen. Vi henter kollisionsdeformatoren fra paletten med deformationsobjekter.
Som sædvanligt gør vi kollisionsdeformatoren til et underobjekt af planet ved at trække den i objektmanager. På objektsiden af indstillingsdialogen begynder vi med de første egenskaber for de kolliderende objekter. For at opnå en så præcis formindsnævring i deformationen, indstiller vi formindsnævningsmetoden til kollision. Relativt lave værdier for afstand og styrke sikrer, at den fortrængte "masse" ikke spreder sig for langt ud.
Parameteren gendan formen angiver, i hvor høj grad deformationen vender tilbage efter kollisionen. Da vi gerne vil bevare det spor, som kuglen har genereret, sætter vi værdien til 0% for at forhindre gendannelse.
For at generere spor har vi brug for indstillingen uden for på kollisionsiden. Som deformerende objekt trækker vi kugleobjektet ind i det dertil afsatte objektfelt.
Yderligere indstillingsmuligheder for objektet, der formes via kollisionsdeformatoren, findes på avanceretsiden. Her kan vi definere planens materialeegenskaber nærmere. For at give planet tilstrækkelig mulighed for deformation sætter vi parameteren strækning til ca. 10-15.
Meget små værdier for parametrene hårdhed, struktur og bøjning sikrer, at materialet næsten uden modstand fortrænges af kuglen. Du kan eksperimentere med værdierne for at få en fornemmelse af, hvordan parametrene påvirker resultatet.
Med disse arbejder er al animation nu færdig. Et kig på editorvisningen afslører allerede ved starttidspunktet, at kuglen, som ønsket, deformerer planetobjektet via kollisionsdeformatoren.
Efter at have klikket på afspilningsknappen i animationspaletten, kan vi se kuglen trække banen på overfladen. Vær opmærksom på, at deformationen dannes af hver kollision mellem kuglen og planet. Tidsafspring, hvor billeder bare springes over, vil derfor resultere i uønsket manglende deformation på planeten.
Den færdige animation kan nu rendres. Hvis glathed af den deformede overflade ikke er tilstrækkelig, er opdeling eller segmentering af det deformede objekt det første sted at gå til.