För att vi ska kunna fokusera helt på arbetet med Dynamics och MoGraph hittar ni alla övriga delar av scenen i arbetsfilen "PSD_C4D_R12_Dyn_RigidB_Konnektorer_Start.c4d".
En tredelad ratt och en kula ska vara tillräckligt; resten kommer vi att ordna med MoGraph-kloner eller en partikelemitter.
Scenens uppbyggnad med MoGraph-kloner
De tre viktigaste objekten i vår scen är kulan, ratten och det sneda planet där kulorna senare ska rulla ner. Med undantag för ratten bladen har alla objekt redan ett material. Den som vill kan anpassa scenen till sina egna idéer med andra material.
För kulorna använder vi en enkel, parametrisk kul-objekt, som senare kommer att klonas. Radien på 7 cm matchar vår ratt och planet, vars nedre kant bör ta emot kulorna så bra som möjligt senare.
Ratten skapas genom extrusion av en Blomma-splin-objekt, med en extrudera-generatoren. För ratten bladen har antalet blad minsats motsvarande. Den inre radien är precis tillräckligt stor för att den insatta axeln (en enkel Cylinder-objekt) ska få tillräckligt med plats.
Den som vill kan också experimentera med fyra eller till och med fem blad.
Extrudera-generatoren skapar en tredimensionell form av det angivna Blomma-splin-objektet. Genom Förflyttningsparametern är djupet på ratten definierad.
Över den ratten finns det redan nämnda Cylinder-objektet. Det kommer senare fungera som rotationsaxel för Konnektorn i Dynamics.
Nu kommer vi till planet, som egentligen också är ett extrudera-NURBS-objekt, som genom extrudering av en given splin-stig (i det här fallet en L-spline) omvandlar den till ett tredimensionellt objekt.
Så långt uppbyggnaden av startscenen. Vi börjar med att arbeta på ratter och använder MoGraph, för att få tillräckligt med kopior eller kloner för vårt plan.
Vi hämtar en klon-objekt från MoGraph-menyn.
I inställningsdialogen för klonobjektet ställer vi först in läget till Raster.
I de tillhörande parametrarna kan vi nu ställa in Antal kloner och storleken på det resulterande rastret. Eftersom rastret ska bestå av en skikt i x-riktning, låter vi antalet kopior vara 1, i Y-riktning skapar vi 6 eller 5 kopior med de visade dimensionerna.
För att klonobjektet ska veta vilka objekt det ska duplicera, placerar vi hela hierarkin av ratten i Objekthanteraren som ett underobjekt i klonobjektet. På begäran producerar klonobjektet ratterna i det rutnätsformade arrangemanget.
Nu placerar vi de klonade ratterna på planeten. Eftersom rotationsvinkeln för planeten är 40°, använder vi samma värde för klonobjektet, här som bankvinkel av – 40°.
För att exakt placera rastergitteret med ratterna på planeten, är det bäst att byta till Sidovy och aktivera global axelinriktning och flytta ratterna längs deras axel nära planeten. Eftersom ratternas axel sticker ut lite bakåt, kan den enkelt dyka in i planeten.
Därmed är ratterna installerade och kan återvända som underobjekt i "Rutsch" -gruppen. Det som stör för tillfället är den alltför perfekta, helt lika inriktningen av ratterna. För att avsluta denna enformighet integrerar vi en slump-effektor.
Vi hittar den i menyn MoGraph>Effectorer och tar in den i vår scen. Den som väljer objektet Klon-Objekt i Objekt-Manager innan Slumpmässig effektor kallas, tilldelar automatiskt Effektorn till detta klonade objekt.
I inställningsdialogrutan för den Slumpmässiga effektorn hanterar vi först de slumpmässiga rotationerna av de roterande hjulen. För att göra detta fäller vi ut Transformera-fältet i avsnittet Parametrar och aktiverar alternativet Vinkel för transformationen. För att rotera de roterande hjulen med sin Pitching-vinkel, anger vi här ett värde. En vinkel på 60° ger de roterande hjulen tillräckligt med utrymme för rotation.
Eftersom vi senare också vill använda Slumpmässig effektor för färgen på de roterande hjulen i deras Material, fäller vi också ut Färg-fältet och aktiverar Färgläge. I de överordnade parameterinställningarna för den slumpmässiga effektorn kan du experimentera med slumpvärden via Startvärde. Mer om detta senare.
I Redigeringsvyn är förändringarna som Effektorn orsakar vanligtvis omedelbart synliga. Förutsatt att Klon-Objektet tilldelades Slumpmässig effektor korrekt vid dess skapande. Om ej, kan vi snabbt åtgärda detta i inställningsdialogrutan för Klon-Objektet genom avsnittet Effektorer. Från Objekt-Manager drar vi alla Effektorer hit, som ska verka på Klon-Objektet eller få verka på det.
För att göra scenen lite mer livlig låter vi de roterande hjulen vara olika färgglada. Här sparar oss Slumpmässig effektor en hel del arbete. Först skapar vi dock ett Nytt material, antingen genom menyalternativet med samma namn i Materialhanteraren eller genom att dubbelklicka på en tom plats i hanteraren.
För att Slumpmässig effektor ska kunna påverka färgen i Färgkanalen, skapar vi där en Färgshader från undermenyn MoGraph i pilknappen för textur.
Efter att ha klickat på knappen för Färgshadern hamnar vi i den ganska överskådliga inställningsdialogrutan för Färgshadern. Här försäkrar vi oss om att alternativet Färg är valt för Kanalen.
Nu behöver vi bara tilldela Materialet till de roterande hjulen via Extrudera-NURBS-objektet av vingen. För detta drar vi det från Materialhanteraren till vingeobjektet av de roterande hjulen i Objekt-Manager. Om färgkombinationen för de roterande hjulen inte är till belåtenhet, kan du ändra Startvärde-parametern i Slumpmässig effektor tills de slumpmässigt valda färgerna faller dig i smaken.
Uppbyggnad av Dynamics-system med kollisionsobjekt och Rigid Bodies
Nu är scenen så pass förberedd att vi kan integrera elementen som deltar i simulationen i ett Dynamics-system. Vi börjar med de rena kollisionsobjekten, alltså objekt som planet och golvet, som inte är dynamiska utan endast är involverade i kollisionsdetektionssystemet.
Med menyn Simulering>Dynamics definieras båda som kollisionsobjekt med kommandot Skapa kollisionsobjekt.
Genom kommandot har de valda objekten tilldelats en Dynamics Body-tag, där den dynamiska funktionaliteten redan har inaktiverats för oss och kollisionssökningen har aktiverats. I avsnittet Kollision sätter vi Elasticitet och Friktion till 30% vardera, så att de stötande kulorna inte hoppar upp oavsiktligt utan rullar ut långsamt.
Läget är lite annorlunda för det andra kollisionsobjektet, rutschkanan. Här behöver vi i avsnittet Kollision ha Statisk mesh som kollisionsform. På grund av rutschanordningen hos rutschkanan garanteras att formen på objektet också används korrekt för kollisionsberäkningen. Parametern Friktion kan vara lite högre för planet så att kulorna senare inte rullar för snabbt genom det roterande hjulbanan.
Till skillnad från de rena kollisionsobjekten är de roterande hjulen aktivt deltagande i det dynamiska händelseförloppet. Eftersom de samtidigt är fasta (rigid) kroppar definierar vi dem som Rigid Bodies. För detta väljer vi Fläktobjektet från klonsystem och skapar det som Rigid Body via kommandot Skapa Rigid Body från menyn Simulering>Dynamics.
Också beteendet hos vridhjulen vid kollision är annorlunda. För att ingen oönskad oro ska komma in i klonnätet innan en verklig kollision faktiskt inträffar ställer vi in lösning för dynamiska egenskaper till Vid kollision i inställningsdialogen för Dynamics Body Tags.
På kollisions-sidan handlar det om detaljjustering av kollisionsegenskaperna. Här ser inställningen Automatisk till att kollisionsformen används som krävs för det speciella formen av vridhjul. För att förhindra att de påträffande kulorna studsar långt bort efter kollisionen minskar vi elasticiteten till 20%. Den höga fraktionsvärdet av 80% ser också till att kulorna förlorar energi vid varje beröring med vridhjulen.
Användningen av en egen massa är alltid lämpligt när man behöver justera objekt med olika massa som kolliderar med varandra. Eftersom kulorna skiljer sig starkt från vridhjulen inte bara i storlek, utan också i massa ger vi en egen massa på 8 här. Rotationsmassan av 80% gör att vridhjulen blir något lättare att rotera.
För att ha ännu mer inflytande över den rådande energin och för att se till att simulationen lugnar ned sig inom rimlig tid dämpar vi ytterligare de krafter som finns på vridhjulen.
På kraft-sidan av inställningsdialogen tilldelas vridhjulen en linjär dämpning på 60% samt en rotationsdämpning på 80%. Trots att kulorna kolliderar kraftigt kommer vridhjulen att relativt snabbt lugna ned sig.
Funktionell utvidgning av vridhjul med konnektorer
Om man skulle starta simulationen genom att klicka på uppspelningsknappen, skulle vridhjulen falla och glida ljudlöst ner längs planet. Även om de optiskt fastnar med sina axlar i planet, spelar axlarna ingen roll i vår simulation ännu. För att skapa ett samband mellan de roterande vingarna på vridhjulen och axeln använder vi så kallade konnektorer. Vi hittar dem i menyn Simulering>Dynamics.
Generellt sett bryr sig konnektorn inte om var den placeras bland elementen eller hierarkierna i Objekt-Manager. För att ändå behålla logiken i vår scen kombinerar vi den funktionellt korrekt med cylinder-objektet för axeln. För att få bättre överblick vid integreringen av konnektorn inaktiverar vi tillfälligt produktionen av kloner via Objekt-Manager.
Om konnektorn ska fungera som en rotationsaxel behöver den först en korrekt position och riktning, i vårt fall koordinater och vinklar för den cylindriska axeln. Denna process förenklas med kommandot Överta från menyn Funktioner som vi använder när konnektorn är vald.
I inställningsdialogen för Överta-verktyget anger vi först cylinder-objektet för axeln som dataleverantör. Vi drar det från Objekt-Manager till det relevanta fältet Överta från. Eftersom vi kommer att göra finjusteringen direkt på konnektorn låter vi alla parametrar överföras på denna punkt genom att klicka på knappen Tilldela.
Vi väljer konnektorn i Objekt-Manager och anpassar dess riktning till vridhjulet. Som syns på bilden nedan ska Höjdvinkeln vara -90° och Lutningsvinkeln (enligt planetens lutning) ska vara 40° att rotera. På Representationssidan kan vi minska storleken på konnektorn så att den passar bättre till vridhjulet.
Vi ställer in den faktiska funktionaliteten hos konnektorn på Objekt-Sidan av inställningsdialogen. Typen Scharnier håller de anslutna objekten på axeln och tillåter bara rotation runt den fördefinierade referensaxeln. Eftersom vårt exempel med fläkthjul och axel har samma axel kunde vi vara sparsamma, men ändå hjälper det för orienteringen, speciellt i mer komplexa scenarion, att arbeta så exakt som möjligt för att kunna förstå allt senare också.
Som Objekt A för anslutningen drar vi axelobjektet från Objekt-Manager till det avsedda fältet. Eftersom rörelsen ska vara runt X-axeln väljer vi denna axel som referensaxel. Objekt B är fläkthjulsobjektet med samma referensaxel. Mer behövs inte att övervägas för konnektorn vid denna punkt.
Efter att vi har tagit hand om den faktiska funktionen av anslutaren, placerar vi den som en underobjekt av axeln på snurrhjulet. Eftersom axeln funktionellt är ansluten till snurrhjulet via anslutaren, är anslutaren bra placerad här.
Skapande av dynamiska kulor med partikelsystemet
Spelapparaten är fullt utrustad och funktionsduglig, nu behöver vi bara kulor med dynamiska egenskaper som vi kan släppa loss på den. Vi har redan en kula i scenen. Men för att få spelapparaten att fungera ordentligt låter vi fler kulor bli utkastade från en partikelemitter. Men först ger vi kulorna de önskade dynamiska egenskaperna så att de faktiskt kan delta i simulationen.
För detta behöver kulan en dynamics body tag med aktiverade dynamiska egenskaper. Därför tilldelar vi kulan-objektet detta lämpliga tag via kommandot Skapa Rigid Body från menyn Simulation>Dynamics.
I inställningsdialogen för Dynamics Body Tag hittar vi de samlade basegenskaperna på Dynamics-sidan. Här ställer vi in Upplösningen till Ögonblicklig, så att kulorna omedelbart efter att de dyker upp i scenen kan börja agera.
Vi kommer att fokusera på kollisionsegenskaperna på kollisions-sidan. En kula är absolut okomplicerad vid kollisionsberäkningen; här fungerar automatisk Identifiering. Elasticiteten och friktionen hos kulan hålls inom medelvärdena. Om kulorna sedan kolliderar med varandra, kommer de att studsa mindre långt bort på grund av det.
Inställningarna på Mass-sidan är intressanta i samband med inställningarna på snurrhjulen. Där hade vi en eget mass på 8. För att inte kulorna ska slå hårt eller vara för tunga mot snurrhjulen och störa systemet, ställer vi kulans massa till cirka 5.
För att kulorna (liknande snurrhjulen) också ska komma relativt snabbt till vila efter passagen, tilldelar vi en dämpning på kraft-sidan. För linjär dämpning och rotationsdämpning räcker det med en 20% nivå för att de inte rullar för långt bort.
Kulan har nu fått sina dynamiska egenskaper, men den är fortfarande ensam. För att producera fler kulor av dess typ, använder vi dem som partiklar i ett partikelsystem. Därav behöver vi en Emitter-Objekt, som genererar och skickar ut kula-partiklar. Vi hittar det i paletten med partikelsystem-objekt.
I inställningsdialogen för partikelmittaren kan vi exakt bestämma hur många kulor som ska produceras på vilken tidpunkt från vilken position. För att inte överbelasta spelapparaten har jag valt en födelsetakt av två partiklar (per sekund). Utloppet av kulorna startas omedelbart och avslutas efter åtta sekunder, alltså vid bild 200. En tillräckligt hög livslängd för partiklar är viktig för att de inte försvinner från bildytan för tidigt.
På Emitter-sidan av inställningsdialogen bestämmer vi formen och storleken på emittern. Eftersom de emitterade kulorna nästan ska använda hela bredden på spelapparaten, använder vi en X-längd på 145 cm. De smala 10 cm i Y-riktning garanterar att kulorna nästan horisontellt släpps ut och inte faller ner från för högt upp.
Vi positionerar nu den färdiga partikelmitten över den editorvy eller via koordinatlistan längst upp på spelapparatets kanter. När du orienterar, se till att partiklarna släpps ut i riktning mot Z-axeln.
För att tilldela kulorna till partikelmätaren som partiklar, placera dem enkelt under den via objektlistan. Den faktiska kul-objektet har nu försvunnit från editorvyn och visas endast som emitterade partiklar.
Globala dynamikinställningar
Standardmässigt finns det en gravitationskraft i CINEMA 4D som liknar jordens dragningskraft. Dessa och fler inställningar hittar vi i dokumentets inställningar på dynamics-sidan.
På Expert-sidan kan några standardvärden även ändras för att specifikt finjustera kollisionsdetektionen för de element som är involverade i simulationen. I vårt fall är det lämpligt att sänka skaleringen till 10 cm och hålla kollisionstoleransen så liten som möjligt.
Alla förberedelser och inställningar är nu gjorda så att vi med ett enda klick på Spela-knappen kan starta dynamiksimuleringen.
Med detta färdiga exempel kan man studera effekterna av dynamikegenskaperna mycket bra. Genom att ändra massa, friktion eller dämpningsvärden i de olika dynamikkroppstaggarna får elementen snabbt helt olika egenskaper.
Trevlig experimentlust!