040 | sketchup + vue: il meglio dei due mondi.



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:


  1. 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.
     
  2. 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.
     
  3. 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.
     
  4. impostate le proporzioni tra altezza e larghezza dell'immagine in maniera che siano le medesime dell'inquadratura di sketchup.


  5. 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.
     
  6. se tutto è stato fatto correttamente la vista coincide in entrambi programmi: procedete al rendering con vue.
     
  7. ora non vi resta che mixare le immagini con un programma di foto ritocco: se non avete photoshop, lo fa egregiamente anche GIMP.


Qui di seguito alcuni esempi:






immagini (cc) by-nc-sa matteo bignozzi 2009


Buon divertimento :)

Matteo Bignozzi

Disegno cose e trovo risposte :)

Se hai un sogno nel cassetto per la tua casa, un progetto per la tua azienda o per una campagna di comunicazione etica e indipendente, contattami per chiedere un parere.
Conosciamoci! La prima ora è gratuita.

1 commento:

pubblica la tua opinione qui