Versione 1.0
Net Render : il rendering distribuito di Cinema 4D su PC/MAC
.
Il rendering di un animazione comporta un notevole dispendio di calcolo , anche se si utilizzano sistemi dual processors (doppio processore). Net Render è il modulo presente in Cinema4D dedicato al rendering distribuito, un metodo di rendering troppo poco sfruttato anche da chi ha la fortuna di avere una piccola rete di PC/Mac domestica. Il Network Rendering è la procedura che distribuisce e organizza i fotogrammi di un animazione su più macchine contemporaneamente. In questo tutorial affronteremo i dettagli di configurazione scendendo nello specifico e soprattutto analizzando l’estrema potenza e flessibilità di questa vera e propria metodologia di lavoro. E’ necessario fare una premessa e alcune piccole considerazioni, analizzando la struttura di una rete (LAN = Local Area Network). Nel nostro caso vogliamo renderizzare una semplice animazione realizzata con Cinema4D 8.1 sfruttando una rete (con indirizzi IP di rete segnalati a fianco) composta da : • • •
Workstation Dual Athlon (Windows XP) con indirizzo 192.168.1.1 Workstation Dual Pentium (Windows XP) con indirizzo 192.168.1.2 iMac G4 (Mac OS X v10.1.4) con indirizzo 192.168.1.4
E’ stato volutamente inserito un sistema Mac per confermare uno dei vantaggi che il pacchetto NetRender di Cinema4D ha sui concorrenti ovvero la capacità di sfruttare sistemi operativi diversi contemporaneamente , dovuta unicamente al fatto che Cinema4D funziona su Mac OS e Windows. Anche il vostro piccolo G4 può darvi quindi una mano non indifferente!
Cinema4D Hotline
- Realizzato da Matteo Sacco – email staff@c4dhotline.it – www.c4dhotline.it @2003
1
Versione 1.0
Client e Server : questi sconosciuti…
.
Tecnicamente NetRender è suddiviso in due moduli: Client e Server. La differenza , per chi non la sapesse già, è che i client devono essere lanciati su ogni macchina che partecipa al nostro Network Rendering, mentre il server viene unicamente lanciato sulla macchina che gestirà il nostro lavoro (lo chiameremo Job , il termine corretto). Nella directory principale di Cinema4D troverete questi due files. Lanceremo più avanti sul nostro doppio Athlon il server, e successivamente ogni client su tutte le macchine (compreso il doppio Athlon).
Cinema4D directory
Configurazione Client e Server
2
Esistono pertanto due files , client e server, entrambi configurabili dal proprio menu File > Network Setting delle proprie finestre o per i più esperti nei singoli files client.ini e server.ini che trovate sempre nella stessa cartella (sono files di configurazione che vengono creati quando usate il pannello Network Setting appena citato). Utilizzate quello che più vi aggrada, ma considerate che ogni intervento sovrascrive l’altro. Ragioniamo ora come se fossimo in un’azienda. Avete il vostro job da renderizzare , utilizzando i pc/mac dei vostri colleghi , ma per motivi di sicurezza volete impostare una password in modo che solo i client configurati con questa password possano essere impegnati nel lavoro. Apriamo prima il server sulla workstation possibilmente più veloce e configuriamo le impostazioni in File > Network Setting. • • •
•
Indirizzo = 192.168.1.1 (quello del server) Porta = Lasciate quella di default. Vi servirà dopo per accedere al vero e proprio Centro di Controllo del rendering. Password = E’ la password che decideremo di impostare solo sulle macchine che accederanno al nostro rendering distribuito. Diciamo la password principale del nostro Job Altre opzioni = Lasciatele come da figura, e comunque non dovrebbero essere per voi molto difficili da comprendere al termine di questo tutorial
Apriamo un client su ogni macchina e compiliamo i campi richiesti in File > Network Setting. • • • • •
Indirizzo Server= 192.168.1.1 (quello del server) Porta Server = Utilizzate quella settata nel server (8080) Indirizzo Client e Porta Client= Potete lasciare le impostazioni come in figura. Password = La password che avete scelto nel server. Informazione Client = ad esempio “iMac G4” a seconda della macchina. Inserite una breve descrizione in modo che nella gestione del Job (vedremo più avanti) sia più semplice identificare le singole macchine. Immaginate di essere in un ufficio e capirete l’importanza di associare un nome ad una macchina.
Cinema4D Hotline
- Realizzato da Matteo Sacco – email staff@c4dhotline.it – www.c4dhotline.it @2003
2
Versione 1.0
Volevo parlarvene all’inizio del tutorial ma mi è sembrato più corretto inserire a questo punto una piccola spiegazione su come lavora il network rendering. Quando il nostro job viene lanciato, il server distribuisce inizialmente una porzione di fotogrammi ad ogni macchina , ma accade che una macchina sia più lenta di un' altra e di fatto il server riassegna mano a mano che passa il tempo più fotogrammi ad una macchina veloce e meno ad una macchina lenta. Il risultato è analogo anche su altri sistemi di rendering distribuito dove accade una cosa leggermente diversa ma col medesimo risultato: il primo fotogramma viene assegnato alla prima macchina, il secondo ad un'altra e cosi via fino a che tutte le macchine sono occupate. A questo punto la prima che si libera riceve in ordine, il primo fotogramma da elaborare non ancora assegnato e così via. In parole povere ci troveremo sempre e comunque lo stesso risultato. La macchina più veloce avrà macinato piu’ fotogrammi rispetto a quella più lenta, ma tutte avranno dato il loro contributo per velocizzare il rendering della nostra animazione e soprattutto lavorando in parallelo. Prepariamo Cinema4D e la nostra rete…
.
Lanciamo quindi come nello schema all’inizio di questo tutorial, prima NetRender SERVER sulla macchina 192.168.1.1 e successivamente tutti i client su ogni macchina della nostra rete (ricordatevi anche quella appena citata che funge da server) ottenendo questa segnalazione sulla finestra del server. Come potete semplicemente macchina hanno e aspettano solo
notare il sistema vi sta informando che tutte le un client attivo, sono collegate il vostro file .c4d.
Abbiamo creato una semplice scena in Cinema4D 8.1 , che potrete scaricare online direttamente da questo tutorial. L’abbiamo appesantita leggermente con un illuminazione avanzata (radiosity) giusto per darvi il tempo di notare come si comportano le macchina analizzando fotogrammi non troppo velocemente. Il formato di Uscita ed il pannello di NetRender
.
Net Render sta aspettando il nostro file .c4d. Configurate il formato di uscita nel pannello Rendering del file (possono essere fotogrammi o animazione singola). Ricordate che per quanto riguarda l’animazione tutti i computer che partecipano al rendering distribuito devono aver installato lo stesso compressore video. Vi ricordate del parametro PORTA trovato nel file di configurazione di NetRender Server? Bene, provate ora ad aprire il vostro browser sulla macchina che fa da server, scrivendo nel vostro navigatore questo “strano” indirizzo web: http://192.168.1.1:8080
Cinema4D Hotline
- Realizzato da Matteo Sacco – email staff@c4dhotline.it – www.c4dhotline.it @2003
3
Versione 1.0
dove 192.168.1.1 è l’indirizzo del nostro server mentre 8080 dovrebbe essere uguale al parametro PORTA. State semplicemente segnalando al vostro server di “visitare” questo strano indirizzo o meglio di collegarsi via web a se stesso, tramite una porta ben precisa che vi catapulterà all’interno di NetRender vero e proprio. Viene tutto gestito da qui, con un interfaccia HTML/PHP/ASP (i linguaggi utilizzati per la realizzazione dei siti web). Dopo aver inserito il nome utente (login) e password che avete precedentemente settato nei parametri Network Setting del server, accederete ad un pannello con tre sezioni : JOBS , CLIENTS e USERS.
Sezione JOBS____________ La sezione jobs
. In questa prima zona troviamo la coda dei lavori (Render Queue) e quella dei lavori inattivi (Inactive Jobs) ovvero quei jobs che richiedono ad esempio di essere confermati e successivamente lanciati nella coda di rendering . Create New Job è il comando che serve proprio a noi. Ricordate il nostro file .c4d che vogliamo sia sottoposto a rendering distribuito? Lo abbiamo chiamato netrender.c4d. Prima, diamo un nome al job , esempio “Sfera Netty”, clicchiamo su Create New Job inserendo il lavoro nei Job inattivi. Noterete apparire i comandi Start , Clear e Delete per intervenire sul job stesso.
Cinema4D Hotline
- Realizzato da Matteo Sacco – email staff@c4dhotline.it – www.c4dhotline.it @2003
4
Versione 1.0
A questo punto cliccate sul nome del Job (il campo Progress è ovviamente ancora a 0%) ed accederete alla zona UPLOAD dove nella parte SINISTRA inserirete i file .c4d che dovranno essere SEQUENZIALMENTE processati mentre nella parte DESTRA non dovrete per il momento fare nulla perchè si riempirà nel corso del rendering. Nel nostro caso (come vedete in figura inseriamo solo il nostro file netrender.c4d.
La zona upload
La zona destra vi mostrerà i risultati finali sia che siano fotogrammi o filmati AVI, Quicktime, etc. Vedremo poi alla fine come utilizzarla al meglio... Tornate alla sezione JOBS e cliccate su START. Il lavoro è partito! Una volta partito il lavoro potrete notare in questa sezione lo stato di avanzamento lavori ed il carico sulle varie macchine che partecipano al rendering.
Sezione CLIENT __________
.
Come potrete notare , grazie alle descrizioni dei computer inserite nella configurazione dei client, è molto semplice monitorare il lavoro che sta procedendo inesorabilmente mostrandovi: Indirizzo IP delle macchine, Descrizione, Stato e Nome JOB, Utente ma soprattutto Stato e Anteprima dei fotogrammi.
Cinema4D Hotline
- Realizzato da Matteo Sacco – email staff@c4dhotline.it – www.c4dhotline.it @2003
5
Versione 1.0
A questo punto capirete anche che il vantaggio di NetRender è che in caso di crash di una di queste macchine il lavoro procederà senza problemi anche senza l’ausilio di quest’ultima (vedi colonna STATE), oltre a distribuire i fotogrammi e sfruttare potenza e velocità di calcolo di altri computer in rete.... Il risultato è controllabile nella parte Destra del pannello UPLOAD-DOWNLOAD ma io vi consiglio di posizionarvi all’interno della cartella users di Cinema4D dove troverete tutti i vostri fotogrammi e filmati, dopo una formidabile sequenza di NetRender utilizzando PC e MAC contemporaneamente... Al prossimo tutorial e grazie per l’attenzione, ricordandovi inoltre che questa versione è aggiornabile con i vostri commenti come tutti i nostri tutorial.
Matteo Sacco
Amministratore di C4Dhotline.it Supporto finale e Crediti___
. Scritto da : Matteo Sacco Traduzione Inglese : Laura Piretti Web : http://www.c4dhotline.it Mail : mailto:staff@c4dhotline.it
(dove potrete trovare altri tutorial ufficiali su Cinema4D) File : http://www.seikworld.com/cinema/netrender.c4d
Cinema4D Hotline
- Realizzato da Matteo Sacco – email staff@c4dhotline.it – www.c4dhotline.it @2003
6