Nel 2011, proprio nel giorno del mio compleanno (quasi volesse farmi un regalo), Stefan Laub pubblicò un post sul forum uffciale di VrayforC4D in cui spiega in modo molto semplice come impostare i settaggi di render per ottenere un'animazione ficker-free, ovvero priva di quei fastidiosi sfarfallii tipici dell'animazione realizzata renderizzando fotogramma dopo fotogramma utilizzando i settaggi di render tradizionali.
Il metodo
Il metodo suggerito da Stefan per evitare di avere fickering nell'animazione finale è diviso in 3 step:
SETUP, BAKE GI e FINAL PASS.
1. SETUP
Prima di animare la camera all'interno o all'esterno di un progetto, molto probabilmente avremo già prodotto delle immagini, e se non lo abbiamo ancora fatto dovremo farlo, almeno per testare l'illuminazione e la risposta dei materiali. I test possono essere fatti con i settaggi che siamo abituati a usare per le immagini statiche.
1.1 SCEGLIERE UN PRESET IR-LC
Dopo aver impostato i settaggi di rendering di Vray (quindi tutto ciò che riguarda, color mapping, antialiasing, environment e GI) e dopo aver controllato i parametri del progetto (frame rate, durata, risoluzione fnale del video) Stefan consiglia di scegliere uno qualsiasi dei preset che accoppiano Irradiance Map + Light Cache (abbreviato "IR- LC"), che - per defnizione - non producono fickering.
1.2 SALVARE IL MULTIFRAME
Ora andiamo nel rollout dell'Irradiance map e cambiamo l'Irradiance map mode da Single frame a Multiframe incremental. Attiviamo l'opzione Save multiframe file e all'interno del campo Multiframe file specifchiamo un percorso di salvataggio per il nostro file.
2. BAKE GI
2.1 ATTIVARE "Don't Render Final Image"
A questo punto spostiamoci dal tab della GI al tab Options, e attiviamo l'opzione Don't render final image: in questo modo i fotogrammi non verranno renderizzati, ed è proprio quello che ci serve perché in questa fase dobbiamo acquisire solo delle informazioni legate alla GI, dei "dati".
2.2 INCREMENTARE IL FRAME STEP
Se il movimento di camera è abbastanza lento, non è necessario calcolare questi dati per ogni singolo fotogramma, ma è sufficiente calcolarli ogni 5, 10 o 15 fotogrammi (per movimenti di camera molto lenti possiamo arrivare a anche a uno ogni 20 o 30). Esiste una funzionalità di Cinema4D pensata appositamente per questa fase, che ci permette di fare dei salti sulla timeline: si chiama Frame step, in italiano Passo fotogramma. Se questo parametro è a 1 (impostazione di default) vengono renderizzati tutti i fotogrammi, uno per uno; se lo impostiamo a 10 verrà renderizzato un fotogramma ogni 10.
In funzione della velocità della vostra camera scegliete il Frame step, se volete andare sul sicuro non salite oltre i 10. L'opzione Passo fotogramma si trova nella scheda Output e non nei settaggi di render di Vray. Sempre nella scheda Output, subito sopra il passo fotogramma ricordate di impostare Gamma fotogramma su Tutti i fotogrammi.
2.3 LANCIARE IL RENDER
Ora possiamo dare il via al calcolo di rendering che produrrà un fle in cui saranno salvati i dati che ci serviranno per il passaggio fnale.
3. FINAL PASS
Alla fine di questo calcolo troveremo - nel percorso di salvataggio che abbiamo specifcato in precedenza - il nostro Multiframe file. Siamo pronti per procedere con l'ultimo step.
3.1 DISATTIVARE IL SECONDARY BOUNCE
Torniamo nel tab della GI, nel rollout General e impostiamo l'opzione Secondary Bounces su None.
3.2 CARICARE IL MULTIFRAME FILE
Sempre nel tab della GI, andiamo nel rollout dell'Irradiance map e cambiamo l'Irradiance map mode da Multiframe incremental a From file. Nel campo Load File dovremo inserire il nostro Multiframe file generato durante il Bake.
3.3 RIPORTARE IL FRAME STEP a 1 e DISATTIVARE "Don't Render Final Image"
Siamo pronti per lanciare il rendering finale, e produrre la serie di fotogrammi che potremo infne salvare in formato video. Prima di farlo però dobbiamo riportare il Frame step a 1 e disattivare l'opzione Don't render final image.
3.4 LANCIARE IL RENDER
Se osservate la finestra di render durante il calcolo dei fotogrammi vi accorgerete che il calcolo inizia subito dalla fase di render, questo perché tutti i passaggi iniziali sono stati già calcolati durante il Bake e memorizzati nel Multiframe file.
A questo punto non ci resta che salvare i nostri fotogrammi in formato video, per farlo è sufficiente andare su "File > Salva come..." dal menu del Visualizzatore immagini, e impostare queste specifiche:
Grazie per il lavoro che fai per noi ;)
RispondiEliminaGrazie! Ciao!
RispondiEliminaCome sempre ottimo post, arrivato proprio quando serviva! grazie!!
RispondiEliminaCiao.
Grazie
RispondiEliminaCiao Angelo, ho animato una barca e prendendo come riferimento il tuo tut ho renderizzato il progetto. Nelle prove di render che ho fatto prima di procedere con il render dell'animazione finale andava tutto bene. Nel momento in cui, però, nei settaggi passo dai valori miei a quelli del preset (05/07 medium/high animation), si visualizzano delle vistose macchie nere sulla mia barca. Giusto per info la barca è un file di archive 3d.net.
RispondiEliminaMi puoi aiutare?
Grazie mille in anticipo.
Antonio
Posta un'immagine così posso capire meglio di che si tratta.
EliminaCiao Angelo, in pratica nel week-end ho provato più volte a risolvere il problema. In realtà ho notato che seguendo passo dopo passo il tuo tut, renderizzando tutta la scena (nel mio caso 63 fotogrammi), si presenta il problema delle macchie sulla barca, mentre, se renderizzo tipo i primi 5 frame, la scena non presenta problemi. Può essere secondo te un problema di bake della GI?
RispondiEliminaComunque adesso ti invio sulla tua mail le immagini così puoi capire meglio di cosa stiamo parlando.
Grazie mille, Antonio
Potrebbe essere, però mi sembra strano.
EliminaSei un genio!..se non sono indiscreto vorrei sapere il motivo che ti spinge a fare questi ottimi tutorial?
RispondiEliminaQuando ne avevo bisogno nessuno mi ha mai spiegato queste cose in maniera lineare né nei forum né nei manuali/libri, ho dovuto sempre scoprire i metodi sulla mia pelle, e quindi ho pensato che potessero servire a qualcun'altro in futuro. E poi scrivere mi aiuta anche a tenermi in allenamento! molte volte vado a rileggere io stesso un mio articolo, perché non ricordo bene i procedimenti!
EliminaHo anche io un problema simile a quello di Antonio: sto realizzando un video in cui delle colonne vertebrali trapassano un soffitto per schiantarsi sul pavimento di un corridoio infinito come una pioggia (è per un esame), il problema è che mi si verifica questa situazione --> http://d.pr/i/juSS <-- , sul pavimento, e in alcuni casi anche sul soffitto, si vedono delle macchine nere in prossimità di dove si andranno a schiantare e rimanere i miei oggetti, come dei "bersagli" che anticipano dove andranno a cadere. Ho provato a nascondere tutto e a lasciare solo il piano, e si vedono lo stesso!! A questo punto credo derivi dal file di irradiance map che ho preparato, il punto è che ho seguito la procedura passo dopo passo, tu sai darmi qualche idea? Potrei aggiustare tutto in after ma impiegherei una vita !
RispondiEliminaI settaggi illustrati in questo tutorial sono validi per animazioni camera, ovvero progetti in cui oltre alla telecamera non si muove nient'altro. Se nel tuo progetto ci sono oggetti che cadono su un piano questi settaggi non saranno sufficienti per pulire i rendering dal Flickering. In quel caso dovrai usare Brute Force + Brute Force come coppia nei settaggi di render (al posto di Irradiance Map e Light cache) e renderizzare frame dopo frame senza spezzare in due il procedimento.
EliminaCercavo da tempo la spiegazione del workflow di un'animazione passando da C4D + Vray ad After Effect. Aspetto gli ultimi due articoli di questa serie e ti ringrazio per tutto il lavoro che fai nel Blog, complimenti.
RispondiEliminaSei un grande Angelo ho quasi finito di leggere e mettere in pratica la tua guida che trovo perfetta nei minimi dettagli ed utilissima, sono un ragazzo di 20 anni mi sono affiancato all attivita di mio padre che ha uno studio fotografico e montaggio video, mi sto appassionando alla computer grafica 3d è buona parte merito tuo se ancora persisto nel studiarla, dato il fatto che per raggiungere buoni risultati ci vogliono anni di esperienza...Pero da una parte mi sento come una barchetta in un oceano pieno di navi e transatlantici pronti a speronarti...( scusa il mio triste paragone, pero intendevo dire che l'oceano vasto è il campo della computer grafica e le varie navi sono ormai le tante aziende consolidate che non ti permetteranno mai di salire a bordo data la loro incredibile maestosità e complessità) e quindi per finire volevo dire che mi sento un po scoraggiato e con poche buone speranze per questo campo dato che non sono ne un architetto ne un designer ne tanto meno un' animatore. Comunque continuerò a seguirti e sarai sempre una persona che stimerò!!!!
RispondiEliminaMa perche viene disattivata la light cache prima di renderizzare l'animazione? e forse gia contenuta nel file multiframe creato nella fase di bake?
RispondiEliminaIl Bake la calcola in una fase preliminare, quindi durante l'ultima fase non va ricalcolata (e quindi può essere disattivata).
EliminaCiao!
RispondiEliminaSeguo i tuoi tutorial da quando all'università abbiamo cominciato ad usare C4D+vray , ormai un paio d'anni.
Ho sempre fatto semplici animazioni ma ora mi trovo ad animare un'architettura, vale a dire: con camera fissa ho un paio di mobili che si aprono/chiudono e soprattutto ho le ore del giorno che passano cambiando ombre e colore della luce.
Per fare questa cosa ho utilizzato un Physical Sun (con un physical Sky).
La scena è piuttosto semplice: è un interno con una finestrone aperto, una scatola di legno (un po' di bump e specular), con pareti in policarbonato (in pratica un vetro con una bump), subito all'esterno dei cilindretti che ricordano il bamboo e che fanno da tenda per il sole.
Poichè il render che devo fare è interno credo mi possa alleggerire la scena sostituire il bamboo esterno con una semplice maschera nero/trasparente , tanto la tridimensionalità di quegli elementi non si apprezza da dentro.
Comunque, anche senza legnetti accesi, i tempi di render sono prolissi, biblici.
Che accorgimenti mi consigli di adottare e che settaggi di render mi consigli di tenere per avere dei tempi di render umani nei limiti di una qualità decente (i render usciranno a 1280x720). Non volevo salire sopra i 20min a render. Ora quando lancio il render vedo i processori che fanno un sacco di pass prima di terminare il calcolo.
Su indirect illumination ho scelto il presettaggio classic chaosgroup setups "05_IR-LC_medium [animation]". Brimary bounces "irradiance map", secondary bounces "light cash".
Indirizzami!
Grazie
Giulia
Non è facile tenere bassi i tempi di render e al tempo stesso conservare una buona pulizia nell'immagine, perché il rapporto dipende da tanti fattori (luci, complessità del modello, movimenti camera e oggetti, tipo di materiali e quantità di riflessioni/rifrazioni, risoluzione finale dei render...). I preset inoltre ipotizzano il tipo di progetto di cui ti stai occupando e ti offrono una soluzione generalizzata che spesso non tiene conto della potenza della tua macchina (perché non la conosce). Per questo non amo usare i preset. Oltretutto il numero di prepass lo sceglie il preset perciò sei vincolata anche su questo aspetto. La cosa migliore, come ho scritto in altri commenti) quando si anima un po' tutto, è usare Brute Force + Brute Force al posto della coppia classica Irradiance Map + Light cache. I tempi salgono ma il Flickering diminuisce (o sparisce totalmente), a fronte di tempi di render più impegnativi (che però dipenderanno dal valore Subdivisions della Brute Force.
EliminaCiao Angelo,
RispondiEliminainnanzitutto grazie per tutto quello che metti a disposizione. In secondo luogo, vengo al punto. Sto producendo un video da 1 minuto a 30 fps (dimensioni 1920x1080) con camera e oggetti in movimento. Inutile dirti le insidie che tutto ciò porta con sé... Ho riscontrato vari problemi che sto cercando man mano di risolvere ma ce n'è uno che ancora non so come gestire: avendo questa mole di render da fare, ho pensato di frazionare il lavoro in maniera da non lasciare il mio computer a renderizzare ininterrottamente per un mese e per poter, di tanto in tanto, fare un controllo di quello che viene fuori. La mia domanda è: il file multiframe va generato tutto in una volta per l'intera lunghezza dell'animazione o posso suddividere anche quello? E se genero un unico file, poi il secondo passaggio (cioè la renderizzazione vera e propria) lo posso fare in diverse mandate (per esempio renderizzando 60 o 120 frame alla volta)?
Grazie e buona giornata
Simone
In animazioni oggetto lo scoglio più grande è eliminare il Flickering, che con questi settaggi non sempre sparisce perché sono validi solo per animazioni camera, ossia progetti in cui gli oggetti e le luci non si muovono di un millimetro. In ogni caso il Multiframe va generato in un colpo solo, ma i render dei fotogrammi possono essere fatti in più riprese in quanto attingono da un unico file e potrebbero essere prodotti anche saltando a caso sulla timeline.
EliminaNei casi in cui si muove un po' tutto (o anche solo un oggetto) credo che la combinazione migliore dei settaggi sia Brute Force + Brute Force anziché Irradiance Map + Light cache. Metodo facilissimo da impostare (basta scegliere un valore di suddivisioni di Brute Force e renderizzare frame dopo frame senza dividere il lavoro in "bake" e "final pass") che però ti mette di fronte a tempi di render più impegnativi e quindi il "pro" è la maggiore facilità nell'evitare Flickering o altri problemi, il "contro" è fare i conti con i tempi di produzione che si allungano.
Angelo
Ciao, innanzitutto grazie.
RispondiEliminaVorrei chiederti un'informazione, sto facendo producendo un filmato da 25 secondi a 25 fps di dimensione ( 1280x720) di una camera che si muove lungo un spline, ho seguito tutti i settaggi consigliati da te sia per quanto riguarda la parte di posizionamento della camera e della spline sia per la parte che riguarda l'avvio vero e proprio del render, vorrei sapere se è normale che durante la realizzazione del render veda sempre la solita immagine che si renderizza ( l'immagine è un vista dell'edificio che avevo nel momento che ho fatto partire il render, messa puramente a caso una volta sistemata tutta la parte dei settaggi ). al momento ho 115 file (non ancora salvati perché deve ancora finire di renderizzare il tutto ) sempre della solita immagine. i file vengono nominati automaticamente con un numero che va da zero a crescere ( 0,1,2,3 ecc ) accanto a ogni numero c'è un asterisco ( 0*, 1*,2*,3* ecc ) è normale? vedendo che ogni file realizzato fino ad ora è sempre la solita immagine non vorrei ritrovarmi dopo infinite ore di render con la solita immagine e quindi con l'impossibilità di creare il video.
Ti ringrazio, Andrea.
Se Cinema sta renderizzando sempre la stessa inquadratura forse è perché non hai attivato la telecamera. Accanto a ogni camera c'è un'icona di un mirino (target) nero, che una volta cliccato diventa bianco. Quando il mirino è bianco stai guardando attraverso l'occhi della telecamera. Se il mirino è nero sei fuori dalla telecamera perciò i render saranno tutti dalla stessa posizione.
EliminaCiao Angelo,intanto grazie.
RispondiEliminami sto cimentando per la prima volta sull'Animazione lungo un percorso con Cinema 4d è ho riscontrato un problema, quando vado a salvare il file in formato "Filmato Avi", il file risulta vuoto. Il problema puo essere dato anche dal fatto che nel Visualizzatore di immagini non tutti i miei 45 frame abbiano il pallino verde?
Grazie, Michael
Magnífico o seu trabalho. Pt
RispondiElimina