Jak renderować modele 3D jako grafikę wektorową SVG? (rzut płaski)


12

wprowadź opis zdjęcia tutaj

Ten obraz ( oryginalny SVG z Wikipedii , domena publiczna) został utworzony przy użyciu następującej procedury:

  1. Utwórz model 3D w Google Sketchup
  2. Eksportuj jako plik PDF
  3. Importuj w Inkscape
  4. Zapisz jako SVG

Czy istnieje prosty sposób na stworzenie takiej SVG z oprogramowaniem, które działa (natywnie) na Ubuntu? ( Pantograph , wtyczka Blendera, ma tylko uszkodzone linki do pobrania; VRM , inna wtyczka Blendera działa z Belnder 2.4x, ale nie z Blenderem 2.6x.)


Cóż, to wszystko kwestia cieni i świateł .. nie trudność, a Inkscape ma narzędzie 3D, tylko prostokąt.
Uri Herrera

To kwestia światła, cieni i perspektywy. Jest to dość trudne w Inkscape, chyba że wszystkie twoje obiekty są prostokątne i wyrównane z osiami izometrycznej siatki Inkscape („3D”).
Jan

Odpowiedzi:


6

Masz dwie opcje:

opcja 1

Pierwszy wymaga najnowszych wersji Blendera (dostępnego w Graphicall ), który może teraz korzystać z silnika renderującego Freestyle

Freestyle to oprogramowanie do nierealistycznego renderowania rysunków liniowych ze scen 3D.

W Freestyle istnieje wtyczka SVGWriter , która może zapisywać sceny Blendera na SVG. Instrukcje użytkowania są dostępne na tej stronie. Poniżej znajduje się przykład jego wyników:

Oryginalny render Blendera: wprowadź opis zdjęcia tutaj

Wyjście Freestyle SVG: wprowadź opis zdjęcia tutaj

Freestyle jest wciąż w fazie rozwoju i możesz śledzić jego postępy na swoim blogu .

Program zapisujący nieruchome obrazy SVG w SVGWriter obecnie renderuje tylko jeden obraz, tzn. Nie można renderować każdej ramki w formacie SVG. W tym celu przepisałem skrypt, a autor poinformował mnie, że moja modyfikacja zostanie zintegrowana z głównym plikiem do pobrania w przyszłej aktualizacji. Oto modyfikacja

Opcja 2

Druga opcja pozwala tylko renderować krzywe Béziera. Najpierw musisz zainstalować svgwrite dla Pythona 3. Możesz to zrobić, przechodząc do folderu i uruchamiając

sudo python3 setup.py install

Może być konieczne skopiowanie folderu svgwrite do pliku .blender / numer_wersji / python / lib / python3.2 /

Następnie musisz pobrać SVGwriter dla Blendera. Zainstaluj Git, a następnie uruchom

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

W pobranym folderze będziesz musiał skopiować skrypty Pythona (te z rozszerzeniem .py) i zastąpić te znajdujące się w ./blender/[version_number]/scripts/addons/io_curve_svg/ lub w / usr / lib / blender / scripts / addons / io_curve_svg /.

Na koniec w Blenderze narysuj krzywą Beziera, a następnie przejdź do Plik> Eksportuj> SVG. Oto przykład wyniku

Oryginalna krzywa Blendera wprowadź opis zdjęcia tutaj

Wyjście SVG. Grubość linii została zwiększona dla przejrzystości wprowadź opis zdjęcia tutaj


1

Istnieje wiele darmowych wtyczek do Sketchup, a jedna z nich robi to, czego potrzebujesz, i nie musisz kupować Sketchup pro. Nawiasem mówiąc, jest również w stanie eksportować wiele rodzajów formatów 3D za pośrednictwem bezpłatnych wtyczek. Sprawdź swoje informacje przed udzieleniem złej porady CS Cameron

Oto strona wtyczki w celach informacyjnych


Dobrze wiedzieć. Jaka szkoda, że ​​Google nie tworzy wersji dla Linuksa. Spróbuje z VirtualBox.
Jan
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.