In questo breve tutorial vedremo come avviare dei rendering da riga di comando e, soprattutto, come avviare più rendering in successione da file diversi.



Trascrizione del video

Salve a tutti! In questo breve tutorial vedremo come avviare dei rendering da riga di comando e, soprattutto, come avviare più rendering in successione da file diversi.

Queste operazioni sono molto utili perché, se avete più rendering di file diversi da effettuare in sequenza, potete programmarne l'esecuzione in un unico file batch, senza dover controllare ogni volta che un rendering sia terminato per poter avviare il successivo, per cui potete avviare il file batch e andare a prendere un caffè o anche andare a dormire, a seconda della quantità di rendering da effettuare.

Il tutorial è stato registrato con la versione 4.2 di Blender, ma la singola riga di codice che consente di avviare i rendering da riga di comando ha la stessa struttura da diverse versioni del software e verosimilmente continuerà ad averla anche nelle prossime versioni.

Se avete un file blend provvisto di una telecamera virtuale attiva, potete avviare il rendering della scena da riga di comando, senza avviare una sessione di Blender con l'interfaccia, con la seguente riga di codice:

blender.exe -b scenepath.blend -o outputpath -s startframe -e endframe -a

Il rendering verrà effettuato con la risoluzione, il formato di file di output, la compressione e tutte le altre impostazioni così come sono specificate nel file blend. Ovviamente, dovremo sostituire alcuni parametri!

Dovremo infatti sostituire Scene Path con il percorso completo del file blend da renderizzare, comprensivo di estensione blend finale.

Allo stesso modo, dovremo sostituire Output Path con il percorso completo che dovranno avere i file renderizzati, specificando eventualmente un prefisso per i file. In questo caso, non dovremo specificare l'estensione del file o dei file da produrre in output.

Per quanto riguarda Start Frame ed End Frame, dovremo specificare ovviamente il primo e l'ultimo frame da renderizzare nella sequenza.

L'opzione -a alla fine indica a Blender di utilizzare le impostazioni presenti nel file da renderizzare.

A video sto mostrando un esempio di rendering di animazione avviato da linea di comando.

Passiamo adesso al secondo argomento di questo tutorial, ovvero come avviare più rendering in successione mediante un file batch.

In un tutorial pubblicato precedentemente sul canale ho mostrato un'altra applicazione batch da linea di comando, che consentiva in particolare di esportare in formato fbx i modelli presenti nei file blend disponibili in una cartella, specificando inoltre le modalità Copy Attributes ed Embedded per le Textures dei Material PBR. Se questo ed altri tutorial su Blender vi interessano, lasciate un Like o un commento al video e, soprattutto, iscrivetevi al canale, così da non perdervi i prossimi!

Per renderizzare in successione più file Blender, è sufficiente creare un file di testo ed inserire le istruzioni che consentono di renderizzare i file blend, una per riga.

Questo file di testo può essere creato con applicazioni come Blocco Note o altri editor testuali, ma la cosa importante è che dovrà avere la giusta estensione. In ambiente Windows, come quello che sto utilizzando per questo esempio, l'estensione dovrà essere bat, che è l'abbreviazione di batch. In ambienti Linux o Mac, i file creati saranno di tipo shell e avranno tipicamente l'estensione sh.

A video sto mostrando proprio come vengono renderizzati in successione più file blend, ciascuno con le proprie impostazioni, a partire da un singolo click sul file batch.

Più in generale, per scoprire quali sono gli argomenti con i quali è possibile avviare blender da linea di comando, digitate blender -h oppure blender --h e premete Invio.

Prima di chiudere il tutorial, vediamo come avviare più file batch in successione da un unico file batch!

Questa è una cosa che mi capita di fare quando creo i miei Assets e devo realizzare, per ciascun Asset, i rendering a partire dai file delle scene, dei wireframe e dei turntable. Per ogni Asset creo quindi un file batch che si occupa di avviare i singoli rendering di quel progetto. Se realizzo più Asset, ho quindi più cartelle ciascuna con il suo file batch.

In questi casi, mi concentro sulla sola realizzazione degli Assets mentre sono al pc, dopodiché lancio tutti i loro batch in successione quando non sono al computer, ad esempio di notte o nei weekend. Si tratta di un buon metodo per ottimizzare il lavoro.

Anche in questo caso è necessario creare un file batch da un nuovo file di testo, ma rispetto all'avvio dei singoli rendering, effettuati eseguendo blender all'interno del file batch, qui dobbiamo utilizzare un'istruzione particolare, chiamata Call.

Questa istruzione è necessaria per eseguire più file batch in sequenza, perché senza questa istruzione l'esecuzione dello script terminerebbe subito dopo l'esecuzione del primo file batch contenuto al suo interno.

In breve, se dovete eseguire più rendering da un solo file batch non ci sono problemi, ma se volete eseguire più file batch da un altro file batch, allora dovete utilizzare l'istruzione Call.

Non ci metto la mano sul fuoco, perché non uso quegli ambienti, ma credo che nei file shell per Linux e Mac OS non sia necessario utilizzare istruzioni particolari per avviare più file shell esterni in sequenza.

Per completezza d'informazione, aggiungo che sostituendo l'istruzione start all'istruzione Call in questo file batch, in ambiente Windows, potete far partire i processi in parallelo anziché in maniera sequenziale, tuttavia nel caso specifico dei rendering non vi consiglio questa opzione.

Bene, per questo breve tutorial è tutto! Spero vi sia stato utile! A presto!

Cerca nei Tutorial

Cerca inserendo una frase o più parole chiave, separate da virgole.

Modelli 3D, tutorial e risorse di computer grafica di Francesco Milanese. Le licenze d’uso dei modelli 3D sono acquistabili tramite gli store esterni indicati nelle rispettive pagine, secondo le condizioni di licenza applicabili. Francesco Milanese — Partita IVA: 06321250877. Contatti: info@francescomilanese.com


INFORMATIVA ESTESA SULL'UTILIZZO DEI COOKIES