Come rendere i modelli 3D come grafica vettoriale SVG? (proiezione planare)


12

inserisci qui la descrizione dell'immagine

Questa immagine ( SVG originale da Wikipedia , dominio pubblico) è stata creata usando la seguente procedura:

  1. Crea un modello 3D in Google SketchUp
  2. Esporta come PDF
  3. Importa in Inkscape
  4. Salva come SVG

C'è un modo semplice per produrre un tale SVG con software che funziona (nativamente) su Ubuntu? ( Pantograph , un plug-in Blender, ha solo interrotto i collegamenti per il download; VRM , un altro plug-in Blender funziona con Belnder 2.4x, ma non con Blender 2.6x.)


Beh, è ​​tutta una questione di Ombre e luci ... non è difficile da fare, e Inkscape ha uno strumento 3D solo che è un rettangolo.
Uri Herrera,

È una questione di luce, ombre e prospettiva. Questo è abbastanza difficile da fare in Inkscape a meno che tutti i tuoi oggetti non siano rettangolari e allineati con gli assi della griglia isometrica ("3D") di Inkscape.
Jan

Risposte:


6

Hai due opzioni:

opzione 1

Il primo richiede una recente build di Blender (disponibile da Graphicall ), che ora può utilizzare il motore di rendering Freestyle

Freestyle è un software per il rendering di disegni non fotorealistici da scene 3D.

All'interno di Freestyle esiste un plugin, SVGWriter , che può scrivere scene di Blender su SVG. Le istruzioni per l'uso sono disponibili su quella pagina. Di seguito è riportato un esempio del suo output:

Rendering di Blender originale: inserisci qui la descrizione dell'immagine

Uscita SVG Freestyle: inserisci qui la descrizione dell'immagine

Il freestyle è ancora in fase di sviluppo e puoi seguire i suoi progressi sul loro blog .

Il masterizzatore SVG di immagini fisse in SVGWriter attualmente esegue il rendering di una sola immagine, ovvero non è possibile eseguire il rendering di ciascun fotogramma in un SVG. Ho riscritto la sceneggiatura per farlo e l'autore mi ha informato che la mia modifica verrà integrata nel download principale in un futuro aggiornamento. Ecco la modifica

opzione 2

La seconda opzione consente solo di eseguire il rendering di curve più bezier. Innanzitutto, devi installare svgwrite per Python 3. Puoi farlo andando nella cartella ed eseguendolo

sudo python3 setup.py install

Potrebbe essere necessario copiare la cartella svgwrite in .blender / version_number / python / lib / python3.2 /

Devi quindi scaricare SVGwriter per Blender. Installa Git ed esegui

git clone git://gitorious.org/blender-2-6-svg-export/blender-2-6-svg-export.git

All'interno della cartella scaricata dovrai copiare gli script Python (quelli che terminano con .py) e sovrascrivere quelli che si trovano in ./blender/[version_number[/scripts/addons/io_curve_svg/ o in / usr / lib / blender / scripts / addons / io_curve_svg /.

Infine, in Blender, disegna la tua curva più bezier e poi vai su File> Esporta> SVG. Ecco un esempio dell'output

Curva di Blender originale inserisci qui la descrizione dell'immagine

Uscita SVG. Lo spessore della linea è stato aumentato per maggiore chiarezza inserisci qui la descrizione dell'immagine


1

Esistono molti plug-in gratuiti per Sketchup e uno di questi fa esattamente ciò di cui hai bisogno e non è necessario acquistare Sketchup pro. A proposito, è anche in grado di esportare molti tipi di formati 3D tramite plugin gratuiti. Controlla le tue informazioni prima di dare scarsi consigli CS Cameron

Ecco la pagina del plugin per riferimento


Buono a sapersi. Che gocciolante Google non crea una versione Linux. Proverò con VirtualBox.
Jan
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.