For å kunne fokusere på arbeidet med de nye funksjonene, har jeg forberedt en prosjektfil i følge med materiale: PSD_R21_VektorVolumen_start.c4d. Den inneholder et parametrisk kule-objekt og to partikkel-emittere, rettet mot kula ovenfra og nedenfra. Målet med denne opplæringen er at de utstrømmende partiklene treffer kulen og sprer seg i alle retninger der.
Laten oss kort se på elementene i scenen. Begge partikkel-emittere har de samme innstillingene: De sender ut 500 partikler til bilde 300, der partiklenes levetid er 1000 bilder, noe som varer til slutten av animasjonslengden.
Bygge opp den første vektorfeltet
Vi begynner med å generere et første vektorfelt fra geometrien som er gitt av kulen. Det skal lede de treffende partiklene rundt kula ved hjelp av en tilfeldig mønster.
For å gjøre dette henter vi først en volumgenerator fra menyen Volum.
Deretter legger vi kule-objektet via dra-og-slipp over objekt-behandleren som underobjekt i volumgeneratoren. For øyeblikket er volumtypen fremdeles angitt som avstandsfelt, derfor bygger volumgeneratoren kula vår ut fra voxler foreløpig.
For å gjøre kulen til et vektorfelt i stedet, endrer vi volumtypen til typen vektor via menyen.
Vi endrer nå den noe grove oppdelingen av vektorfeltet via voxelstørrelsen. En verdi på 5 cm er helt tilstrekkelig for våre formål.
Vårt tidligere kule-objekt har nå blitt et radikalt felt av utallige vektorer takket være volummesher.
Når vi zoomer litt nærmere på vektorfeltet, ser vi de individuelle vektorene, som alle står vinkelrett på posisjonen på kula overflate. Som et resultat peker kreftene fra dem alle vekk fra kula vår. Ikke akkurat det vi trenger for å lede partikler rundt kula i forskjellige retninger.
Vi må derfor ta hånd om to ting: Vektorene må ligge parallelt med overflaten av kula og også ha et tilfeldig mønster, slik at partiklene på overflaten blir omdirigert i forskjellige retninger.
For det tilfeldige mønsteret sørger en tilfeldigfelt, som vi henter fra menyen Generer>Felt inn i scenen vår.
Vi legger tilfeldige feltet ved hjelp av dra-og-slipp over objekt-behandleren som et underobjekt i volumgeneratoren. I innstillingdialogen til volumgeneratoren er da tilfeldigfeltet oppført som et lag over kula vår.
Et blikk på 3D-visningen viser at de to vektorfeltene fortsatt ikke fungerer slik vi trenger det. Tilfeldigfeltet skal til slutt påvirke vektorene på kula som ligger nedenfor på listen.
For å oppnå dette, velger vi oppføringen av tilfeldigfeltet i listen over objekter i volumgeneratoren og setter generasjonsrommet til Objekter foran.
Vi gjør et tilfeldigfeltet til det ønskede resultatet på alle vektorene som er tilgjengelige fra kula. Det eneste vi trenger å gjøre nå er å sørge for at de kaotisk vridd vektorene peker langs overflaten av kula.
Det virker som at beregningsmodusen til tilfeldigfeltet og kula fortsatt ikke samsvarer helt. Gjennom modusmenyen i objektlisten velger vi for tilfeldigfeltet beregningsmetoden kryss. Denne modusen er laget spesielt for å bestemme vertikalen til to vektorer som skal beregnes sammen gjennom kryssproduktet.
Slik viser et blikk på vår 3D-visning, vektorene tangentielt rundt kula som ønsket etter dette trinnet.
Bruk av kraftfeltet
Nå har vi forberedt det første vektorfeltet for partikkelbanen rundt kula, men dessverre legger partiklene hittil ikke merke til vektorene våre.
For at vektorene i vårt selvopprettede felt skal virke som krefter, trenger vi et såkalt kraftfelt-objekt. Vi finner det i menyen Simuler>Krefter.
For at vårt vektorvolum skal virke som kraftfelt, åpner vi innstillingsdialogen til kraftfeltet og drar volumoppretteren over Objekt-Manageren til Objekt--feltet til kraftfelt-objektet.
Etter at du slipper, blir du spurt via et lite valgmeny om volumoppretteren skal behandles som punkt- eller volumobjekt. Vi velger selvfølgelig alternativet volumobjekt.
Nå skal vårt vektorvolum definert av volumoppretteren stå som et oppføring i listen over kraftfelt. Som vi ser, arbeider kraftfeltet også gjennom lag og beregningsmodi, noe som gir en anelse om de nye mulighetene som oppstår med kraftfelt-objektet.
Når vi nå starter animasjonen med avspillingsknappen, ser vi at partiklene nå blir påvirket av vektorfeltet vårt.
Dette er fortsatt ikke det ønskede resultatet. Akkurat nå er hastighetstypen som skal legges til hastighet fortsatt aktiv i kraftfelt-objektet, så partiklene blir bare avskåret med litt mer momentum. Vi vil derimot at partiklene skal endre sin retning i henhold til vektorene, noe vi velger i hastighetstyp-menyen.
Etter denne endringen ser animasjonen allerede bedre ut. Mange partikler finner allerede veien sin over kuleoverflaten, men noen andre blir avskåret fra kula. Det er også merkbart at disse avskårne partiklene beveger seg på veldig rare baner.
Dette kan vi enkelt fikse ved å i innstillingsdialogen til kraftfelt-objektet velge volumoppretteren i objektlisten og på lag-siden endre prøvemodus fra nærmeste til lineær. Dette fører til at det ikke bare avrundes til eller fra neste voksel, men en lineær gjennomsnittsverdi brukes.
Etter denne endringen beveger de avskårne partiklene fra kulen seg allerede mye friere. Nå sørger vi for at også disse partiklene forblir på overflaten av kula.
For at banene til partiklene som løper på kuleoverflaten ikke skal bli for delikate, øker vi også størrelsen av det underliggende støy-feltet i innstillingsdialogen til zufallsfeltet. Selvfølgelig står det alle fritt til å eksperimentere litt mer med innstillingene til zufallsfeltet.
Hvis vi har valgt zufallsfelt-objektet, kan vi forresten endre parameteren størrelse interaktiv i 3D-visningen med en egen gripetang. Jeg har valgt en størrelse på 300 %, slik at støyen er tydelig synlig i vektorene.
Oppbygging av det andre vektorfeltet
Som navnet på kullobjektet vårt "Kule innenfor" allerede antyder fra begynnelsen av, skal det, i tillegg til det nettopp fullførte vektorfeltet for den indre kula, også være et annet vektorfelt for en ytre kule. Denne andre, noe større kulen skal sørge for at eventuelt reflekterte partikler sendes tilbake til overflaten av den indre kulen.
Vi dupliserer kullobjektet ved å dra det med den pressede Strg-- eller Ctrl--tasten i Objekt-Manageren, og lar det være et underobjekt av volumoppretteren og gir det tillegget "utenfor" slik at begge kulene kan skilles. Denne ytre kulen gir vi også en radius som er 2 cm større for å gi plass til partiklene.
Volumprosessor har også umiddelbart generert det tilsvarende vektorfeltet fra den andre ytre kulen og lagt det til de allerede eksisterende objektene.
I listen over objekter i innstillingsdialogen til volumprosessoren, står den ytre kulen nå øverst og vil bli behandlet sist. Men vi vil jo at den ytre kulen først skal penetreres av partiklene og deretter ikke slippe dem ut.
La oss derfor bringe litt orden til objekt-listen. Først flytter vi "Ytre kule" til bunnen av rekkefølgen. Fordi tilfeldig felt virker på den underliggende "indrekulen", men skal behandles rett etter "Ytre kule", oppretter vi enkelt og greit en mappe der vi kan flytte tilfeldig felt og den indre kulen. For å gjøre dette, klikker vi på mapper-knappen under objekt-listen.
Nå flytter vi tilfeldig felt og den indre kulen fra objekt-listen til volumprosessoren til denne nye mappen ved hjelp av dra og slipp.
Siden den ytre kulen, hvor vektorene står vinkelrett på kulens overflate, virker først, blir partikler som treffer den for øyeblikket fullstendig reflektert. For å snu vektorfeltet til den ytre kulen, bruker vi en volumfilter, av hvilke flere er tilgjengelige for arbeidet med vektorer. Vi finner volumfilter-menyen under objekt-listen og velger Inverter vektor-filteret derfra.
Siden vi ønsker at volumfilteret bare skal virke på vektorene til den ytre kulen, plasserer vi det ved å dra det over "Ytre kule".
Nå skal alt fungere som ønsket. Et klikk på avspillingsknappen viser at alle vektorfeltene er riktig justert. Partiklene treffer kulen og sprer seg tilfeldig over overflaten.
Vi kan bringe litt mer liv til partikkelflytene ved å animere støy-mønsteret til tilfeldig felt.
For å gjøre dette, åpner vi innstillingsdialogen til tilfeldig felt og setter en startfart, i mitt eksempel 50 %.
Partikkelflytene blir nå kortere på grunn av det animerte støy-mønsteret, de bryter fra hverandre på flere steder.
Omdannelse av partikler til spline-stier
Nå kan vi selvfølgelig sende hvilket som helst - helst lite - objekt på reisen over kulens overflate som partikler. Et alternativ er å automatisk tegne veiene til partiklene og konvertere dem til spline-stier. For dette trenger vi Tracer-objektet fra MoGraph-menyen.
For at partikkelflytene fra begge utstøterne skal konverteres til spline-stier, drar vi de to utstøter-objektene over objekt-behandleren til feltet Tracerforbindelse i innstillingsdialogen til Tracer-objektet ved hjelp av dra og slipp.
Siden utstøterne over tid utstøter ganske mange partikler, begrenser vi lengden på spline-stiene generert av Tracer. I innstillingsdialogen til Tracer-objektet velger vi Slutt ... som Grense for dette formålet.
... og angir gjennom parameteren Bilder lengden på spline-stiene. Jeg har valgt en Lengde på 100 bilder. Lavere verdier gir tilsvarende kortere spline-stier.
Etter et klikk på avspillingsknappen kan vi nå se hvordan de genererte spline-stiene fra Tracer animert tegner seg over kulens overflate.
For å lage hovedbildet for denne opplæringen, har jeg opprettet en kopi av kuleobjektet og farget den rød. Med unntak av Tracer-objektet kan vi deaktivere synligheten til alle andre objekter i objekt-behandleren.
For å lage tredimensjonale objekter fra spline-stiene generert av Tracer-objektet, kan dere for eksempel underordne Tracer-objektet sammen med et Sirkel-objekt under et Sveip-objekt. Vær imidlertid oppmerksom på antallet partikler og deres levetid, da datamaskinen ellers kan bli veldig treg ...