in questo articolo vedremo come sovrapporre i profili generati da sketchup ai rendering creati con vue d'esprit:
la forza di sketchup è la rappresentazione non fotorealistica - uno stile di visualizzazione che descrive le forme in maniera pulita, concisa e semplice.
vue d'esprit è al contrario un programma che consente di eseguire dei rendering complessi con effetti ambientali, luci indirette ed effetti speciali.
immagine (cc) by-nc-sa matteo bignozzi 2010
il problema tecnico è quello di riuscire a sovrapporre e combinare esattamente le scene generate dai due programmi: è chiaro che farlo ad occhio è decisamente difficile e richiede pazienza.
fortunatamente, grazie ad un plugin ruby per sketchup scritto da alex jenyon si può esportare l'inquadratura di sketchup verso vue. questo plugin converte i parametri della telecamera informato python, che può venire letto da vue infinite.
purtroppo, le altre versioni di vue possono leggere solamente un tipo di codice python proprietario e quindi non sono compatibili con lo script di alex jenyon.
allora ecco qua un tutorial passo per passo per aggirare questo inconveniente:
- aprite o create un documento con sketchup ed impostate l'unità di misura in metri, avendo cura che la precisione sia settata al massimo, ossia che i valori delle coordinate vengano visualizzati con il maggior numero possibile di decimali dopo la virgola.
- trovate un'inquadratura che sia di vostro gradimento e dal menù "camera" selezionate la voce "current view to vue": si aprirà una finestra di dialogo per salvare lo script dove preferite; ora, questo è un file di testo che contiene le coordinate della scena, per cui se lo salvate con l'estensione .txt, potete poi comodamente leggerlo con notepad o qualsiasi altro visualizzatore di testo.
Una volta aperto il file si presenterà in questa maniera:
DeselectAll()
SelectByType(VuePython.VOT_Camera)
cam = GetSelectedObjectByIndex(0)
cam.SetPosition(6.92832947156056, -7.60016769849464, 0.233398265956593)
cam.SetRotationAngles(81.2160102689516, 0, 213.851779521111)
cam.Rotate(0, 0, 0.0, true)
a noi interessano solamente le righe evidenziate: la prima riporta tra parentesi le coordinate spaziali della telecamera, mentre la seconda riporta l'angolo di rotazione in angoli sessagesimali.
- aprite vue ed importate la scena di sketchup che avete precedentemente esportato: come al solito raccomando il formato .obj, dato che preserva le mappe delle texture. Per un tutorial ed ulteriori approfondimenti rimando a questo articolo.
- impostate le proporzioni tra altezza e larghezza dell'immagine in maniera che siano le medesime dell'inquadratura di sketchup.
a questo punto aprite il pannello relativo alla posizione telecamera (vedi illustrazione) e copiate la prima terna di coordinate, una alla volta: mi raccomando di sbloccare l'asse verticale altrimenti vue fissa la telecamera ad un'altezza di 30 m;
passate poi alla tabella della rotazione angolare della telecamera e inserite la seconda terna di valori in sequenza nei tre campi di input;
ecco, ci manca solamente la lunghezza focale (FoV): per fortuna il valore coincide per entrambi programmi. in sketchup il valore della lunghezza focale lo ricavate dal menù "camera" alla voce "field of view": in basso, nella stringa di input, comparirà il valore e non vi resta che copiarlo ed incollarlo in vue.
- se tutto è stato fatto correttamente la vista coincide in entrambi programmi: procedete al rendering con vue.
- ora non vi resta che mixare le immagini con un programma di foto ritocco: se non avete photoshop, lo fa egregiamente anche GIMP.
Buon divertimento :)
Molto interessante!!
RispondiEliminaNon appena ho 2 minuti ci provo!Complimenti!