I denne vejledning vil vi få en mur til at kollapse ved beskydning med kugler og dermed afsløre PSD-logoet.
Opbygning af scenen
For at undgå spildtid med opbygning af et par lag og lys, kommer pakken med arbejdsfiler, vores fælles udgangspunkt ved navn "PSD_C4D_R18_MoG_Voronoi_Bruch.c4d".
Lad os kort se på opbygningen af scenen fra et sideperspektiv. Helt til højre er der et Lagrings-objekt med det velkendte PSD-logo af sommerfuglen. Foran er der en mur lavet af en simpel Terning-objekt. Belysningen af scenen sker gennem en spot-lys som hovedlys samt to dæmpede fyld-lys. Et Kamera er også allerede placeret, det er direkte rettet mod muren, men fanger også en del af Gulv-objektet.
Bortset fra den simple kugle er den parametriske mur hovedpersonen i vores animation. Fordi Voronoi Bruch-objektet helt tager sig af oprettelsen af brudstykkerne, kan det forblive et parametrisk grundobjekt.
For at undgå forstyrrelser fra objekter i scenen, som ikke er nødvendige på nuværende tidspunkt, skjuler vi kuglen, kameraet og lyskilderne ved hjælp af trafiklysafbrydere eller deaktivering i Objekt-håndteringen.
Indføjelse og opsætning af Voronoi Brudt-objektet
Vi skifter bedst til frontvisningen (tast F4), for at have Terning-objektet af muren fuldstændigt i synet i redigeringsvisningen.
Sørg for, at muren er markeret, og hent et Voronoi Brud-objekt fra MoGraph-menuen ind i vores scene. Hold samtidig Alt-tasten nede for at underordne Würfel-objektet af muren til Voronoi Brud-objektet.
Terning-objektet af muren bliver nu opdelt i farvekodede stykker af Voronoi Brud-objektet. Opdelingen er baseret på en punktsky, hvor adskillelseslinjer ligger præcist i midten mellem to punkter. Disse punkter vil vi se nærmere på snart.
Først kigger vi i indstillingsdialogen for Voronoi Brud-objektet. Her finder vi på objektsiden mange muligheder for at tilpasse bruddet på objektet. Vi kan f.eks. styre bruddet med Udvælgelser og Vægtningskort, begrænse bruddet til Overflader, definere objekter som tomme, eller sortere brudstykkerne via indeksnummeret.
For at teste, hvordan de nuværende brudstykker tegner sig på vores mur, deaktiverer vi midlertidigt muligheden for Farvefragmenter og angiver en Fragmentforskydning på 20 cm.
Som I kan se, kan I ved hjælp af Fragmentforskydningen regulere kløften mellem de enkelte stykker. Vores mur vil blive korrekt opdelt i forhold til de tilstødende adskillelser ved Voronoi-interpolationen.
Vi nulstiller Fragmentforskydningen tilbage til 0 for at begynde at tage os af opdelingen af muren i brudstykker.
Alle indstillinger vedrørende opdelingen findes på kildesiden af indstillingsdialogen. Som nævnt sker opdelingerne baseret på punktoplysninger, som Voronoi Brud-objektet kan modtage fra forskellige kilder.
Som standard har Voronoi Brud-objektet en Punktgenerator som distributionskilde, som vi straks justerer via parametrene nederst. Som den anden knap antyder, kan der også bruges Shadere til at designe opdelingerne. Men det er ikke alt, i princippet kan alle punktgenererende objekter i Cinema 4D, om det f.eks. er splines, polygonobjekter, generatorer eller partikelemittere, defineres som en kilde ved træk og slip.
Vores første Punktgenerator skal sørge for de grove brudstykker i muren. Den nuværende ensartede fordeling af stykkerne er tilstrækkelig hertil, vi øger blot antallet og tester en Startværdi, som vi synes passer til opdelingerne.
På grund af det større antal punkter er der nu flere brudstykker til stede, som på grund af den tilgængelige plads er tættere på hinanden. I grønt vises punkterne, hvoraf brudstykkerne opstår ved interpolering.
For at kunne adskille de forskellige distributionskilder, tildeler vi en meningsfuld navn som "Grov" til grov opdeling af brudstykkerne i feltet Navn. Da beskydningen med kugle eller kugler vil finde sted mere centralt på væggen, vil vi gerne skaler denne grove punktsky lidt i bredden. Vi folder området Transformation ud i indstillingsdialogen og tildeler en værdi på ca. 0,85 til størrelsen i X-retning.
Vi ser, at punktskyen dermed bliver lidt smalere. Antallet af brudstykker forbliver naturligvis det samme, men vi har koncentrationen af opdelinger netop der, hvor skuddene primært skal finde sted.
For at gøre de angivne brudstykker lidt mere detaljerede, genererer vi ved at klikke på knappen Tilføj distributionskilde en ekstra punktsky, denne gang dog til den finere brudstruktur.
Vi tildeler straks et passende navn som "Fin" til denne anden distributionskilde. I stedet for den ensartede distributions type ønsker vi denne gang at bruge en fordeling mere koncentreret mod objektets indre, hvilket kan opnås gennem indstillingen Normal i menuen distributions type. I modsætning hertil ville en fordeling, der mere presser ud mod objekternes hjørner, tilbyde os varianten Invers-Normal. Den eksponentielle fordeling er baseret på en angivet akse.
Dimensionerne for fordelingen er i øvrigt baseret på en kasseformet boks, som omgiver det respektive objekt.
Til styring af punktskyen har vi parametret Standardafvigelse til rådighed. Med mindre værdier bringes punkterne tættere sammen, mens større værdier trækker punkterne fra hinanden.
For at få tilstrækkeligt små brudstykker fastsætter vi et antal punkter på 300, og vi kan igen variere opdelingen per Startværdi.
Da vi nu bruger mere end en kilde til at generere brudene, aktiverer vi også muligheden for at Vise alle brugte punkter.
Når vi kigger på Editor-visningen, ser vi udover den lysegrønne, fine distributionskilde til bedre orientering den tidligere oprettede mørkegrønne, grove distributionskilde.
Vi vil også forberede denne sekundære, finere punktsky til stød via Transformations-parametrene. For at få en bedre fornemmelse af ændringernes virkning, bør I eksperimentere med parametrene. Jeg har strakt den fine distributionskilde i højden og skubbet den ind i bredden samt flyttet den lidt nedad og til venstre med ompositions-parametrene.
Vi kan igen vise de skjulte objekter via Objekt-manageren, da forberedelsen af brudstykkerne i Voronoi Brud-objektet er færdiggjort. Disse to distributionskilder bør være tilstrækkelige til vores formål. Rækkefølgen af kildeplanerne i det tilsvarende felt spiller i øvrigt ingen rolle.
Tydeligt ses her den grønne boks for den fine punktsky, som er dannet ud fra kubus-objektet på væggen og modificeret via Transformations-parametrene.
Udrustning med dynamiske egenskaber
Vi vil snart have brug for indstillingsdialogen for Voronoi Brud-objektet igen, i mellemtiden udstyrer vi dog objekterne involveret i simuleringen med dynamiske egenskaber.
Planen med PSD-logoet og gulvet skal kun generere kollisioner, derfor er det tilstrækkeligt, hvis vi tildeler begge objekter en tag som Kollisionsobjekt gennem menuen Tags>Simuleringstags i Objekt-manageren.
I indstillingsdialogen for de to dynamiske body-tags som kollisionsobjekter reducerer vi elasticiteten til 20 % og øger friktionen til 120 %. Dette forhindrer brudstykkerne i at hoppe for langt op og forblive stående på jorden uden at glide langt.
Det bliver mere interessant med væggen, som bliver splittet i brudstykker af Voronoi Brud-objektet. Disse har brug for en dynamisk body-tag som stift body, som vi tildele Voronoi Brud-objektet gennem menuen Tags>Simuleringstags i Objekt-manageren eller via højreklik med musen.
I den tilhørende indstillinger dialog justerer vi først på Dynamik-siden ved hjælp af Udløsning ved kollision for at sikre, at væggen forbliver intakt indtil den første kollision med en kugle.
Den vigtigste parameter for vores brudstykker finder vi på Kollision-siden. Her skal indstillingen for Individuelle elementer være sat til Alle, så de brudstykker, der er brudt fra væggen, bevarer de dynamiske egenskaber.
En lav værdi for Elasticitet samt en høj værdi for Friktion skal i samarbejde med kollisionsobjekterne holde brudstykkerne på gulvet.
Til beskydning af væggen har jeg forberedt et simpelt Kugle-objekt i passende størrelse. Selvfølgelig er I helt frie til at vælge kunst og antal kasteobjekter.
Vi tildeler vores kasteobjekt let ved hjælp af menuen Tags>Simulation Tags i Objekt-Manageren eller via højreklik på kontekstmenuen også en Dynamik Body-Tag som Rigid Body.
Der er nu forskellige måder, hvorpå vi kan få kuglen til at slå ind i væggen. Med en Emitter kunne man skabe et rigtigt kugleregn, hvilket dog ville være lidt overdrevet i vores tilfælde, da en initial skub i positiv Z-retning egentlig er helt tilstrækkelig.
Dette skub kan vi nemt give kuglen via indstillingsdialogen for Dynamics Body-Tag på Dynamik-siden. Her aktiverer vi indstillingen Egen startfart og sætter Startfarten i Z-retning til 1000 cm. Da denne første kugle kan starte simulationen, lader vi Udløsning stå på Øjeblikkelig. På Kollision-siden tildeler vi værdier for Elasticitet og Friktion lignende værdier som allerede anvendt for brudstykkerne.
Hvis ikke allerede udført, så test animationen af kuglen, der slår ind i væggen, ved at klikke på Afspil-knappen. Kuglen forårsager den første skade med vores Voronoi-brudstykker og ruller derefter væk mod kameraet.
Fintuning af vægmaterialer
Før vi maltrakterer væggen med flere kugler, ser vi nærmere på renderingen fra den endelige kamerasynsvinkel. Brudstykkerne har alle en mørkegrå, betonagtig overflade, som også fortsætter på brudfladerne. Det ville dog være mere realistisk, hvis vi på disse steder ville bruge et andet, lysere materiale til væggen indvendigt. Et yderligere, lysere materiale til væggen kan allerede findes i Materiale-Manageren, nu skal vi bare adressere indvendige flader med materialet.
Præcis til dette formål tilbyder Voronoi Brud-objektet i sin indstillingsdialog på Selektioner-siden en række ofte påkrævede flader, kanter og punkter af brudstykkerne. Da vi ønsker at tildele deres indvendige flader et andet materiale, aktiverer vi netop denne selektion for vores brudstykker.
Ved aktivering af indvendige flader-selektionen får Voronoi Brud-objektet automatisk genereret en Selektions-tag, hvor alle brudstykkernes indvendige flader er gemt. Nu er det en let sag at tildele denne selektion en egen tekstur.
Tildel nu vægobjektet under Voronoi Brud-objektet det lysere Væg-materiale ved at trække og slippe fra Materiale-Manageren til Objekt-Manageren. I indstillingsdialogen for det derved oprettede Tekstur-tag, trækker du derefter Selektions-tag fra Objekt-Manageren til feltet Selektion af Tekstur-taget.
En ny rendering viser, at brudstykkerne af væggen nu har forskellige materialer som ønsket på ydersiden såvel som på indvendige flader.
Færdiggørelse af animation med flere kugler
Efter de første kuglers indtræden skinner PSD-logoet allerede lidt igennem, men for at fritlægge logoet fuldstændigt er yderligere kugler nødvendige. Til mit eksempel har jeg oprettet to kopier af den første kugle via træk og slip med holdt Ctrl-tasten i Objekt-Manageren.
Vi tager os straks af kuglernes dynamiske egenskaber, først placerer vi begge kugler på positioner, der er gunstige for kastene. Efter at den første kugle har ramt den nederste tredjedel af væggen, bevæger vi os en god bid opad for de to andre kugler og justerer dem lidt i X-retning.
Når vi klikker på afspilningsknappen, begynder alle kuglerne at bevæge sig samtidig. Det er ikke forgæves, at vi har indstillet udløsningen til Øjeblikkelig i indstillingsdialogen for Dynamics Body-taggene. Hvis vi i stedet ønsker at affyre kuglerne med en lille forsinkelse, aktiverer vi simpelthen parameteren Aktiveret for kuglerne 2 og 3 på siden Dynamics.
Sørg for, at den grønne tidsmåler er indstillet på billede 0, deaktiver Dynamics-indstillingen og tilføj derefter et Key før parameteren Aktiveret ved at klikke på Keyframe-knappen. Jeg har overført alle andre parametre, især Starthastigheden, fra den første kugle til den anden uændret.
Jeg har valgt billede 100 som starttidspunkt for den anden kugle og dermed aktivering af Dynamics Body-taggene efter at have testet det yderligere.
I indstillingsdialogen for Dynamics Body-taggene for den anden kugle skal vi kun markere afkrydsningsfeltet for parameteren Aktiveret og gemme denne indstilling ved at klikke på Keyframe-knappen i en anden Key.
Den tredje kugle følger, så snart den anden kugle også har fuldført sit arbejde – i mit tilfælde ved billede 180.
For den tredje kugle betyder det: Vi har brug for endnu et Keyframe på billede 0, som holder dynamikken deaktiveret, indtil vi igen markerer afkrydsningsfeltet Aktiveret på billede 180 og gemmer det i et andet Keyframe. I mit eksempel har jeg øget Starthastigheden for den tredje kugle til 1500 cm, så kuglen også sikkert når sit mål, resten af frilægningen af PSD-sommerfuglen.
Når det kommer til antallet, størrelsen, positionen og hastigheden af kuglerne, er omfattende test af afgørende betydning. I projektindstillingerne er der angivet en længde på 400 billeder – dette burde være tilstrækkeligt, indtil det sidste brudstykke også er faldet til ro. Animationen er dermed færdig.
Bage simulationen
Når en simulation – som den vi netop har færdiggjort – er afhængig af, at MoGraph-elementerne fungerer reproducerbart på alle computere eller også ved netværksrendering, er det nødvendigt at bage simulationen.
I indstillingsdialogen for Dynamics Body-taggene for Voronoi-brudstykkevæggen går vi til siden Cache. Ved at klikke på knappen Bage alt sikrer vi, at ikke kun brudstykkerne, men også kuglerne bliver taget i betragtning under bagningen af simulationen.
Efter en kort ventetid ...
... er simulationen reproducerbart bagt. Dette kan verificeres på siden Cache ved den anvendte hukommelse, men også på siden Dynamics ved de inaktive parametre. Dette opnås via indstillingen Brug cache-data, som sikrer, at simulationen udelukkende kører via cachen.
Nu kan vi trygt bruge den grønne tidsmåler på tidslinjen til at rulle frem og tilbage; alle elementer i MoGraph-simulationen deltager i den konstante animation uden at skulle beregnes igen.