Tutorial per sorgenti di fumo a pressione (testo + video)

Stai vedendo 1 articolo (di 1 totali)
  • Autore
    Articoli
  • #500591
    Foto del profilo di Trinciatore92
    Trinciatore92
    Partecipante
    • Blenderista
    • Conversazioni totali42

    Eccomi qui, parlandone su facebook è risultato essere interessante quindi ho deciso di fare un tutorial relativo alla creazioni di sorgenti di fumo che prevedono una fuoriuscita soggetta a pressione.

    Nel caso specifico il mio progettino/test, era relativo alla creazione di un fumogeno ma è chiaro che le applicazioni sono molteplici (lanciafiamme, tubi di scappamento ecc. ecc.) così ho realizzato questo videotutorial per la sua realizzazione

    Riassumo qui una versione testuale del processo (mi limito alla creazione della sorgente, quindi eviterò dettagli presenti nel video relative alla scena/inquadratura dato che poi ognuno avrà la sua):

    SETP 0: Create fin da subito un salvataggio del progetto, quando si tratta di simulazioni non abbiamo il pieno controllo di quel che accade e rischiamo di indurre inavvertitamente il programma verso un crash, quindi salvate e salvate spesso così da non perdere i progressi fatti.

    step 1: sfruttiamo il cubo di default per realizzare il campo smoke -> domain (nella sezione “physic” del properties panel) e allarghiamolo in modo che inglobi tutta la nostra scena.

    tip&tricks 1: poniamo attenzione al fatto che i margini del cubo domain non rientrino nell’inquadratura così da evitare che venga ripreso il punto in cui il fumo scompare perché eccede dal campo di simulazione. Aiutatevi a visualizzare meglio la scena mettendo la visione wirefrime o sfruttando i layer se siete capaci.

    step 2: settiamo gli elementi della scena (muri, tavoli o ostacoli in generale), come smoke -> obstacole.

    tip&tricks 2: gli ostacoli possono rappresentare un forte appesantimento per i calcoli, quindi gli elementi non focali della scena e della simulazione del fumo (es. un quadro su una parete, un oggetto dello sfondo che verrà facilmente oscurato alla vista, e simili) è meglio evitare di impostarli come ostacoli, così che la scena rimanga più leggere da calcolare; in breve valutate caso per caso in base al soggetto che inquadrate e a quanto la sua presenza può rendere esplicita una variazione nella simulazione del fumo.

    step 3: creiamo il nostro oggetto sorgente, nel caso del tutorial un fumogeno, andiamo poi a selezionare tramite edit mode i poligoni che rappresentano l’ugello da cui uscirà il fumo, andiamo sempre nel properties panel  alla voce “vertex” e assegniamo i poligoni selezionati in un nuovo vertex group (cliccando sul “+” si crea un nuovo vertex group e con “assign” si assegnano i poligoni a quel gruppo).

    tip&tricks 3: rinominate il vertex group qualora ce ne siano più di uno all’interno del progetto, così da riconoscerlo facilmente.

    step 4: tenendo sempre selezionato l’oggetto che ci fa da sorgente, creiamo ora un sistema di particelle (anche in questo caso, rinominatelo se ce ne sono molti), aggiustiamo l’emissione delle particelle in modo che sia conforme alla time-line della nostra scena, impostando i parametri “start” ed “end” nella sezione “emission”; scorrendo fino in fondo la serie di opzioni del particles system, noteremo la voce “vertex group” clicchiamoci sopra e alla voce “density” selezioniamo il vertex group che avevamo creato in precedenza.

    step 5: a questo punto, sempre dalle opzioni del particles system, cerchiamo la sezione “velocity” e impostiamo la forza con cui verranno emesse le particelle nell’asse di competenza, nel caso del tutorial il fumogeno era poggiato a terra con l’ugello rivolto verso l’alto, quindi ho alzato il parametro relativo all’asse Z); una volta trova la forza ideale, riduciamo il valore “lifetime” presente nella sezione emission, così che le particelle svaniscano dopo poco e cercando di evitare che iniziano a subire l’effetto della gravità andando a cadere (se cadono fin da subito aumentate la velocità di emissioni sull’asse così che percorrano maggiore spazio in linea retta).

    tip&tricks 4: ricordate che ogni particella del particles system alla fine genererà del fumo, come una serie di tanti piccoli oggetti sorgente, quindi cercate di non eccedere col numero di particelle emesse, al fine di evitare un eccessivo appesantimento della scena e sopratutto una quantità di fumo eccessiva (questo parametro però è legato alla risoluzione che daremo poi al fumo, quindi per una bassa risoluzione è meglio usare poche particelle, per una più alta risoluzione è invece consigliabile aumentarne il numero). Ricordatevi di salvare prima e dopo aver realizzato il particles system dato che potrebbe rappresentare un punto critico come anticipato nello step 0.

    step 6: ora che il nostro sistema di particelle è pronto, torniamo nella zona physic della properties panel relativo al nostro oggetto sorgente, settiamolo come smoke -> flow e nelle opzioni che compariranno, alla voce “flow source”, sostituiamo “mesh” con “particles system” selezionando nel campo sottostante il sistema da noi creato in precedenza. Ricordiamoci di attivare la voce “initial velocity” che è la funzione che ci permette di creare l’effetto pressione, impostandola ad un valore di poco superiore all’1 nel mio caso l’ho settata a 1,25 (chiaramente in base al tipo di pressione che intendete realizzare potrebbe essere necessario un valore più piccolo o più grande).

    tip&tricks 5: tenete presente che la velocità iniziale viene calcolata per singola sorgente, quindi man mano che verranno emesse le particelle, le velocità si andranno ad accumulare, quindi se la prima particella spingerà il fumo a 1,25 allora lo farà anche la seconda che urtando la prima la porterà ad avere una velocità ancora maggiore (1,25 + una parte di velocità dovuta alla scontro tra la prima e la seconda = un valore maggiore di 1,25), è bene dunque fare delle prove e partire da valori più bassi del previsto.

    step 7: andiamo a selezionare di nuovo il cubo domain e vediamo ora come settarne i parametri presenti nella sezione physic -> smoke -> domain; per prima cosa spuntiamo le voci “smoke adaptive domain” (che ci farà risparmiare risorse) e la voce “smoke high resolution” (che ce le farà perdere ma ci darà una resa migliore), risaliamo alla voce smoke e nella zona “behavior” impostiamo i valori di densità e differenza di temperatura, la prima indicherà quanto sarà corposo il fumo e quanto sarà soggetto alle forze fisiche (gravità, vento ecc.), la seconda invece sarà legata al tipo di sorgente e rappresenta la temperatura con cui esce dalla sorgente e si raffredda (ricadendo per forza di gravità, tipo il fumo di un focolare), valori positivi indicano temperature calde che fanno ascendere il fumo mentre valori negativi rappresentano temperature fredde che lo faranno andare verso il basso (tipo il ghiaccio secco per intenderci). Infine settiamo il parametro “division” ovvero la qualità del fumo, con un valore che sarà dettato dalla capacità del vostro pc (salvate e fate qualche test per orientarvi). Decidete in base al tipo di progetto che intendete realizzare, se usare o meno la funzione “dissolve” che permette di impostare un periodo di tempo in cui il fumo è presente e dopo il quale si disperde annullando la sua presenza nella scena (tipo il “lifetime” delle particelle visto in precedenza).

    tip&tricks 6: Attenzione, anche in questo caso, non sapendo cosa verrà calcolato, è bene salvare il progetto prima di iniziare a impostarlo e fare dei test, inoltre sfruttate la funzione “smoke cache” la quale vi permette di calcolare la simulazione del fumo in modo “non real time” quindi si prenderà il tempo che gli serve senza arrivare ad un crash. Come per il particles system assicuratevi che la simulazione contempli una timeline uguale a quella della scena, altrimenti il fumo verrà simulato solo per un periodo specifico e non oltre (in caso di time line più corte, eviterete di fargli calcolare roba extra che non vi serve).

    step 8: Per realizzare il material del fumo, consiglio l’utilizzo della grafica a nodi, ricordo fin da subito che il colore del fumo è legato al domino della simulazione e non alla sorgente che lo genera. Clicchiamo quindi sul cubo domain e assegniamogli un material, togliete il nodo diffuse e tenete solo il nodo output, a questo punto aggiungete un “mix shader” da collegare al canale “volume” del nodo output, mentre ai due ingressi del mix shader metteteci “volume scatter” e “volume absorption” presenti sempre nella lista shader; ora abbiamo creato il simil fumo ma non basta dobbiamo fargli prendere le forme del fumo e non del domain, quindi ci servono altri nodi da aggiungere al material, per farlo sarà sufficiente creare un nodo “attribute” che trovate invece nella sezione “input” e nella casella presente scriverci “density” (sono parole chiave che blender riconosce in automatico, potete usarne un secondo chiamato “flame” qualora il progetto contemplasse anche le fiamme), fatto ciò vi consiglio aggiungere anche un nodo di tipo “math” e cambiate l’operazione da “add” (addizione) a “multiply” (moltiplicazione), collegate ora il nodo “attribute” al nodo matematico (un ingresso vale l’altro) e l’uscita del nodo “math” la collegate alle voci “density” dei nodi “volume scatter” e “volume absorption”. Ora siamo apposto, abbiamo finalmente il nostro fumo.

    tip&tricks 7: il nodo matematico che abbiamo aggiunto ci consente di rendere la densità del fumo più o meno alta, così da passare da una sottile nebbiolina ad una densissima colonna di fumo (tipo la scia di un meteorite in collisione con l’atmosfera), di default il nodo matematico è settato a 0.5 quindi è come se dividesse a metà il valore di densità normale del fumo, quindi se volgiamo mantenerlo originale lo portiamo a 1.0 se vogliamo renderlo più compatto mettiamo valori superiori all’1 mentre per avere una densità molto scarsa valori sotto l’1.

    setp 9: Renderizziamo il tutto e il gioco è fatto, evito vari tip&tricks relativi alle impostazioni di rendering perché fanno storia a se ma consiglio comunque di informarsi un po’ sull’impostazione “volume sampling” della zona rendering così da avere qualche indicazione in più sul campo specifico dei render volumetrici.

     

    Spero che tutto ciò possa essere di aiuto a qualcuno 😀


    0
Stai vedendo 1 articolo (di 1 totali)

Devi essere loggato per rispondere a questa discussione.