Om ons volledig te kunnen concentreren op het werken met Dynamics en MoGraph, vindt u alle overige elementen van de scene in het werkbestand "PSD_C4D_R12_Dyn_RigidB_Konnektoren_Start.c4d".
Een drievleugelig draaiwiel en een bolvormig object zouden voldoende moeten zijn; de rest doen we met MoGraph-klonen of een Deeltjesemitter.
Opbouw van de scene met MoGraph-klonen
De drie belangrijkste objecten in onze scene zijn de bol, het draaiwiel en het schuine vlak waarop de ballen later naar beneden moeten rollen. Met uitzondering van de vleugels van het draaiwiel hebben alle objecten al een Materiaal. Wie wil, kan de scene aanpassen met andere materialen naar eigen inzicht.
Voor de ballen gebruiken we een eenvoudig, parametrisch bolvormig object, dat later gekloond zal worden. De Straal van 7 cm past bij ons draaiwiel en het vlak, waarvan de onderkant de ballen later zo goed mogelijk moet opvangen.
Het draaiwiel wordt gemaakt door extrusie van een Bloem-spline-object met een Extrude-NURBS-generator. Voor de drie vleugels van het draaiwiel is het aantal Bladeren dienovereenkomstig verminderd. De Binnenstraal is net groot genoeg zodat de ingestoken as (een eenvoudig Cilinder-object) voldoende ruimte heeft.
Wie wil, kan ook experimenteren met vier of zelfs vijf vleugels.
De Extrude-NURBS-generator zorgt voor de driedimensionale vormgeving van het voorgegeven Bloem-spline-object. Met de Verplaatsingsparameter is de diepte van het draaiwiel gedefinieerd.
Boven het draaiwiel staat het reeds genoemde Cilinder-object. Dit zal later dienen als draai-as van de Connector voor Dynamics.
Om af te sluiten met het opzetten van de start-scene. We beginnen met de draaiwielen en gebruiken hierbij MoGraph, om voldoende exemplaren of Klonen te krijgen voor ons vlak.
Dus we halen een Kloon-object uit het MoGraph-menu.
In het instellingendialoog van het Kloon-object stellen we eerst de modus in op Raster.
In de bijbehorende parameters kunnen we nu het Aantal klonen en de Grootte van het resulterende raster instellen. Omdat het raster uit één laag in x-richting moet bestaan, laten we dit kopieaantal op 1, in Y-richting maken we 6 of 5 klonen in de getoonde maten.
Zodat het Kloon-object ook weet welke objecten het moet dupliceren, plaatsen we de volledige hiërarchie van het draaiwiel in de Objectmanager als Subobject in het Kloon-object. Zoals gewenst produceert het Kloon-object de draaiwielen in de rasterachtige opstelling.
Vervolgens plaatsen we de gekloonde draaiwielen op het vlak. Aangezien de Rotatiehoek van het vlak 40° is, nemen we deze waarde ook over voor het Kloon-object, hier als Bankhoek van –40°.
Om het Klonenraster met de draaiwielen precies op het vlak te plaatsen, schakelen we het beste over naar de Zijaanzicht, activeren we de globale asrichting en verplaatsen de draaiwielen langs hun As dichtbij naar het vlak. Omdat de as van de draaiwielen een beetje naar achteren steekt, kan die zonder problemen in het vlak duiken.
De draaiwielen zijn nu geïnstalleerd en kunnen als Subobject terugkeren naar de groep "Glijbaan". Wat momenteel nogal stoort, is de te perfecte, volledig gelijke uitlijning van de draaiwielen. Om deze eentonigheid te doorbreken, integreren we een Random-effectuator.
We vinden het in het menu MoGraph>Effectors en halen het in onze scène. Wie vóór het oproepen van de Random Effector het Cloner Object selecteert in de Object Manager, wijst automatisch deze kloonobject toe aan de effector.
In het instellingendialoog van de Random Effector doen we eerst de willekeurige rotaties van de draaiwielen. Hiervoor klappen we het Transformation Field in het Parameters gebied uit en activeren de optie hoek voor de transformatie. Om de draaiwielen rond hun pitchhoek te draaien, geven we hier een waarde in. Een hoek van 60° geeft de draaiwielen voldoende speelruimte bij het draaien.
Omdat we de Random Effector vervolgens ook voor de kleur van de draaiwielen in hun Material willen gebruiken, klappen we ook het Color Field uit en activeren de Color Mode. Bij de bovenliggende Effector Parameters van de Random Effector kun je experimenteren met de randomwaarden door de startwaarde. Meer hierover later.
In de Editor View zijn de veranderingen die de effector teweegbrengt, meestal meteen zichtbaar. Mits de kloonobject bij het aanmaken van de Random Effector op de juiste manier is toegewezen. Zo niet, dan kunnen we dit snel inhalen in het instellingendialoog van het kloonobject via het gebied van Effectoren. In de Object Manager slepen we hier alle Effectors naar binnen die op de kloonobject moeten of mogen werken.
Om de scène wat op te fleuren, laten we de draaiwielen verschillend gekleurd zijn. Hier zal de Random Effector ons veel werk besparen. Eerst maken we echter een nieuw material aan, optioneel via de gelijknamige menu-opdracht in de Material Manager of door te dubbelklikken op een lege plek in de manager.
Zodat de Random Effector invloed kan hebben op de kleur in het Color Channel, maken we daar de Color Shader uit het submenu MoGraph aan in het pijlknopmenu van de textuur.
Na het klikken op de knop van de Color Shader bevinden we ons in het vrij overzichtelijke instellingendialoog van de Color Shader. Hier verzekeren we ons ervan dat de optie kleur is geselecteerd voor het kanaal.
Nu hoeven we het material alleen nog toe te wijzen aan het Extrude-NURBS-object van de vleugel. Hiervoor slepen we het vanuit de Material Manager naar het vleugel-object van het draaiwiel in de Object Manager. Als de kleurencombinatie voor de draaiwielen nog niet helemaal naar wens is, kan de startwaarde-parameter in de Random Effector worden aangepast totdat de willekeurig gekozen kleuren bevallen.
Opbouw van het dynamische systeem met botsingobjecten en vaste lichamen
De scène is nu zo ver voorbereid dat we de elementen die deelnemen aan de simulatie in een Dynamica-systeem kunnen integreren. Laten we beginnen met de zuivere botsingsobjecten, dus objecten zoals het vlak en de grond die niet dynamisch zijn, maar alleen betrokken zijn bij het detecteren van botsingen in het systeem.
Beide worden via het menu Simulation>Dynamics gedefinieerd als botsingsobject met de opdracht maak botsingsobject.
Door de opdracht kregen de geselecteerde objecten een Dynamics Body Tag toegewezen, waarin voor ons de dynamische functionaliteit- al is gedeactiveerd en de botsingsdetectie is geactiveerd. In het Botsing gebied stellen we de elasticiteit en de wrijving beide in op 30%, zodat de botsende ballen niet per ongeluk omhoog springen, maar langzaam uitrollen.
De situatie is iets anders bij het tweede botsingsobject, de glijbaan. Hier hebben we in het Botsing gebied de Statische Mesh als botsingsvorm nodig. Vanwege de L-vorm van de glijbaan is gegarandeerd dat de vorm van het object correct wordt gebruikt voor de berekening van de botsing. De parameter wrijving mag voor de baan gerust iets hoger zijn, zodat de ballen later niet te snel door het draaiwiel-parcours rollen.
In tegenstelling tot de zuivere botsingsobjecten nemen de draaiwielen actief deel aan de dynamische gebeurtenissen. Omdat ze tegelijkertijd vaste (rigide) lichamen zijn, definiëren we ze als rigid bodies. Hiervoor selecteren we het vleugel-object uit de hiërarchie van de kloonstructuur en definiëren het als rigid body via de opdracht creëer rigid body in het menu Simulation>Dynamics.
Ook het gedrag van de draaiwielen bij een botsing is anders. Om ongewenste onrust in het klonengitter te voorkomen vóórdat er daadwerkelijk een echte botsing plaatsvindt, stellen we in het instellingendialoogvenster van het Dynamics Body Tag de activering van de dynamische eigenschap in op Bij botsing.
Op de botsingspagina gaat het om de gedetailleerde afstemming van de botsingseigenschappen. Hier zorgt de instelling Automatisch als botsingsvorm ervoor dat de benodigde optimale botsingsmantel voor de specifieke vorm van de draaiwielen wordt gebruikt. Om te voorkomen dat de stuitende ballen ver weg schieten na de botsing, verminderen we de elasticiteit tot 20%. De hoge wrijvingscoëfficiënt van 80% zorgt er ook voor dat de ballen bij elk contact met de draaiwielen energie verliezen.
Het gebruik van een eigen massa is altijd aan te raden wanneer men botsende objecten met verschillende massa's op elkaar moet afstemmen. Omdat de ballen zich qua grootte niet onderscheiden van de draaiwielen, maar wel sterk verschillen in hun massa, geven we hier een eigen massa van 8 aan. De rotatiemassa van 80% zorgt ervoor dat de draaiwielen iets gemakkelijker draaien.
Om nog meer invloed te hebben op de heersende energie en ervoor te zorgen dat de simulatie binnen een redelijke tijd tot rust komt, dempen we de krachten die op de draaiwielen werken nog extra.
Op de krachtenpagina van het instellingendialoogvenster krijgen de draaiwielen een lineaire demping van 60% en een demping van de rotatie van 80% toegewezen. Ondanks de zware impact van de ballen zullen de draaiwielen hierdoor relatief snel weer tot rust komen.
Functionele uitbreiding van de draaiwielen met connectoren
Als je de simulatie zou starten door op de afspeelknop te klikken, zouden de draaiwielen bij de eerste botsing stilzwijgend over het vlak vallen en glijden. Hoewel ze optisch vastzitten met hun as in het vlak, spelen de assen nog geen rol in onze simulatie. Om een verbinding tussen de draaiende bladen van de draaiwielen en de as te creëren, gebruiken we de zogenaamde connectoren. We vinden ze in het menu Simulatie>Dynamics.
In principe maakt het voor de connector niet uit waar hij is geplaatst bij de elementen of hiërarchie in de Objectmanager. Maar om de logica in onze scène te behouden, combineren we hem functioneel correct met het cilinderobject van de as. Voor een beter overzicht bij de integratie van de connector deactiveren we tijdelijk de productie van de clonen via de Objectmanager.
Als de connector de rol van een draaias moet vervullen, heeft hij eerst de juiste positie en richting nodig, in ons geval dus de coördinaten en hoeken van de cilindrische as. Dit proces wordt vereenvoudigd door de opdracht Overnemen uit het menu Functies, die we aanroepen bij geselecteerde connector.
In het instellingendialoogvenster van het Overnemen-gereedschap geven we als eerste het cilinderobject van de as op als gegevensverstrekker. We slepen het daarvoor uit de Objectmanager naar het bijbehorende veld Overnemen van. Omdat we de fijnafstelling direct bij de connector zelf zullen uitvoeren, laten we alle parameters op dit punt overnemen door te klikken op de knop Toewijzen.
We selecteren de connector via de Objectmanager en passen zijn richting aan op het draaiwiel. Zoals te zien is in de onderstaande afbeelding, moet de heading-hoek met -90° en de pitching-hoek (volgens de helling van het vlak) met 40° worden gedraaid. Op de weergavepagina kunnen we de grootte van de connector verkleinen, zodat deze beter bij het draaiwiel past.
De eigenlijke functionaliteit van de connector stellen we in op de objectpagina van het instellingendialoogvenster. Het type scharnier houdt de verbonden objecten vast aan de as en staat alleen de rotatie om de vooraf bepaalde referentieas toe. Aangezien ons voorbeeld met de schoep en de as dezelfde as betreft, zouden we ook zuiniger kunnen zijn, toch helpt het bij de oriëntatie, vooral bij complexere scènes, om zo exact mogelijk te werken, zodat alles later nog te begrijpen is.
Als object A voor de verbinding slepen we het asobject uit de Objectmanager naar het daarvoor bestemde veld. Aangezien de beweging om de X-as moet plaatsvinden, kiezen we deze as als referentieas. Als object B dient het schoepobject met dezelfde referentieas. Meer hoeft op dit punt niet te worden opgemerkt voor de connector.
Nadat we voor de werkelijke functie van de connector hebben gezorgd, definiëren we deze als een subobject van de as van het draaiwiel. Omdat de as functioneel verbonden wordt met het vleugelwiel via de connector, is de connector hier goed geplaatst.
Generatie van dynamische bollen met het deeltjessysteem
De speelgoedmachine is volledig uitgerust en functioneel, nu hebben we alleen nog bollen met dynamische eigenschappen nodig die we los kunnen laten. We hebben al een bal in de scène. Om de speelgoedmachine echter correct te activeren, sturen we meer ballen uit via een deeltjesemitter. Maar eerst voorzien we de bal van de gewenste dynamische eigenschappen, zodat hij überhaupt kan deelnemen aan de simulatie.
Hiervoor heeft de bal een dynamisch lichaamstag nodig met geactiveerde dynamische eigenschappen. Dus we wijzen het bolobject het juiste tag toe door de opdracht Rigide Body maken uit het menu Simulatie>Dynamica.
In het instellingendialoog van het Dynamisch lichaamstag vinden we de basisinstellingen op de Dynamica-pagina verzameld. Hier stellen we de resolutie in op Onmiddellijk, zodat de ballen meteen na hun verschijning in de scène actief kunnen worden.
Laten we nu kijken naar de botsingseigenschappen op de Botsings-pagina. Een bal is absoluut niet problematisch bij de botsingsberekening; hier werkt de automatische detectie goed. De elasticiteit en wrijving van de bal blijven binnen redelijke waarden. Als bollen later met elkaar botsen, zullen ze daardoor ook minder ver weg stuiteren.
De instellingen op de Massa-pagina zijn interessant in relatie tot de instellingen van het draaiwiel. Daar hadden we een eigen massa van 8. Om ervoor te zorgen dat de bollen niet te krachtig en zwaar tegen de draairen slaan en het systeem in de war brengen, stellen we de massa van de bol in op ongeveer 5.
Zodat de ballen (analoog aan de draairen) ook relatief snel tot rust komen na het doorlopen, geven we een demping aan op de Krachten-pagina. Voor de lineaire demping en de rotatiedemping volstaat een waarde van 20%, zodat de ballen niet te ver weg rollen.
De bal heeft nu zijn dynamische eigenschappen, maar staat nog steeds alleen. Om meer ballen van zijn soort te produceren, gebruiken we hem als deeltje in een deeltjessysteem. Hiervoor hebben we een emitterobject nodig dat de baldeeltjes genereert en wegschiet. We vinden het in het palet van deeltjessysteemobjecten.
In het instellingendialoog van de deeltjesemitter kunnen we precies bepalen hoeveel ballen in welke tijd vanuit welke positie worden geproduceerd. Om de speelgoedmachine niet te overweldigen, heb ik gekozen voor een geboortecijfer van twee deeltjes (per seconde). De emissie van de ballen begint onmiddellijk en eindigt na acht seconden, dus bij afbeelding 200. Een voldoende lange levensduur van de deeltjes is belangrijk, zodat de ballen niet voortijdig van het scherm verdwijnen.
Op de Emitter-pagina van het instellingendialoog stellen we de vorm en grootte van de emitter vast. Omdat de uitgezonden ballen bijna de volledige breedte van de speelgoedmachine moeten benutten, gebruiken we een X-Lengte van 145 cm. De smalle 10 cm in de Y-richting garanderen ons dat de ballen bijna horizontaal worden afgegeven en niet te hoog vallen.
We plaatsen de voltooide deeltjesemitter nu aan de bovenrand van de speelgoedmachine via het Editor-weergave of via de Coördinatenbeheerder. Bij het uitlijnen altijd in gedachten houden dat de deeltjes in de richting van de Z-as worden uitgestoten.
Om de bal toe te wijzen als deeltje aan de deeltjesemitter, plaatsen we deze eenvoudig onder hem in de Objectbeheerder. Het eigenlijke balobject is nu verdwenen uit de Editor-weergave en verschijnt alleen nog als uitgezonden deeltjes.
Globale Dynamica-instellingen
Standaard heerst in CINEMA 4D een zwaartekracht die lijkt op de aarde. Deze en meer instellingen kunnen worden gevonden in de Document-Voorkeuren op de Dynamica-pagina.
Op de Expert-pagina kunnen enkele standaardwaarden worden aangepast om met name de botsingsdetectie beter af te stemmen op de elementen die bij de simulatie betrokken zijn. In ons geval is het passend om de schaal te verlagen naar 10 cm en de botsingstolerantie zo laag mogelijk te houden.
Alle voorbereidingen en instellingen zijn getroffen, zodat we met één klik op de afspeelknop de Dynamics-simulatie kunnen starten.
Met dit voltooide voorbeeld kunnen de effecten van de Dynamics-eigenschappen heel mooi worden bestudeerd. Door verschillende massa's, wrijvingen of dempingswaarden in de afzonderlijke Dynamics Body Tags te gebruiken, krijgen de elementen al snel volledig andere eigenschappen.
Veel plezier met experimenteren!