PDA

Visualizza Versione Completa : Tempi di calcolo crescenti da frame a frame



happymilk
29-02-12, 15:19
Ciao a tutti
non sono esperto di animazioni (per la maggior parte del tempo creo stilllife) per cui non so se il problema che sto affrontando è di banale risoluzione o se è una cosa con la quale devo convivere.
Spiego:
Ho un'animazioncina semplice semplice (250frame) dove c'è un pò di movimento (un leggero pan della camera, un personaggio che cammina e una porta che si apre).
il tutto è calcolato con radiosity montecarlo con attivata la cache (preprocess auto) e attivata anche la flag per la cache animation (per i movimenti di cui sopra).
Il problema è che si è passati dal minuto e poco più del primo frame ai 10 minuti e passa del duecentesimo e prevedo che quando arrivo alla fine saranno diventati 15 se non 20.

Dato che il tempo per il calcolo radiosity è cresciuto molto poco in 200 frame (passando da 55" a 80") mi chiedo il perchè invece il processo di resa è diventato così lento. Credevo che l'opzione "animation" sul pannello GI avesse effetti peggiorativi sul calcolo della GI e non sul calcolo del frame.

E' tutto normale o ho sbagliato qualcosa? e se è tutto normale... c'è un modo per uniformare i tempi di calcolo da un frame all'altro senza incappare nel flikering? (vorrei tentare di rimanere con la GI attivata)

Grazie

Galvo
29-02-12, 15:27
Purtroppo dai test che ho svolto è meglio lasciare stare la gi cached per i deforming objects..
Ci sono vari metodi per rimediare a questa situazione, quello che sto usando ultimamente è utilizzare interpolated radiosity con gli rpe altissimi, tipo 3000, abbassare la gi resolution al 50% ed aiutarsi con aa/aps.
Inoltre San Pontonnier ci ha dato Denoiser che per la gi può essere immensamente utile!

happymilk
29-02-12, 15:38
Grazie Galvo
farò una prova con i tuoi settaggi...
Quindi il problema risiede tutto nell'attivazione del flag "animate" della GI giusto?

Galvo
29-02-12, 16:34
Esattamente! Dai miei test i tempi aumentano davvero di parecchio.. in alcune test scenes ho passato i 10x :argh:

Wotan3d
29-02-12, 17:11
E' del tutto normale, funziona esattamente così.
C'è una bella guida sul radiosity che spiega il motivo tecnico (ma non ricordo il link, la trovi facilmente in forum credo) e ti devo dire: fortuna che è così!!!

Io adoro la cache, quindi la uso sempre (tranne rari casi che mi provoca strani effetti) anche se Lino mi consiglia diversamente, ma quel suo diversamente mi causa tantissimi problemi oltre a non trovare l'efficienza dei tempi di calcolo che lui mi dice.

Comunque, i tempi aumentano perchè aumenta costantemente la precisione sui singoli oggetti visualizzati in più frame, vale a dire che più i tuoi movimenti sono ridotti più i tempi aumentano perchè aumenta la densita dei punti che ogni frame vengono calcolati sull'oggetto, se ne aggiungono sempre......(so come funziona ma non lo so spiegare a parole semplici), 'nsomma, il radiosity è di frame in frame più preciso.
Infatti meglio partire con tolleranze alte in quanto si assottigliano di frame in frame.

Io ho risolto in questo modo:

render frame 1 - 75
cancello la cache
cambio directory di output
render frame 50 - 125
cancello la cache
cambio dir
render 100 - 175
e così via

poi monto dissolvendo gli ultimi 25 frame di una sequenza nei primi 25 di quella successiva, in modo che le differenze siano dissolte e non visibili e ne risulta un'animazione perfetta ma con tempi di calcolo accettabili, infatti 25 frame calcolati in più ogni 75 frame sono niente paragonati all'aumento smisurato nei tempi di render che hai se calcoli dall'inizo alla fine.
(puoi fare sequenze di 100 frame, 125, vedi tu..)

Tutto questo discorso salta quando hai animazioni in cui la camera cambia inquadrature spesso: l'aumento dei punti si ha solo sugli oggetti che permangono nella scena da un frame all'altro, ma se cambiano sempre ci saranno nuovi punti ma nessuno vecchio.

Non sono stato molto chiaro, ma funziona così... fidati! ;)

Galvo
29-02-12, 18:22
Si certo lo so che funziona così :cool:
La guida a cui ti riferisci è quella di Except..
Comunque noi in produzione o non si utilizza la gi, o si usa il metodo che ti ho indicato sopra o altri simili, tipo renderizzare bg in hdr e characters in bg rad e poi via di comp..

happymilk
29-02-12, 19:33
Grazie ragazzi
Ottime spiegazioni e ottimi consigli.
Mi rimangono 20 frame e oramai me li calcolo così... ma se questa piccola demo avrà il successo che spero allora mi servirà d'ottimizzare un bel pò...
:)

Galvo
29-02-12, 19:47
Di nulla, in bocca al lupo allora! ;)

Roy Bellingan
24-06-13, 19:02
Un'altro trick e quello di fargli calcolare il radiosity ogni Tot fotogrammi...
Ad esempio con scene di panning lento un sample ogni 20 campioni è accettabilissimo...