I vårt exempel ska antennerna eller känselorganen på den utomjordiska karaktären röra sig dynamiskt och elastiskt med varje huvudrörelse. Naturligtvis kan vårt exempel också tillämpas på hårlinjer, dinosauriestjärtar och mycket mer.
I arbetsfilen "PSD_C4D_R12_IK_Dyn_Start.c4d" hittar du den modellerade och texturerade utomjordiska huvudet att arbeta med.
Uppbyggnad av Joint-strukturen
Vårt utomjordiska huvud består dels av den polygonala huvudgeometrin, dels av två kulobjekt för ögonen. Senare kommer vi att hierarkiskt eller via vikter binda alla objekt till leder, så att hela huvudet tillsammans med känselorganen enkelt kan animeras.
Vi börjar uppbyggnaden av Joint-strukturen med ett första Joint-objekt för huvudet. Vi hittar det i menyn Character.
Eftersom det utomjordiska huvudet exakt sitter på ursprunget i koordinatsystemet kan huvud-jointen förbli i nollposition.
Vi lämnar det nyss skapade Joint-objektet markerat och aktiverar Joint-verktyget i menyn Character. I inställningsdialogen för Joint-verktyget avaktiverar vi skapandet av en överordnad Rot-Noll-Objekt. Vi kommer senare att skapa det själva för att bättre förstå vilken funktion det faktiskt har i en Joint-struktur.
För att kunna arbeta symmetriskt fäller vi ut avsnittet Symmetri och använder ritningsalternativet på världens YZ-plan. På denna nivå eller i denna vy kommer vi att rita Jointsen.
När vi nu med aktiverat Joint-verktyg och nedtryckt Ctrl-tangent klickar i vyn skapas underordnade Jointar automatiskt och symmetriskt i förhållande till huvud-jointen.
Vi väljer en av de två känselorganen och placerar den första under-jointen direkt vid basen av organet på huvudet. Jointen för det andra organet skapas automatiskt av CINEMA 4D tack vare aktiverad Symmetri.
Genom att klicka och samtidigt hålla ned Ctrl-tangenten skapar vi nu en kedja av Joints på positionerna som visas i bilden. Där det behövs mer detaljerade delar bör Jointarna också ligga något närmare varandra. Vi bör inte snåla med Jointar, eftersom endast vid dessa leder kan en deformation eller böjning av geometrin överhuvudtaget äga rum.
När vi har skapat alla Joints hittar vi i Objekthanteraren Joint-hierarkin som visas i bilden. Huvud-joint-objektet har totalt två Joint-kedjor som underobjekt - en kedja för varje känselorgan.
För att anpassa positionen för Joints också parvis i vyn väljer vi ett Joint-par i Objekthanteraren och flyttar Jointar längs deras z-axel i geometrin.
Joint-strukturen för att animera känselorganen är därmed klar. Tyvärr har den ännu ingen koppling till vårt utomjordiska huvud, vilket skulle möjliggöra att animera huvudet.
Detta är endast möjligt när vi har kopplat Joint-hierarkin till geometrin. För att göra detta väljer vi först alla Joint-objekt och Polygon-objektet för utomjordgeomtrin i Objekthanteraren.
Kopplingen mellan Joint-hierarkin och Polygon-Mesh åstadkommer vi nu med kommandot Binda från menyn Character>Befäl.
Vad har nu Binda-kommandot åstadkommit? Polygon-objektet för utomjordgeomtrin har nu ett Viknings-tag, där alla Joint-objekt som kan påverka geometrin i utomjordhuvudet är samlade. Denna automatiska vikning är baserad på positionen av Jointar i förhållande till geometrin och är en bra utgångspunkt.
Vikten av Jointar
Denna viktning är dock sällan helt perfekt; lite efterarbete krävs. För att få en uppfattning om vikterna avaktiverar vi först funktionen för HyperNURBS-bur via Objekthanteraren. Viktnings-verktyget visar vikterna på geometrin när Polygonmesh inte är utslätat. För en överblick väljer vi först alla Joint-objekt med geometrin i Objekthanteraren.
Vi hittar Viktningsverktyget i menyn Character. Efter att vi har aktiverat det, börjar geometrin på Alien-huvudet färgas. Varje Joint har en egen färg som visar dess påverkan på geometrin.
För att kunna bedöma Joints och deras påverkan på geometrin individuellt, behöver vi bara markera respektive Joint i Objekthanteraren. Alla områden i geometrin som inte berörs av denna Joint förblir svarta.
På huvud-Jointen märker vi att spetsen på näsan inte är 100% färgad i Joint-färgen. Med Viktningsverktyget kan vi förhindra eventuella deformationer genom att målinriktat öka vikten för Jointen med Viktningspenseln.
Också vid övergångarna till antennerna finns det lite för mycket påverkan på huvudgeometrin. För att minska intilliggande vikter, använder vi Viktningsverktyget med tryckt Ctrl- eller Strg-tangent.
För att avsluta arbete med vikter rekommenderas det att markera alla Joints igen i Objekthanteraren, sätta viktfärgen till Enfärgad och kontrollera om hela geometrin har en vikt. Som syns på bilden är hela Alien-huvudet färgat vitt, vilket säger oss att alla delar av geometrin har vikter.
Ögonens sfärobjekt har undvikits från vikterna. För att dessa objekt också ska följa med när huvudet roteras eller rör sig, placerar vi dem enkelt under huvud-Jointen i Objekthanteraren. Om huvud-Jointen nu t.ex. roteras, följer ögonobjekten med på grund av sin underordning till huvudens positionering.
Men det är hög tid att faktiskt kontrollera Joint-strukturen och vikterna i praktiken. Vi markerar huvud-Jointen och vrider den med Rotationsverktyget längs y-axeln. Hela Alien-huvudet bör då utan problem följa med i huvud-Jointens rörelser.
Integration av Invers Kinematik med Teknik
När Joints nu fungerar som önskat på de olika områdena av Alien-huvudet, kan vi ta hand om att animera antennerna via Invers Kinematik (IK). För detta måste vi definiera de två Joint-strängarna för antennerna som en IK-kedja.
Vi markerar dessa två Joint-kedjor i Objekthanteraren - observera att huvud-Jointen lämnas utanför!
Här erbjuder även CINEMA 4D en specialkommando kallat Skapa IK-kedja, som automatiskt omvandlar de markerade Joint-kedjorna till IK-kedjor. Vi hittar den under menyn Character>Befehle.
Vi använder kommandot Skapa IK-kedja och kontrollerar vad som har skett med vår Joint-kedja. De två Joints vid huvudfästet har fått en IK-tag vardera. I denna tagg har början och slutet på IK-kedjan automatiskt lagts till.
Vi hittar också två nya Noll-Objekt som Mål-Objekt i Objekthanteraren. Dessa två mål är namngivna analogt med ändarna på Joint-kedjan och tillåter oss att animera hela IK-kedjan via dessa enkla styr-mål.
Vi vill egentligen styra rörelserna av antennerna automatiskt genom dynamiska egenskaper. Men det skadar inte att behålla dessa två mål-objekt då antennerna alltid justeras och riktas mot målen efter varje rörelse och deformation och ställer sig automatiskt in.
En titt på inställningsdialogen för IK-taggar visar oss hur ändpunkterna eller målen för IK-kedjan är definierade. Dessa parametrar i avsnittet Tagg kan vi behålla; vi är mer intresserade av Dynamics-inställningarna nu.
Där byter vi till fliken Dynamik och aktiverar först Dynamik-valet. Nu kan antennerna redan reagera på influenser som Gravitation eller Rörelse.
För att dock inte antennerna bara ska hänga ner slakt, utan verka mer elastiska och motståndskraftiga, minskar vi Dynamikstyrkan till ca 40-45% och ökar dämpningen drastiskt till ca 70%. För att antennerna ska anstränga sig mer för att återfå sitt ursprungsbehållande, ökar vi parametern Behåll vinkeln till ca 40-45%.
Jag kan bara uppmana dig att experimentera vidare med parametrarna här. På så sätt lär man sig snabbt hur de olika inställningarna påverkar hela kedjan av Invers Kinematik - och det är så klart roligt också.
Eftersom de två outsourcade målobjekten inte märker av den dynamiska animationen av antennerna, måste vi lära IK att dessa mål också ska flyttas med. Annars skulle antennerna snabbt trassla ihop sig vid snabba rotationer.
Rubriken Vidareutveckling i IK-taggen ger oss en väldigt elegant funktion för detta. Vi aktiverar enkelt alternativet flytta mål med, och de två målobjekten följer automatiskt med vid varje rörelse.
Nu är också funktionaliteten för Invers kinematik för antennerna löst. Låt oss skapa lite ordning i Objekt-Manager genom att passande döpa om målobjekten samt Joint-kedjorna.
För närvarande fungerar huvudet på huvud-jointen som en handtag för att animera alien-huvudet. Tyvärr är denna joint ganska otymplig eftersom den på grund av sina underordnade jointkedjor är roterad i rummet.
Men egentligen behöver vi en "ren" startposition för vinklarna, så att rotationen och rörelsen av alien-huvudet kan ske utan oönskade förvrängningar.
Här kommer rot-null-objektet in i bilden, som vi redan snabbt nämnde i början.
Det ger oss en helt ny, opåverkad koordinatbas. Och för att hela IK-kedjan ska rättas in måste vi endast underordna den under rot-null-objektet.
Först skapar vi dock det nya fräscha null-objektet via Objekt-menyn. Eftersom huvud-jointen ligger på nollpositionen behöver vi inte ens flytta det nya null-objektet.
Det nya null-objektet döper vi förståeligt nog om till Rot och underordnar hela Joint-hierarkin genom Objekt-Manager.
Senast nu kan vi trycka på play och rotera alien i alla riktningar genom att rotera rot-null-objektet. Antennerna påverkas dynamiskt av gravitationen och våra rörelser.
Root-null-objektet är alltså en praktisk hjälpmedel vid animation av en joint-hierarki. Vid skapandet av en jointstruktur får åtminstone huvudjointen (vanligtvis höften) en överordnad null-objekt. För att detta ska ske automatiskt behöver vi bara aktivera alternativet Rot-null-objekt i inställningsdialogen för Joint-verktyget.