I vores eksempel skal antennerne eller følerne på Alien-Characteret dynamisk og elastisk bevæge sig med hver bevægelse af hovedet. Selvfølgelig kan vores eksempel også anvendes på hårtotter, dinosaurhalespidser og meget mere.
I arbejdsfilen "PSD_C4D_R12_IK_Dyn_Start.c4d" finder I den modellerede og teksturerede Alien-hoved til samarbejde.
Opbygning af Joint-Gerüstet
Vores Alien-hoved består dels af polygonhovedgeometrien, dels af to kugleobjekter til øjnene. Senere vil vi binde alle objekter enten hierarkisk eller via vægtninger til led, så hele hovedet sammen med følerne nemt kan animeres.
Lad os begynde opbygningen af Joint-Gerüstet med et første Joint-objekt til hovedet. I finder det i menuen Character.
Da Alien-hovedet befinder sig nøjagtigt på koordinatsystemets ophav, kan hovedledet forblive på nulpunktet.
Vi beholder det nyoprettede Joint-objekt valgt og aktiverer værktøjet Joint-tool i menuen Character. I indstillingsdialogen for Joint-værktøjet deaktiverer vi oprettelsen af et overordnet Root-nulobjekt. Vi vil senere selv oprette det for bedre at forstå, hvilken funktion det egentlig har i et Joint-Gerüst.
For at arbejde symmetrisk udvider vi området Symmetri og bruger Tegne-Optionen på verdens YZ-plan. På dette plan, respektive i denne visning, vil vi tegne leddene.
Når vi nu med det aktiverede Joint-værktøj og holdt Ctrl-tasten nede, klikker ind i visningen, oprettes der automatisk og symmetrisk led under hovedet.
Vi beslutter os for en af de to følere eller antenner og placerer det første under-led direkte ved følerens base ved hovedet. CINEMA 4D opretter automatisk leddet til den anden føler takket være den aktiverede Symmetri.
Ved at klikke med holdt Ctrl-tasten for at oprette en ledkæde på de positioner vist i billedet. Hvor det bliver mere detaljeret, bør leddene også ligge lidt tættere på hinanden. Vi bør ikke spare med leddene, for kun ved disse ledpunkter kan der overhovedet finde en deformation eller bøjning sted.
Når vi har oprettet alle led, finder vi i Objekt-Manageren den led-hierarki vist på billedet. Hovedledobjektet har i alt to ledkæder som underobjekter - en kæde for hver føler eller antenne.
For at justere ledpositionen parvis i sidevisningen, vælger vi et ledpar i Objekt-Manageren og flytter leddene langs deres z-akse ind i geometrien.
Joint-Gerüstet til animation af følerne eller antennerne er dermed allerede færdigt. Desværre har det stadig ikke nogen forbindelse til vores Alien-hoved, der tillader os at animere hovedet.
Dette er først muligt, når vi har forbundet ledhierarkiet med geometrien. Til dette skal vi først vælge alle Led-objekter samt Polygon-objektet for Alien-geometrien via Objekt-Manageren.
Forbindelsen mellem ledhierarkiet og Polygon-Mesh oprettes nu ved kommandoen Binden fra menuen Character>Kommandoer.
Hvad har kommandoen Binden nu opnået? Polygon-objektet for Alien-geometrien har nu en Vægtning-tag, hvor alle Led-objekter samles i dialogen, der kan påvirke Alien-hovedets geometri. Denne automatiske vægtning afhænger af ledpositionen til geometrien og er en god udgangspunkt.
Vægtning af leddene
Denne Vægtning er dog sjældent helt perfekt; lidt efterbehandling er derfor påkrævet. For at få et indtryk af de tilstødende vægtninger deaktiverer vi først funktionen for HyperNURBS-buret via Objekt-Manageren. Vægtningværktøjet viser vægtningerne på geometrien, når polygonnettet ikke er glattet. For en samlet oversigt vælger vi først alle Led-objekter med geometrien i Objekt-Manageren.
Vi finder Vægtværktøjet i menuen Tegn. Når vi har aktiveret det, begynder geometrien af Alien-hovedet allerede at blive farvet. Hver Joint har sin egen farve, som viser dets indflydelse på geometrien.
For at kunne vurdere Jointsene og deres indflydelse på geometrien individuelt, skal vi blot vælge den pågældende Joint i Objekt-Manageren. Alle områder af geometrien, der ikke berøres af denne Joint, forbliver sorte.
På hoved-Jointen bemærker vi, at næsespidsen ikke er 100% farvet med Joint-farven. Med Vægtværktøjet kan vi forhindre eventuelle deformationer ved at øge Vægten for Jointen målrettet med vægtbørsten.
Også ved overgangene til antennernes følere er der lidt for meget indflydelse på hovedgeometrien. For at reducere tilstødende Vægtninger bruger vi Vægtværktøjet samtidig med at vi holder Ctrl-tasten nede.
For at afslutte vægtarbejdet anbefales det at vælge alle Joints igen ved hjælp af Objekt-Manageren, indstille farvevisningen til Ensfarvet, og kontrollere om hele geometrien har en vægtning. Som det kan ses på billedet, er hele Alien-hovedet farvet hvidt, hvilket fortæller os, at alle geometriområder er tilføjet vægtninger.
De Kugle-objekterne i øjnene er undtaget fra vægtningen. For at disse objekter også bevæger sig med, når hovedet drejes eller bevæges, tilføjer vi dem simpelthen til hoved-Jointen i Objekt-Manageren. Når hoved-Jointen f.eks. drejes, følger øjenobjekterne med på grund af deres underordning under hovedets retning.
Det er nu på høje tid at kontrollere ledstrukturerne og de tilhørende vægtninger i praksis. Vi vælger hoved-Jointen og drejer den med Roteringsværktøjet langs y-aksen. Hele Alien-hovedet bør følge hoved-Jointens bevægelser uden problemer.
Integration af Invers Kinematik med Dynamik
Når Jointsene nu virker som ønsket på de tilsvarende områder af Alien-hovedet, kan vi tage os af animationen af følerne eller antennerne ved hjælp af Invers Kinematik (IK). Til dette skal vi definere de to ledstræk til følerne eller antennerne som en IK-kæde.
Vi vælger disse to ledstræk i Objekt-Manageren - bemærk, at hoved-Jointen ikke indgår i dette valg!
CINEMA 4D tilbyder igen en specialkommando kaldet Opret IK-kæde, der automatisk omdanner de valgte ledstræk til IK-kæder. Vi finder den i menuen Tegn>Kommandoer.
Vi anvender kommandoen Opret IK-kæde og kontrollerer ændringerne i vores ledkæde. De to Joints ved hovedets base har fået tildelt et IK-tag hver. I dette tag er både starten og slutningen af IK-kæden automatisk defineret.
Derudover finder vi to nye Nul-objekter som Målobjekter i Objekt-Manageren. Disse to mål svarer til enderne af ledkæden. De giver os mulighed for at animere hele IK-kæden ved hjælp af disse enkle styringsmål.
Vi vil egentlig gerne styre bevægelserne af følerne eller antennerne automatisk gennem dynamiske egenskaber. Det skader dog ikke at beholde disse to målobjekter, da følerne eller antennerne dermed justerer sig efter hvert bevægelse og deformation og automatisk retter sig mod målene.
Et kig i indstillingsdialogen for IK-tagene viser os, hvordan enderne eller målene for IK-kæden er defineret. Disse parametre i området Tag kan vi beholde; vi er mere interesserede i Dynamikindstillingerne nu.
Her skifter vi til fanen Dynamik og aktiverer først Dynamik-optionen. Nu kan følerne eller antennerne allerede reagere på påvirkninger som Gravitation eller Bevægelse.
For at følerne ikke hænger slap ned, men virker mere elastiske og modstandsdygtige, reducerer vi Dynamikstyrken til ca. 40-45% og øger Dæmpningen drastisk til ca. 70%. For at få følerne til at stræbe endnu mere efter at komme tilbage til starttilstanden, øger vi parameteren Bevar vinkel til ca. 40-45%.
På dette punkt vil jeg opfordre til at eksperimentere med parametrene. På den måde lærer man hurtigt, hvordan de enkelte indstillinger påvirker hele kæden af Invers Kinematik - og det er selvfølgelig også sjovt.
Fordi de to outsourcede mål-objekter ikke får noget af den dynamiske animation fra følerne eller antennerne med, er vi nødt til at lære IK'en, at disse mål skal bevæges med. Ellers ville følerne meget hurtigt blive filtret sammen ved en hurtig rotation.
Rytteren Yderligere i IK-tag'en giver os en meget elegant funktion til dette. Vi aktiverer simpelthen bare muligheden Flyt mål med, og de to mål-objekter bevæger sig automatisk med hver bevægelse.
Nu er den omvendte kinematik-funktionalitet af følerne eller antennerne også på plads. Lad os skabe lidt orden i Objekt-Manageren, ved at omdøbe de mål-objekter samt de led-kæder passende.
For animationen af alien-hovedet fungerer hoved-jointen stadig som håndtag. Desværre er denne joint relativt klodset, da den på grund af sine underordnede led-kæder roterer i rummet.
Vi har imidlertid brug for en "ren" startposition med vinklerne, så rotationen og bevægelsen af alien-hovedet kan foregå uden uønsket forskydning.
Her kommer så Rod-Null-Objektet ind i billedet, som vi kort stødte på i starten.
Det giver os en helt ny, jomfruelig koordinatbasis til rådighed. Og for at hele IK-kæden skal tages i betragtning, skal vi blot underordne den til Rod-Null-Objektet.
Først opretter vi dog det friske Null-Objekt via menuen Objekter. Da hoved-jointen ligger på nulpunktet, behøver vi ikke engang at omplacere det nye null-objekt.
Vi omdøber dette nye Null-Objekt til Rod og underordner hele led-hierarkiet til det via Objekt-Manageren.
Så nu kan vi trykke på afspilningsknappen og rotere alien i alle retninger ved at rotere Rod-Null-Objektet og animere. Følerne eller antennerne styres dynamisk af tyngdekraften og vores bevægelser.
Rod-Null-Objektet er derfor en praktisk hjælper til animation af et led-hierarki. Ved oprettelse af et led-skelet får mindst det primære led (normalt hoften) tildelt sådan et overordnet Null-Objekt. For at dette automatisk sker, skal vi blot aktivere Valg Rod-Null-Objekt i indstillingsdialogen for Led-værktøjet.