Deze tutorial kun je direct na de Rigging-tutorial met de Character Templates doorlopen. Als je op dit moment wilt beginnen, vind je in het werkbestand "PSD_C4D_R13_CMotion_Start.c4d" het eindresultaat van de Rigging-tutorial, dus de basis voor deze tutorial.
Aanmaken van de loopcyclus (Walkcycle)
Met het nieuwe CMotion-object is het echt gemakkelijk om een loopcyclus te creëren voor een al bestaand karakter gebaseerd op de Character Templates van CINEMA 4D.
In het instellingendialoogvenster van het Character-object hebben we de Animeren-modus nodig op het Object-tabblad. Hier bevindt zich de knop Loop creëren, die ons dankzij het gebruik van het Character Template een eerste loopcyclus genereert.
Wie heeft gelet op de Editor, zal hebben opgemerkt dat na het klikken op de knop Loop creëren de benen van onze Alien iets verschoven zijn. Maar er is veel meer gebeurd.
Een klik op de Afspeelknop van de Animatie-palette toont aan dat onze Alien een loopcyclus doorloopt. Ook al doet hij op dit moment ijverig zijn best, want de Alien komt nog niet van zijn plaats.
Wat is er gebeurd in de Object-manager? Aan het Character-object is een nieuw CMotion-object toegevoegd, dat alle informatie en controle-opties bevat voor de gecreëerde loop. Dit is dus de plek om de loop van de Alien aan te passen en te individualiseren.
Voordat we aan de individualisering van de loop beginnen, zorgen we eerst voor de basisparameter voor de Walkcycle. Op het Object-tabblad van het instellingsdialoogvenster vinden we de Staplengte. Zoals je misschien al hebt opgemerkt, maakt onze Alien hele kleine stappen. Om hem wat vastberadener te laten lijken, verhogen we de Staplengte naar 15 cm.
Deze verandering is meteen merkbaar in de Editor. De voeten van de Alien staan nu al wat verder uit elkaar.
De Snelheid van de cyclus regelen we via de parameter Tijd. Deze waarde geeft aan hoeveel frames het karakter nodig heeft om een volledige loopcyclus te doorlopen. We versnellen de loop dus door deze waarde te verlagen, in mijn geval naar 15 frames.
Zodat onze Alien niet meer op zijn plaats hoeft te marcheren, veranderen we de instelling in het menu Lopen van Statisch naar Recht vooruit.
Nu nog een klik op de Afspeelknop van de Animatie-palette, en onze Alien loopt vastberaden recht op ons af.
Individualisering van de loopcyclus
Het huidige looppatroon van de Alien ziet er nogal mechanisch en onnatuurlijk uit. Met een paar aanpassingen geven we onze Alien meer persoonlijkheid.
Hiervoor kunnen we aan de verschillende Componenten extra Acties toewijzen die op specifieke momenten in de loopcyclus plaatsvinden. We bereiken de Objecten en Acties via het Object-tabblad in het uitvouwmenu Objecten. Hier bevinden zich al de eerste acties van de loopcyclus, zoals het optillen van de voeten door de twee acties Lift (P.Y).
De bijbehorende parameters zien we wanneer we de twee Acties in de lijst selecteren. Hier is al een eerste aanknopingspunt voor onze individualisering - we verhogen het optillen van de voeten naar 5 cm, zodat onze Alien ook fatsoenlijke stappen zet.
Een blik op de Editor-weergave laat meteen het effect van onze wijziging zien. De voet wordt nu veel sterker omhoog getrokken, zodat de stappen veel opvallender worden.
Als volgende stoort ons het stijve bovenlichaam van de Alien. Gedurende de hele loopcyclus is hier geen enkele beweging. De component Bekken, dat wil zeggen de heupen, is hiervoor verantwoordelijk. We zoeken deze uit de hiërarchie van de componenten in de Objecten-lijst en selecteren deze.
Een goede start zou zijn als het bovenlichaam bij elke stap lichtjes in de bijbehorende richting zou draaien. Hiervoor kiezen we de actie Draaien (W.Y) uit het menu Acties.
Zodat het onderdeel Heup de actie daadwerkelijk uitvoert, moeten we deze expliciet toewijzen aan het onderdeel met de gelijknamige knop naast het Acties-menu.
Wanneer we iets naar beneden scrollen in de lijst met Objecten en Acties, zien we ook de nieuw toegevoegde Draai-actie als subonderdeel van het Heup-onderdeel. De bijbehorende instellingen verschijnen wanneer we de Actie in de lijst selecteren.
Voor de Draaiing heb ik een waarde van 8° gebruikt. Dit is al vrij opvallend - als je wilt, kun je ook een lagere waarde gebruiken. Door een variatie op te geven, kun je de beweging nog wat willekeuriger maken.
Laten we de al enigszins gepersonaliseerde gang bekijken door op de Afspelenknop van het Animatiepalet te klikken en de Alien opnieuw te laten lopen.
Nu beweegt het bovenlichaam inclusief hoofd en armen zich wel, maar de armen lijken nog steeds te stijf. Hier moeten we extra Acties toevoegen om de armen ook tijdens de gangcyclus mee te laten bewegen. Hiervoor kunnen we de twee Armonderdelen in de Lijst van Objecten aanspreken.
Nadat we beide onderdelen in de lijst hebben geselecteerd, klappen we het menu met de Acties uit en kiezen we de actie Draaien (W.Y). Hierdoor zullen de armen lichtjes meezwaaien met de loopbeweging.
Vervolgens wijzen we beide Armonderdelen de gekozen actie toe via de Toewijzingsknop.
Zodat we de instellingen voor beide Acties in één enkele stap kunnen uitvoeren, selecteren we de twee Acties onder het Armonderdeel in de lijst van Objecten.
Voor de Draaihoek heb ik een waarde van 20° gebruikt; dit zorgt ook weer voor een duidelijk merkbare draaiing van de armen. Als je de draaiing minder opvallend wilt maken, verlaag je deze waarde eenvoudig. Ook hier kun je door een toegestane Variantie van deze hoek een onregelmatigere en daardoor natuurlijker ogende beweging creëren.
Nu bewegen de armen van de Alien wel bij elke stap mee, maar beide armen op hetzelfde moment en in dezelfde richting. Dit kunnen we echter ook heel eenvoudig corrigeren.
In het instellingendialoog van het CMotion-object bekijken we nogmaals de twee Armonderdelen in de lijst. Er is geen specifieke Driver voor de Draaiing ingesteld voor beide vermeldingen. Eigenlijk willen we echter dat de Alien bij elke stap de draaiing van de armen uitvoert. Niets eenvoudiger dan dat: we stellen gewoon het Naaf in als een taktgever voor de twee onderdelen in het menu Driver.
We verplaatsen ook de Timing van de uitvoering om nog wat natuurlijkheid in de beweging te brengen. Hiervoor verlagen of verhogen we de beide Fase-waarden van de componenten van -25% en 25% naar ongeveer -45% en 45%. Probeer gewoon verschillende waarden en hun effecten op de loopcyclus uit totdat je tevreden bent met een combinatie.
In de Editorweergave is goed te zien dat nu vanwege de veranderde Driver en het aangepaste Timing de armen afwisselend meezwaaien. Voel je vrij om verder te experimenteren met de parameters totdat je de gewenste "loopstijl" voor onze Alien hebt gevonden.
Wat we - vooral bij onze Alien met buitengewoon gevormde voeten - niet uit het oog mogen verliezen, zijn mogelijke Overlap met het oppervlak waarop onze Alien stapt.
Om dit te controleren, schakelen we het Bodemobject dat zich in de groep Scène bevindt via de verkeerslichtschakelaar in de Objectmanager in.
In de editorweergave is duidelijk te zien dat vanwege de extreme breedte van de voeten een overlapping met het oppervlak niet helemaal kan worden uitgesloten. Bovendien moeten we controleren of onze Alien ook tijdens de hele loopcyclus op de daarvoor bestemde vloer stapt.
Om deze problematische gebieden aan te pakken, moeten we terugkeren naar het instellingendialoog van het CMotion-object en daar de pose-pagina openen. Hier hebben we extra parameters om het gedrag van een personage tijdens het lopen te regelen.
We willen ons Alien-personage iets omhoog verplaatsen om de stap optimaal aan de vloer aan te passen. Hiervoor voeren we de gewenste offset (basisoffset) gewoon een stukje omhoog in (in mijn geval 0,7 cm).
Laten we de extra offset van het Alien-personage in de editorweergave controleren. Er is nu geen overlapping meer te zien ...
... dus er zijn ook geen storende overlapingen aan de voet te zien bij het renderen. De loopcyclus voor onze kleine alien is nu ingesteld en we kunnen hem eindelijk vrij laten lopen.
Lopen langs een vooraf bepaald pad
Het CMotion-object biedt verschillende manieren om het nu loopbare personage op reis te sturen. We bekijken hieronder de optie om ons Alien-personage over een spline-pad te laten wandelen.
Voor het gemak heb ik gekozen voor een cirkel-object als spline-pad. Natuurlijk kun je ook een ander pad opgeven. Mijn cirkel-spline heeft een radius van 80 cm en bevindt zich in het horizontale vlak XZ.
Daardoor blijft onze kleine alien grotendeels in het zicht.
Om ons Alien de cirkel-spline als pad op te geven, moeten we terugkeren naar het instellingendialoog van het CMotion-object op de objectpagina. In het menu lopen hadden we tot nu toe de instelling naar voren gedefinieerd. Hier kiezen we in plaats daarvan pad als loopvoorschrift.
In het nu beschikbare veld pad van de objecteigenschappen slepen we het cirkel-object uit de objectmanager. Ons Alien-personage krijgt nu via het CMotion-object te horen dat het zich langs het cirkel-pad moet verplaatsen.
Onze kleine alien heeft meteen braaf zijn startpositie op het spline-pad ingenomen; maar we moeten ook hier controleren of de cirkel-spline de juiste positie van het personage op de ondergrond mogelijk maakt. Zoals duidelijk te zien is in de afbeelding, gebruikt het personage de enkel als referentiepunt voor het lopen langs het pad.
Voordat we hier een aanpassing mogen uitvoeren, zoals in mijn geval het verschuiven van de cirkel-spline, moeten we eerst tijdelijk het CMotion-object deactiveren. Anders raakt ons CMotion-object volledig in de war, wat meestal leidt tot avontuurlijke vervormingen. Nadat we dus het CMotion-object hebben gedeactiveerd via de activeringsschakelaar in de objectmanager, kunnen we de positie van de cirkel-spline, indien nodig, corrigeren.
Na deze wijziging kunnen we het CMotion-object weer activeren via de activeringsschakelaar en onze kleine alien zien wandelen langs het spline-pad.