folkertdev / freestyle-svg-exporter

a Blender addon for exporting stylized lines created by the Freestyle render engine to an SVG format.
54 stars 18 forks source link

Output SVG's have many open paths #12

Closed EtagiBI closed 5 years ago

EtagiBI commented 5 years ago

Hello,

I try to use Freestyle SVG Exporter to create SVGs for my models and then paint them in another program. Unfortunately, every single output file exported via Freestyle is a mess of open paths, so it's almost impossible to paint these SVG without leaving some tiny white stripes, curves, etc.

Should I change exporting settings or something?

Examples (blend + output SVG): https://ufile.io/snfeq

folkertdev commented 5 years ago

In general this is really hard to do, the freestyle lines can be broken up into many separate segments and joining the closest two endpoints can give weird errors.

For your use case it would generally be fine to attempt closing a path (by connecting to the closest endpoint)? Can you show the issues you experience when painting?

EtagiBI commented 5 years ago

Thanks for a quick reply!

Here's the result of painting: https://svgshare.com/s/8Wj

All those white spots are actually hundreds of individual lines, so it's impossible to just fill them with a bucket tool...

I also tried exporting SVGs with fills option turned on, but i didn't helped much. Freestyle is a popular addon, so I beleive some people encounteres similar problems and presumably solved them somehow.

folkertdev commented 5 years ago

I'm not quite sure what you mean with "all those white spots", to me there is only one white spot where the svg fill breaks down.

A possible "fix" here is to only render the contour, and use that for the fill and then overlay the rest of the lines. For instance the eyes shouldn't generate a fill in your example, so taking only the contour edges into account should help there.

EtagiBI commented 5 years ago

Your solution with contour rendering works almost perfectly for this particular model, however, for many other models this type of rendering generates very poor images.

Sigh I'm quite sceptical about the whole idea of automatic SVG rendering now. Every model has its nuances, so it's almost impossible to explain a 2D exporter what should be exported and what shouldn't.