PARTICLE SYSTEM: ESPLOSIONE IN 3D STUDIO MAX
senza l'utilizzo di Plug-In



PREMESSA



I Particle System (= sistemi particellari) sono uno degli argomenti più grossi che si possano trovare in 3D Studio Max, pur avendo avuto negli anni un'ottima evoluzione rimangono degli strumenti "basilari" rispetto a software specifici, plug-in o moduli di altri pacchetti 3D. Con questo non voglio assolutamente dire che non siano validi, anzi, negli anni gli utenti di 3D Studio Max hanno potuto vedere l'evoluzione dalla versione targata Discreet, nella quale non esisteva il Particle Flow (=Pflow), ad oggi dove le Particle sono degli strumenti validi se saputi utilizzare o se accostati a plug-in adeguate. Devo ammettere che il modulo Fluid ed nParticle contenuto in Autodesk Maya consente qualcosa di più, ma come tutti i software la differenza la fa chi usa lo strumento e non viceversa. Se volete approfondire l'argomento vi consiglio di visitare il sito web del VFX Artist Allan McKay. Prima di iniziare il tutorial vorrei spendere ancora due parole sul perché di un tutorial del genere... (?)... La verità è che sono anni che avevo nel cassetto questo tutorial, ma non avevo mai trovato il tempo di scriverlo o di preparare per bene i file di lavoro, in realtà non è un mio tutorial al cento per cento, si tratta di una "traduzione" di un altro tutorial che si trovava in rete qualche anno fa (all'incirca nel 2004-05) di cui ho perso le tracce sia nel web che sul mio Pc (tra un backup e un hard-disk fuso). Oggi come oggi è molto più semplice utilizzare plug-in come Sinti Sati Fume Fx o After Burn, ad esempio, ma è un "pretesto" per invogliarmi a scriverlo e per mostrarvi un altra via per realizzare tale effetto. Nelle pagine seguenti vi mostrerò come impostare alcuni valori (puramente empirici e variabili in base alle vostre esigenze), luci e materiali con il motore di resa default Scanline. Per seguire il tutorial è necessaria almeno una conoscenza basilare di navigazione, dell'animazione e di dove sono collocati alcuni comandi che non sono riportati come icone.

Volendo è reperibile un file in formato PDF con note, link e altro al seguente indirizzo

http://issuu.com/mat...o_plugin_3dsmax

IMPOSTAZIONE DELLA SCENA E DEI PARTICLE SYSTEM



Creiamo una scena basilare costituita da un cilindro e una capsula, che rispettivamente rappresentano un barile e un missile, molto importante assegnare un buon numero di segmenti ad entrambe le geometrie poiché, come vedremo prossimamente, sono utili per il system particle "P Array". Essendo una simulazione animiamo il missile facendolo partire da un punto desiderato fino a dentro il cilindro o corpo di collisione, se preferite chiamarlo così, ed aggiungiamo un "Super Spray" per simulare il fumo del nostro razzo (Create-> Geometry-> Particle System->Super Spray). Allineate l' emettitore al missile, volendo potete usare il comando "Align" e se volete fare prima il "Quick Align" richiamabile con lo short-cut "shift+A", a questo punto collegatolo con il comando "Select and Link" al missile (oppure Animation->Costraints->Link Costraint). A prima impressione il Super Spray può sembrare complesso, ma non tantissimo poiché andremo a lavorare su alcuni valori e in alcuni casi, come vedremo prossimamente, richiameremo dei semplici preset per non impazzire troppo. Lasciamo di dafault i valori del roll-out "Basic Parameters",l'unica cosa che vi consiglio, specialmente se avete poca potenza hardware, è di abbassare la quantità di particelle visibili in lavorazione quindi alla voce "Percentage of Particles" con un valore congeniale (20% - 40%, nell'immagine sottostante è impostato ad 80%). Il roll-out "Particle Generation" ci aiuta a regolare la quantità delle particelle generate, il movimento, il momento di emissione e le dimensioni, mentre il roll-out "Particles Type" ci permette di scegliere quale tipologia di particelle utilizzare e quindi la loro rappresentazione (vedi immagine di esempio per le varie differenze a pagina 5). Io ho lavorato sui seguenti parametri:

• In Particles Quality da "Use rate" a "Use Total" ed ho impostato un valore di 120 così facendo si possono utilizzare tutte le particelle in una sola volta invece di utilizzare il base al Frame Rate;
• Particles Motion speed e variation che regolano la velocità e la variazione della posizione delle stesse;
• Il Particle Timing dipende dalla vostra scena, nel mio caso il missile emette particelle fin da subito e si concludono al frame 52, stessa cosa per il la dimensione in Particle Size e la variazione della dimensione;
• In Particle Type ho scelto una tipologia Facing, questo valore è costante anche nelle altri emettitori Super Spray che andremo a creare successivamente.


85c648fed051d7c16317ba13ff2ac573

efb22c5defb39505f0e4c7ff6c58212b


Per dare una maggiore "variazione" e una direzione ho aggiunto una forza "Wind" (Create->SpaceWarps->Forces->Wind) e l'ho collegato al Super Spray con "Bind to Space Warp". Quando il missile entra in contatto, quindi esplode, con il barile esso si frantuma in tanti pezzi, di conseguenza c'è da realizzare questa simulazione e per farlo usufruiremo di un preset del "Particle Array" (Create->Particles->PArray). Esso genera delle particelle in base ad una superficie quindi se lo applichiamo ad una sfera le particles saranno emesse dalle facce che la compongono, stessa cosa per un cubo, per una capsula, ecc... ecc.. Per scegliere a quale geometria applicarlo ci basta cliccare su "Pick Object" e selezionare l'oggetto che dovrà generare le particelle, quindi, nel nostro esempio, il nostro missile. Come avrete notato i parametri sono molto simili, se non uguali, al Super Spray. Per generare l'effetto di "detriti" andiamo nel roll-out "Load/Save Preset" e carichiamo il preset "Blast" o "Disintigrate" quello che secondo voi si addice di più alla scena (nel mio esempio ho utilizzato il primo). L'unica cosa che possiamo e che dobbiamo impostare è l'inizio dell'emissione in "Particle timing".

897f883e186ad69420ffe01ff477d993

e3f0e457109eaf4dd1481662b1a9a266


Notiamo che i frammenti si disperdono in tutte le direzioni senza seguire, logicamente, la forza di gravità esistente sulla terra, naturalmente possiamo assegnare questo effetto creando (appunto) una forza "Gravity" (Create->SpaceWarps->Forces->Gravity) e collegandolo con "Bind to Space Warp", così facendo noteremo che i vari pezzi del missile seguiranno l'andamento della forza appena creata (se la freccia è verso il basso logicamente "cadranno" e via dicendo). Per far si che i detriti rimbalzino o si fermino sul terreno andiamo a creare "Deflector" (Create->SpaceWarps->Deflectors->Deflector) che non è altro che un piano sul quale rimbalzeranno i vari elementi per tutta la grandezza dello stesso e anche in questo caso andiamo a collegarlo con il PArray con lo stesso sistema utilizzato per la forza di gravità. Eseguiamo lo stesso procedimento anche per il barile, ma con l'unica variante di un "Particle Bomb" (Create->SpaceWarps->Forces->PBomb) per dare l'effetto di dispersione dei vari frammenti del cilindro.

3c3d9ce16bde27a83ee3129799d57f79

025f4baa2ad2a6c4e3c21033d91153b0


Bene! Per ora non abbiamo fatto niente di davvero complicato, forse qualcosa di troppo macchinoso e noioso, ma solo ad un terzo della nostra simulazione. Che cosa manca? Se pensiamo ad un'esplosione, senza per forza effettuare una ricerca nel web, possiamo dividerla in varie parti o meglio possiamo supporre di avere differenti elementi come frammenti dei due corpi (cilindro e capsula), detriti di diverse dimensioni e del fumo, adesso ci occuperemo di quest'ultimo dividendolo in due parti. Una più a fontana e l'altro più circolare e rasoterra. Per il primo andiamo a creare un "Super Spray" (Create->Particles->Super Spray), ma lavoreremo in maniera un po' diversa rispetto alla scia del missile, infatti lo posizioniamo al centro dell'esplosione, con una direzione verso l'alto ed i valori che andremo ad impostare saranno:

• In Particles Quality lasciamo "Use rate" ed impostiamo un valore alto (nel mio caso il valore è 400) così facendo saranno utilizzare lo stesso numero di particelle in base al Frame Rate;
• Particles Motion speed e variation che regolano la velocità e la variazione della posizione delle stesse;
• Il Particle Timing che naturalmente dipende dalla vostra scena, stessa cosa per la dimensione in Particle Size e la variazione della dimensione, ma aggiungiamo un elemento che è il "Grow For". Questo valore va ad agire sulla dimensione delle particle dilatandone la dimensione sui frames che è il valore, mentre il "Fade For" le assottiglia/taglia con un rapporto del 1/10 in fase di nascita o morte in base ai frames. Inoltre andiamo ad agire sui valori degli assi per dare una maggiore dispersione quindi valori come Off Axis, Off Plane, Spread (naturalmente dipende dalla vostra scena);
• In Particle Type ho scelto una ti pologia Facing, questo valore è costante anche nelle altri emettitori Super Spray che andremo a creare successivamente.


5013df16c53be130ce5afeedbbae0558


Per dare l'effetto di ricaduta andiamo ad applicare una forza di Gravity (Create->SpaceWarps->Forces->Gravity) allineandolo, ma distanziandola un pochino dall'emettitore. Naturalmente colleghiamola con "Bind to Space Warp". Creiamo un altro Super Spray, rivolto verso il basso, ed allineiamo ad esso una forza Wind Spherical (Create->SpaceWarps->Forces->Gravity) ed in più colleghiamolo ad uno dei due Deflector creati in precedenza per i frammenti del missile o del barile. Se tutto va bene ci dovremmo trovare nella situazione illustrata nella pagina seguente.

7154115bf8bd60e0f129f1f75ca4adbc

8a6e33a4b8841c0862e402929b16ed0f


Adesso dobbiamo realizzare i detriti che "volano via" per gestirli al meglio creiamo una serie di sfere con 4 segmenti ed animiamole con delle traiettorie a "petali di fiore" (se mi passate il termine) con diverse altezze e lunghezze, come si vede in figura. Realizziamolo di diverse misure e possibilmente un numero sufficiente e non inferiore a 4, quattro, per tipologia, grandi detriti e piccoli detriti per un totale non inferiore ad 8, otto.
Creiamo un "Particle Array" (Create->Particles->PArray) per ogni elemento appena creato, quindi se abbiamo 8, otto, sfere dobbiamo avere anche otto PArray, siccome sono per i grandi e piccoli detriti vi consiglio di disporli su due file diverse. In questo caso non lavoreremo con dei preset e non andremo neanche a toccare troppi valori, come possiamo notare i parametri sono molto simili, se non uguali, a quelli del Super Spray usato fin'ora quindi gli unici due valori essenziali da impostare saranno i seguenti:

• "Over Entire Surface" è impostato di default, ma assicuriamoci che sia spuntata in questo caso, questa opzione permette di creare in maniera casuale (= random) le particelle considerando completamente la geometria come un emettitore. Le altre opzioni permettono di emettere le particles ai lati visibili (= Along Visible Edges), in base a tutti i vertici (= At All Vertices) o definendo un numero di vertici ben distinto in modalità casuale (= At Distinct Points).
• "Use Rate" abbiamo già affrontato questo parametro l'unica avvertenza in questo caso è di assegnare due differenti valori alle due tipologie di detriti, per i più piccoli può andar bene un valore come 10, dieci, per le più grandi un valore come 50, cinquanta, ad esempio. Seguendo la logica possiamo variare anche i valori di misura, velocità, variazione, ecc... (Size, Speed, Variation, ctc... etc...).
• Come tipologia possiamo mantenere la modalità Facing.


af4546e5f3a59e1a7bb9ef834ffab83d

277b4629d203febbd3b05979f1cfb02a

32c06c0980a2f6da346d969582118e82


Ma che differenza c'è tra Facing e Costant? (Direttamente dall'Help di 3D Studio Max)

Facing: Renders each particle as a square that always faces the view. Use with an appropriate opacity map for bubbles or snowflakes.

Constant: Provides a particle that remains the same size, in pixels, specified in the Size spinner. This size never changes, regardless of its distance from the camera.

Important: You must render either a camera or a perspective view for Constant particles to render correctly.



0ab209150414aa5e164df7861eb91e16


Nel nostro caso non succede niente di irreparabile, essendo un semplice esempio, la differenza è minima e si nota solo in fase di rendering, se volete possiamo cambiare la tipologia anche adesso prima di effettuare il rendering finale.


IMPOSTAZIONE DELLE LUCI IN SCENA PER DEFAULT SCANLINE RENDERER



In questa parte del tutorial vedremo come impostare alcune luci per dare più vita al nostro risultato finale, non è necessario utilizzare il motore di resa di default, Scanline Renderer, se ne possono usare anche altri, ma l'importante è capire il perché del posizionamento di determinate luci.

28fdc5f6a4f5bd61e30d3c9ab1f31470


Iniziamo con il posizionare, tramite il comando Align, una luce puntiforme, detta anche "omni", che simulerà il reattore del missile alla fine dello stesso e colleghiamola. Altro passo importante sarà quello di creare un'animazione dell'intensità della luce stessa, infatti avremo bisogno di creare un'intensità massima nel momento di contatto con il bidone e minima, cioè con valore nullo, pari a zero per intenderci, al momento della deframmentazione del missile. Andiamo a posizionare anche una luce nel centro dell'esplosione, nel mio caso è posizionata sopra il barile, e impostiamo dei valori nei momenti di minimo e massimo della stessa. Notate bene che i colori sono tutti in una scala compresa tra i gialli e i rossi, volendo potete divertirvi a variare i colori nelle varie fasi della simulazione, non è detto che siano diversi o uguali a quelli riportati nel mio tutorial. Ora occupiamoci dei detriti generati dalle sfere quelle che ho definito con una traiettoria a "petali di fiore" , avendono realizzate un minimo di 8, otto, dovremo realizzare lo stesso numero di luci omni che collegheremo alle stesse, anche in questo caso possiamo variare il valore dell'intensità e il colore, sempre con una scala dai gialli ai rossi.

6577b395de3ea7e56cc27eecbcad353b

0c38bd60d0bf9615eee4ae09b73b0d82


IMPOSTAZIONE DEI MATERIALI IN SCENA PER DEFAULT SCANLINE RENDERER



In questa parte del tutorial vedremo come impostare alcune materiali base, non è necessario utilizzare il motore di resa di default, i vari shader sono compatibili anche con altre plug-in di rendering, ma è sempre bene convertirli con i materiali "nativi" (ad esempio se usiamo V-Ray conviene utilizzare il V-Ray Materialse, con Mental Ray l'Arch&Design Material, ecc... ecc...). Tutti i materiali sono composti da un gradiente, di cui variano i colori, e una mappa di opacità che puà variare oppure rimanere la stessa per tutti gli elementi in scena. Nei miei test ho composto alcune combinazioni, come vede sotto stante, ma alla fine ho utilizzato lo shader del fumo del missile (variando i colori) per tutti gli elementi. Per il cilindro e la capsula, rispettivamente il barile e il missile, l'unica cosa che ho fatto è stato lavorare sull'opacità, portandola a valore nullo nel momento in cui dovevano scomparire dalla scena. Questo perché effettivamente non li abbiamo "fatti esplodere" infatti a fine esplosione (diffusione delle particelle) vedremo i due elementi intatti. Per eliminarli senza grandi problemi dal nostro piano visivo possiamo adoperare questo semplice, ma efficace, stratagemma.

Sotto alcune impostazioni di shader utilizzati

2ff6ef02048568661d592b0fe790523d

ebbd81159ab67ce17eb407617af07b5d

65425eb3500a44bc8ee8afa8feecb5d5

aaec9c308354371c97efb16f4527c79b


Sotto alcuni frame della simulazione animata, per aumentare l'effetto vi consiglio di applicare il motion-blur sulle particle, l'immagine qui sotto è un test realizzato aggiungendo un effetto vortice.

15a16780dd80619031f1bd6e470f0a21


Bene... siamo arrivati alla fine del tutorial e spero che sia stato di aiuto o di spunto per approfondire un altro aspetto di 3D Studio Max.

C&C e quant'altro sono i benvenuti grazie per il vostro tempo

Matteo Migliorini

:hello:

---
Questo articolo è stato importato automaticamente dal forum il 31/lug/2014
Per vedere il post originale e/o i commenti sul forum prima di quella data clicca qui