I denne opplæringen vil vi få en mur til å kollapse ved beskytning med kuler, og dermed avsløre PSD-logoen.
Oppbyggingen av scenen
For å ikke kaste bort tid på å bygge noen lag og lys, inneholder pakken arbeidsfilene vårt felles utgangspunkt kalt "PSD_C4D_R18_MoG_Voronoi_Bruch.c4d".
La oss se på oppsettet av scenen fra en sidelengs perspektiv. Helt til høyre er et Lag-objekt med den kjente PSD-logoen av sommerfuglen. Foran dette er det en vegg laget av et enkelt Kube-objekt. Scenen blir belyst av en spotlight som hovedlys og to dempede fylllys. Et Kamera er også allerede posisjonert, rettet mot veggen, men også med en del av Gulv-objektet med på bildet.
Bortsett fra den enkle kulen, er den parametriske veggen hovedaktøren i animasjonen vår. Fordi Voronoi Bruch-objektet tar seg av genereringen av bruddstykke, kan det forbli et parametrisk grunnobjekt.
For at ikke objekter i scenen som ikke trengs for øyeblikket skal forstyrre, skrur vi av kulen, kameraet og lysene gjennom trafikklysene eller deaktivering i Objekt-Manager.
Integrering og oppsett av Voronoi Bruch-objektet
Det beste er å bytte til frontvisning (tast F4) for å ha full oversikt over Kube-objektet til veggen i Editor-visningen.
Sørg for at veggen er valgt, og dra et Voronoi Bruch-objekt fra MoGraph-menyen inn i scenen vår. Hold Alt-tasten inne mens du ordner Kube-objektet til veggen under Voronoi Bruch-objektet.
Kube-objektet til veggen blir nå delt opp i fargede enkeltstykker av Voronoi Bruch-objektet. Oppdelingen er basert på en punktsky, der separasjonslinjene ligger nøyaktig midt mellom to punkter. Disse punktene vil vi snart se nærmere på.
Først tar vi en titt på innstillingsdialogen til Voronoi Bruch-objektet. Her finner vi mange alternativer på objektsiden for å tilpasse bruddet til objektet. Vi kan for eksempel styre bruddet med Utvalg og Vektingskart, begrense bruddet til Overflater, bestemme objekter som er hule, eller sortere bruddstykkene etter indeksnummer.
For å teste hvordan de nåværende bruddstykkene ser ut på veggen vår, deaktiverer vi midlertidig alternativet Fargefragmenter, og setter en Fragmentforskyvning på 20 cm.
Som du ser, kan du ved hjelp av Fragmentforskyvning regulere spalten mellom de enkelte stykkene. Veggen vår vil deretter bli riktig delt i henhold til Voronoi-interpolasjonen som påføres.
Vi tilbakestiller Fragmentforskyvningen til 0 for å nå begynne å dele opp veggen i bruddstykkene.
All informasjon om oppdelingen finner vi på kildesiden av innstillingsdialogen. Som nevnt skjer delingene basert på punktinformasjon som Voronoi Bruch-objektet kan motta fra ulike kilder.
Standardmessig har Voronoi Bruch-objektet en Punktgenerator som distribusjonskilde, som vi kan justere via parameterne nederst. Som den andre knappen antyder, kan vi også bruke Shader for å designe delingene. Imidlertid kan alle punktgenererende objekter i Cinema 4D, for eksempel splines, polygonobjekter, generatorer eller partikkelutslippere, defineres som kilder via dra og slipp.
Vår første Punktgenerator skal sørge for de store bruddstykkene i veggen. Den jevne fordelingen av stykkene er tilstrekkelig, vi øker bare antallet og tester en Startverdi som passer for oss.
På grunn av det økte antallet punkter er det nå flere bruddstykker til stede, som ligger tettere sammen på grunn av den tilgjengelige plassen. Poengene som danner bruddstykkene er synlig i grønt.
For å kunne skille mellom de forskjellige distribusjonskildene, gir vi et beskrivende navn som "Grov" til feltet Navn for den grove fragmenteringen av stykkene. Siden beskytningen med kulen eller kulene vil finne sted mer sentralt på veggen, ønsker vi å skalere denne grove punktskyen litt i bredden. For å gjøre dette, åpner vi delen Transformasjon i innstillingsdialogen og gir en verdi på ca. 0,85 for størrelsen i X-retning.
Vi ser at punktskyen dermed blir litt smalere. Antall fragmenter forblir selvfølgelig det samme, men vi har konsentrert fragmenteringene litt mer akkurat der hvor treffene hovedsakelig skal finne sted.
For å detaljere de gitte fragmentene litt mer, oppretter vi ved å klikke på knappen Legg til distribusjonskilde en ekstra punktsky, denne gangen for den finere fragmentstrukturen.
Vi gir umiddelbart et passende navn som "Fin" til denne andre distribusjonskilden. I stedet for den jevne distribusjonstypen ønsker vi denne gangen å bruke en distribusjon mer konsentrert mot objektets indre, dette oppnår vi ved å velge Normal under menyen Distribusjonstype. En distribusjon som heller drar mot utsiden og inn i objekthjørnene ville være varianten Invers-Normal. Den eksponentielle distribusjonen retter seg etter en angitt akse.
Av betydning for distribusjonsomfanget er forresten en firkantet avgrensingsboks som omfatter det respektive objektet.
For justering av punktskyen har vi parameteren Standardavvik til disposisjon. Med mindre verdier plasseres punktene tettere sammen, mens større verdier drar punktene fra hverandre.
For å oppnå tilstrekkelig små fragmenter, setter vi en punkttall på 300, igjen kan vi variere fragmenteringen ved å justere startverdien.
Siden vi nå bruker mer enn en kilde for å generere bruddene, aktiverer vi også alternativet Vis alle brukte punkter.
Når vi ser i Editor-visningen, ser vi i tillegg til den lysegrønne fine distribusjonskilden for bedre orientering den tidligere opprettede mørkegrønne grove distribusjonskilden.
Denne andre, finere punktskyen ønsker vi også å forberede litt for treffene ved hjelp av Transformasjons-parameterene. For å få en bedre følelse av effekten av endringene bør du eksperimentere med parameterene. Jeg har strukket den fine distribusjonskilden litt i høyden og komprimert den i bredden ved hjelp av Størrelses-parameterne, samt flyttet den litt nedover og til venstre med Posisjons-parameterne.
Vi kan nå vise de skjulte objektene i Objekt-behandleren igjen, forberedelsen av fragmentene i Voronoi Bruch-objektet er ferdig. Disse to distribusjonskildene bør være tilstrekkelige for våre formål. Rekkefølgen av kildeplanene i det tilhørende feltet spiller for øvrig ingen rolle.
Her er den fine punktskyens kvadratformede avgrensningsboks som er generert fra kube-objektet for veggen, og som er modifisert med Transformasjons-parameterene, godt synlig.
Utstyr med dynamiske egenskaper
Vi vil snart trenge innstillingsdialogen til Voronoi Bruch-objektet igjen, imidlertid vil vi i mellomtiden utstyre objektene som er involvert i simuleringen med dynamiske egenskaper.
Planet med PSD-logoen og bakken trenger bare å produsere kollisjoner, derfor er det nok å tildele begge objektene en tag som Kollisjonsobjekt via menyen Tags>Simulasjonstagger i Objekt-behandleren.
I innstillingsdialogen for de to Dynamics Body-Taggene som kollisjonsobjekter, reduserer vi elasticiteten til 20 % og øker friksjonen til 120 %. Dette gjør at fragmentene ikke spretter langt opp og også står stødig på bakken uten å gli langt.
Det blir mer interessant med veggen, som blir delt opp i fragmenter av Voronoi Bruch-objektet. Disse trenger en Dynamics Body-Tag som Rigid Body, som vi tildeler Voronoi Bruch-objektet via menyen Tags>Simulasjonstagger i Objekt-behandleren eller via høyreklikkmenyen.
I den tilhørende innstillingsdialogen sikrer vi først på Dynamics-siden ved hjelp av Utløsning ved kollisjon at veggen forblir uskadd til den første kollisjonen med en kule.
Den viktigste parameteren for våre brikker finner vi på Kollisjon-siden. Her må innstillingen for Individuelle elementer være satt til Alle, slik at brikken som er brutt ut fra veggen får de dynamiske egenskapene.
En lav verdi for Elastisitet og en høy verdi for Friksjon skal holde brikkene på bakken i samarbeid med kollisjonsobjektene.
For å beskyte veggen har jeg gjort et enkelt Kule-objekt tilgjengelig i passende størrelse. Selvfølgelig er du helt fri til å velge type og antall kasteobjekter.
Vi tildeler kasteobjektet vårt en Dynamics Body-Tag gjennom menyen Tags > Simuleringskoder i Objekt-behandleren eller ved å høyreklikke med kontekstmenyen, for å også gjøre det til en Rigid Body.
Nå er det forskjellige måter å få kulen til å treffe veggen på. Med en Emitter kan man skape et skikkelig kulehagel, men i vårt tilfelle ville det være overdrevet, for egentlig er en initiell skyv i positiv Z-retning nok.
Denne skyven kan enkelt gis til kulen gjennom innstillingsdialogen til Dynamics Body-Tag på Dynamics-siden. Der aktiverer vi alternativet Egen startfart og setter Startfarten i Z-retning til 1000 cm. Siden denne første kulen kan starte simuleringen, lar vi Utløsningen være Øyeblikkelig. På Kollisjon-siden tildeler vi for Elastisitet og Friksjon lignende verdier som allerede for brikkene.
Hvis ikke allerede gjort, test animasjonen av kulen som treffer veggen ved å klikke på Avspillknappen. Kulen etterlater den første skaden med våre Voronoi-brikker og ruller deretter bort fra kameraet.
Tilpasning av veggmaterialet
Før vi mishandler veggen med flere kuler, ser vi nærmere på et renderingsbilde fra det endelige kameraperspektivet. Brikkene har alle et mørkegrått, betonglignende materiale, som også fortsetter på flatene til bruddstedene. Mer realistisk ville det imidlertid være hvis vi brukte et annet, lysere materiale for disse områdene inni veggen. Et annet, lysere materiale for veggen finner du allerede i Materiale-behandleren, nå må vi bare henvende oss spesifikt til innvendige flater med materialet.
Akkurat for disse formålene tilbyr Voronoi Bruch-objektet en rekke ofte brukte flater, kanter og punkter av brikkene i innstillingsdialogen på Seleksjons-siden. Siden vi ønsker å tildele de indre flatene med en annen materiale, aktiverer vi akkurat denne seleksjonen for våre brikker.
Ved å aktivere Indre flater-seleksjonen får Voronoi Bruch-objektet en automatisk generert Seleksjons-Tag, der alle innvendige flater til brikkene er lagret. Det er nå enkelt å tildele denne seleksjonen en egen tekstur.
Tildel det derfor Veegg-objektet under Voronoi Bruch-objektet det lysere Veegg-materialet ved å dra og slippe fra Materiale-behandleren til Objekt-behandleren. I innstillingsdialogen til det resulterende Tekstur-Tagget drar du deretter Seleksjons-Tagget fra Objekt-behandleren til feltet Seleksjon av Tekstur-Tagget.
Et nytt renderingsbilde viser at brikkene på veggen nå har forskjellige materialer for utsiden samt for innvendige flater slik det er ønsket.
Ferdigstillelsen av animasjonen med flere kuler
Etter at de første kulene har truffet, skinner PSD-logoen allerede litt gjennom, men for å fullstendig avdekke logoen trengs det flere kuler. For mitt eksempel opprettet jeg to duplikater av den første kulen ved å dra og slippe med den trykte Strg- eller Ctrl--tasten i Objekt-behandleren.
Vi tar oss av de dynamiske egenskapene til kulene med en gang, først plasserer vi de to kulene på gunstige posisjoner for kastingene. Etter at den første kulen har truffet veggen i den nedre tredjedelen, går vi opp en god del for de andre to kulene og flytter dem litt i X-retning.
Når vi nå klikker på Avspillingsknappen, begynner alle kulene å bevege seg samtidig. Det er ikke forgjeves at vi i innstillingsdialogen til Dynamics Body-Tags har satt Utløsning til Øyeblikkelig. For å heller avfyre kulene litt forsinket, aktiverer vi bare parameteren Aktivert på Dynamics-siden for kule 2 og 3.
Sørg for at den grønne tidsviseren står på bilde 0, deaktiver Dynamics-alternativet og sett deretter inn en Nøkkel før parameteren Aktivert ved å klikke på Nøkkelramme-knappen. Alle andre parametere, spesielt Startfart, har jeg beholdt uendret fra den første til den andre kulen.
Som starttidspunkt for den andre kulen og dermed aktiveringen av Dynamics Body-Tags, har jeg valgt bilde 100 i en annen testkjøring.
I innstillingsdialogen til Dynamics Body-Tags for den andre kula, trenger vi bare å krysse av for parameteren Aktivert og lagre denne innstillingen ved å klikke på Nøkkelramme-knappen for å lage en andre Nøkkel.
Den tredje kulen følger etter at også den andre kulen har gjort jobben sin - i mitt tilfelle ved bilde 180.
For den tredje kulen betyr det: Vi trenger igjen en Nøkkelramme på bilde 0 som holder Dynamics deaktivert til vi setter haken på Aktivert ved bilde 180 og lagrer dette i en andre Nøkkelramme. I mitt eksempel har jeg økt Startfarten for den tredje kulen til 1500 cm, slik at kulen sikkert når målet sitt, å frigjøre resten av PSD-sommerfuglen.
Når det gjelder antall, størrelse, posisjon og hastighet på kulene, er grundig testing selvfølgelig en avgjørende faktor. Lengden på 400 bilder er satt i Prosjekt-innstillingene - dette bør være tilstrekkelig til at også det siste bruddstykket har roet seg. Animasjonen er dermed ferdig.
Baking av simuleringen
Når en simulering - slik som den vi nettopp fullførte - er avhengig av at MoGraph-elementene kan gjenskapes på alle datamaskiner eller også under nettverksrendering, må simuleringen bakes inn.
I innstillingsdialogen til Dynamics Body-Tags for Voronoi-bruddstykke-veggen går vi til Cache-siden. Ved å klikke på knappen Bake alt sørger vi for at ikke bare bruddstykkene, men også kulene tas med i bakingen av simuleringen.
Etter en kort ventetid ...
... er simuleringen nå gjenskapt. Dette kan vi bekrefte på Cache-siden ved å se på den brukte lagringsplassen, men også på Dynamics-siden ved de inaktive parameterene. Dette sikres med alternativet Bruk cachet data, som sikrer at simuleringen kun kjører gjennom hurtigbufferen.
Nå kan vi trygt bla frem og tilbake med den grønne tidsviseren på tidslinjen, alle elementene i MoGraph-simuleringen tar del i den samme animasjonen uten å blir nødt til å beregnes på nytt.